Removed OpenTK.Compatibility
authorvaron <varon@users.noreply.github.com>
Fri, 15 Jul 2016 11:32:15 +0000 (13:32 +0200)
committervaron <varon@users.noreply.github.com>
Fri, 15 Jul 2016 11:32:15 +0000 (13:32 +0200)
112 files changed:
OpenTK.sln
Source/Compatibility/Audio/AudioReader.cs [deleted file]
Source/Compatibility/Audio/AudioReaderException.cs [deleted file]
Source/Compatibility/Audio/OpenAL/AL/AL.cs [deleted file]
Source/Compatibility/Audio/OpenAL/AL/ALEnums.cs [deleted file]
Source/Compatibility/Audio/OpenAL/AL/EffectsExtension.cs [deleted file]
Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionEnums.cs [deleted file]
Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionPresets.cs [deleted file]
Source/Compatibility/Audio/OpenAL/AL/XRamExtension.cs [deleted file]
Source/Compatibility/Audio/OpenAL/Alc/Alc.cs [deleted file]
Source/Compatibility/Audio/OpenAL/Alc/AlcEnums.cs [deleted file]
Source/Compatibility/Audio/OpenAL/Alut/Alut.cs [deleted file]
Source/Compatibility/Audio/OpenAL/Alut/AlutEnums.cs [deleted file]
Source/Compatibility/Audio/Sound.cs [deleted file]
Source/Compatibility/Audio/SoundData.cs [deleted file]
Source/Compatibility/Audio/SoundFormat.cs [deleted file]
Source/Compatibility/Audio/WaveReader.cs [deleted file]
Source/Compatibility/Fonts/DisplayListTextHandle.cs [deleted file]
Source/Compatibility/Fonts/DisplayListTextPrinter.cs [deleted file]
Source/Compatibility/Fonts/Glyph.cs [deleted file]
Source/Compatibility/Fonts/IFont.cs [deleted file]
Source/Compatibility/Fonts/IPrinterImplementation.cs [deleted file]
Source/Compatibility/Fonts/TextHandle.cs [deleted file]
Source/Compatibility/Fonts/TextureFont.cs [deleted file]
Source/Compatibility/Fonts/VboTextPrinter.cs [deleted file]
Source/Compatibility/Graphics/AlphaTexture2D.cs [deleted file]
Source/Compatibility/Graphics/GL/ErrorHelper.cs [deleted file]
Source/Compatibility/Graphics/GL/GL.cs [deleted file]
Source/Compatibility/Graphics/GL/GLCore.cs [deleted file]
Source/Compatibility/Graphics/GL/GLDelegates.cs [deleted file]
Source/Compatibility/Graphics/GL/GLEnums.cs [deleted file]
Source/Compatibility/Graphics/GL/GLHelper.cs [deleted file]
Source/Compatibility/Graphics/Glu/Glu.cs [deleted file]
Source/Compatibility/Graphics/Glu/GluCore.cs [deleted file]
Source/Compatibility/Graphics/Glu/GluDelegates.cs [deleted file]
Source/Compatibility/Graphics/Glu/GluEnums.cs [deleted file]
Source/Compatibility/Graphics/Glu/GluHelper.cs [deleted file]
Source/Compatibility/Graphics/GraphicsResourceException.cs [deleted file]
Source/Compatibility/Graphics/IGraphicsResource.cs [deleted file]
Source/Compatibility/Graphics/ITextPrinter.cs [deleted file]
Source/Compatibility/Graphics/RgbaTexture2D.cs [deleted file]
Source/Compatibility/Graphics/Text/CachedGlyphInfo.cs [deleted file]
Source/Compatibility/Graphics/Text/GL11TextOutputProvider.cs [deleted file]
Source/Compatibility/Graphics/Text/GL12TextOutputProvider.cs [deleted file]
Source/Compatibility/Graphics/Text/GL1TextOutputProvider.cs [deleted file]
Source/Compatibility/Graphics/Text/GdiPlusGlyphRasterizer.cs [deleted file]
Source/Compatibility/Graphics/Text/Glyph.cs [deleted file]
Source/Compatibility/Graphics/Text/GlyphCache.cs [deleted file]
Source/Compatibility/Graphics/Text/GlyphEnumerator.cs [deleted file]
Source/Compatibility/Graphics/Text/GlyphPacker.cs [deleted file]
Source/Compatibility/Graphics/Text/GlyphSheet.cs [deleted file]
Source/Compatibility/Graphics/Text/IGlyphCache.cs [deleted file]
Source/Compatibility/Graphics/Text/IGlyphRasterizer.cs [deleted file]
Source/Compatibility/Graphics/Text/ITextOutputProvider.cs [deleted file]
Source/Compatibility/Graphics/Text/PoolableTextExtents.cs [deleted file]
Source/Compatibility/Graphics/Text/TextBlock.cs [deleted file]
Source/Compatibility/Graphics/Text/TextBlockComparer.cs [deleted file]
Source/Compatibility/Graphics/TextAlignment.cs [deleted file]
Source/Compatibility/Graphics/TextDirection.cs [deleted file]
Source/Compatibility/Graphics/TextExtents.cs [deleted file]
Source/Compatibility/Graphics/TextPrinter.cs [deleted file]
Source/Compatibility/Graphics/TextPrinterOptions.cs [deleted file]
Source/Compatibility/Graphics/TextQuality.cs [deleted file]
Source/Compatibility/Graphics/Texture2D.cs [deleted file]
Source/Compatibility/Graphics/TextureRegion2D.cs [deleted file]
Source/Compatibility/IPackable.cs [deleted file]
Source/Compatibility/IPoolable.cs [deleted file]
Source/Compatibility/Math/BezierCurve.cs [deleted file]
Source/Compatibility/Math/BezierCurveCubic.cs [deleted file]
Source/Compatibility/Math/BezierCurveQuadric.cs [deleted file]
Source/Compatibility/Math/Box2.cs [deleted file]
Source/Compatibility/Math/Functions.cs [deleted file]
Source/Compatibility/Math/Half.cs [deleted file]
Source/Compatibility/Math/Matrix3d.cs [deleted file]
Source/Compatibility/Math/Matrix4.cs [deleted file]
Source/Compatibility/Math/Matrix4d.cs [deleted file]
Source/Compatibility/Math/Quaternion.cs [deleted file]
Source/Compatibility/Math/Quaterniond.cs [deleted file]
Source/Compatibility/Math/Vector2.cs [deleted file]
Source/Compatibility/Math/Vector2d.cs [deleted file]
Source/Compatibility/Math/Vector2h.cs [deleted file]
Source/Compatibility/Math/Vector3.cs [deleted file]
Source/Compatibility/Math/Vector3d.cs [deleted file]
Source/Compatibility/Math/Vector3h.cs [deleted file]
Source/Compatibility/Math/Vector4.cs [deleted file]
Source/Compatibility/Math/Vector4d.cs [deleted file]
Source/Compatibility/Math/Vector4h.cs [deleted file]
Source/Compatibility/ObjectPool.cs [deleted file]
Source/Compatibility/OpenTK.Compatibility.csproj [deleted file]
Source/Compatibility/OpenTK.Compatibility.dll.config [deleted file]
Source/Compatibility/Platform/GdiPlus.cs [deleted file]
Source/Compatibility/Platform/IGdiPlusInternals.cs [deleted file]
Source/Compatibility/Platform/Windows/WinGdiPlusInternals.cs [deleted file]
Source/Compatibility/Platform/X11/X11GdiPlusInternals.cs [deleted file]
Source/Compatibility/Properties/AssemblyInfo.cs [deleted file]
Source/Compatibility/Properties/Resources.Designer.cs [deleted file]
Source/Compatibility/Properties/Resources.resx [deleted file]
Source/Compatibility/Resources/TaoButton.jpg [deleted file]
Source/Compatibility/Tao/OpenAl/ALDelegates.cs [deleted file]
Source/Compatibility/Tao/OpenAl/Al.cs [deleted file]
Source/Compatibility/Tao/OpenAl/Alc.cs [deleted file]
Source/Compatibility/Tao/OpenAl/Alut.cs [deleted file]
Source/Compatibility/Tao/OpenGl/GLCore.cs [deleted file]
Source/Compatibility/Tao/OpenGl/GLDelegates.cs [deleted file]
Source/Compatibility/Tao/OpenGl/GLEnums.cs [deleted file]
Source/Compatibility/Tao/OpenGl/Gl.cs [deleted file]
Source/Compatibility/Tao/OpenGl/GlHelper.cs [deleted file]
Source/Compatibility/Tao/OpenGl/Glu.cs [deleted file]
Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.Designer.cs [deleted file]
Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.cs [deleted file]
Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.resx [deleted file]
Source/Compatibility/TexturePacker.cs [deleted file]

index 53d9a14..4cc0b5d 100644 (file)
@@ -9,11 +9,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK", "Source\OpenTK\Ope
                {C426C9D1-8857-4E52-BAC7-4C05EE6070AB} = {C426C9D1-8857-4E52-BAC7-4C05EE6070AB}
        EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK.Compatibility", "Source\Compatibility\OpenTK.Compatibility.csproj", "{62C0DB35-0000-0000-0000-000000000000}"
-       ProjectSection(ProjectDependencies) = postProject
-               {75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
-       EndProjectSection
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK.Examples", "Source\Examples\OpenTK.Examples.csproj", "{868E37B3-0000-0000-0000-000000000000}"
        ProjectSection(ProjectDependencies) = postProject
                {75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
@@ -27,7 +22,6 @@ EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.Installer.Nsis", "Installers\Nsis\Build.Installer.Nsis.csproj", "{ADC34399-7613-44D2-90B2-19250F06FE7A}"
        ProjectSection(ProjectDependencies) = postProject
                {A37A7E14-0000-0000-0000-000000000000} = {A37A7E14-0000-0000-0000-000000000000}
-               {62C0DB35-0000-0000-0000-000000000000} = {62C0DB35-0000-0000-0000-000000000000}
                {650C6F3D-33B5-4216-9536-956AB42C0624} = {650C6F3D-33B5-4216-9536-956AB42C0624}
                {A625BE88-0000-0000-0000-000000000000} = {A625BE88-0000-0000-0000-000000000000}
                {75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
@@ -54,7 +48,6 @@ EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.Installer.Zip", "Installers\Zip\Build.Installer.Zip.csproj", "{ADC34399-7613-44D2-90B2-19250F06FE7B}"
        ProjectSection(ProjectDependencies) = postProject
                {A37A7E14-0000-0000-0000-000000000000} = {A37A7E14-0000-0000-0000-000000000000}
-               {62C0DB35-0000-0000-0000-000000000000} = {62C0DB35-0000-0000-0000-000000000000}
                {650C6F3D-33B5-4216-9536-956AB42C0624} = {650C6F3D-33B5-4216-9536-956AB42C0624}
                {A625BE88-0000-0000-0000-000000000000} = {A625BE88-0000-0000-0000-000000000000}
                {75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
@@ -64,7 +57,6 @@ EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build.Installer.Nuget", "Installers\Nuget\Build.Installer.Nuget.csproj", "{ADC34399-7613-44D2-90B2-19250F12FE7B}"
        ProjectSection(ProjectDependencies) = postProject
                {A37A7E14-0000-0000-0000-000000000000} = {A37A7E14-0000-0000-0000-000000000000}
-               {62C0DB35-0000-0000-0000-000000000000} = {62C0DB35-0000-0000-0000-000000000000}
                {650C6F3D-33B5-4216-9536-956AB42C0624} = {650C6F3D-33B5-4216-9536-956AB42C0624}
                {A625BE88-0000-0000-0000-000000000000} = {A625BE88-0000-0000-0000-000000000000}
                {75DC22B1-113F-4A66-96B9-2FF8208C10E8} = {75DC22B1-113F-4A66-96B9-2FF8208C10E8}
@@ -105,15 +97,6 @@ Global
                {A37A7E14-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
                {A37A7E14-0000-0000-0000-000000000000}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|Any CPU
                {A37A7E14-0000-0000-0000-000000000000}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.DebugMinimal|Any CPU.ActiveCfg = Debug|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Documentation|Any CPU.ActiveCfg = Documentation|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Nsis|Any CPU.ActiveCfg = Nsis|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Nsis|Any CPU.Build.0 = Nsis|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
-               {62C0DB35-0000-0000-0000-000000000000}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|Any CPU
                {868E37B3-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
                {868E37B3-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {868E37B3-0000-0000-0000-000000000000}.DebugMinimal|Any CPU.ActiveCfg = Debug|Any CPU
diff --git a/Source/Compatibility/Audio/AudioReader.cs b/Source/Compatibility/Audio/AudioReader.cs
deleted file mode 100644 (file)
index fc0abf2..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace OpenTK.Audio
-{
-    /// <summary>
-    /// Encapsulates a sound stream and provides decoding and streaming capabilities.
-    /// </summary>
-    public class AudioReader : IDisposable
-    {
-        static object reader_lock = new object();
-        static List<AudioReader> readers = new List<AudioReader>();
-
-        bool disposed;
-        Stream stream;
-        AudioReader implementation;
-
-        #region --- Constructors ---
-
-        #region static AudioReader()
-
-        static AudioReader()
-        {
-            // TODO: Plugin architecture for sound formats. This is overkill now that we only have a WaveReader (future proofing).
-            readers.Add(new WaveReader());
-        }
-
-        #endregion
-
-        #region protected AudioReader()
-
-        protected AudioReader() { }
-
-        #endregion
-
-        #region public AudioReader(string filename)
-
-        /// <summary>Creates a new AudioReader that can read the specified sound file.</summary>
-        /// <param name="filename">The path to the sound file.</param>
-        /// <returns>A new OpenTK.Audio.AudioReader, which can be used to read from the specified sound file.</returns>
-        public AudioReader(string filename)
-            : this(new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
-        { }
-
-        #endregion
-
-        #region public AudioReader(Stream s)
-
-        /// <summary>Creates a new AudioReader that can read the specified soundstream.</summary>
-        /// <param name="s">The System.IO.Stream to read from.</param>
-        /// <returns>A new OpenTK.Audio.AudioReader, which can be used to read from the specified sound stream.</returns>
-        public AudioReader(Stream s)
-        {
-            try
-            {
-                lock (reader_lock)
-                {
-                    foreach (AudioReader reader in readers)
-                    {
-                        long pos = s.Position;
-                        if (reader.Supports(s))
-                        {
-                            s.Position = pos;
-                            implementation = (AudioReader)
-                                reader.GetType().GetConstructor(
-                                    System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public |
-                                    System.Reflection.BindingFlags.Instance,
-                                    null,
-                                    new Type[] { typeof(Stream) },
-                                    null)
-                                .Invoke(new object[] { s });
-                            return;
-                        }
-                        s.Position = pos;
-                    }
-                }
-            }
-            catch (Exception)
-            {
-                s.Close();
-                throw;
-            }
-            throw new NotSupportedException("Could not find a decoder for the specified sound stream.");
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- Public Members ---
-
-        #region public virtual bool Supports(Stream s)
-
-        /// <summary>When overriden in a derived class, checks if the decoder supports the specified sound stream.</summary>
-        /// <param name="s">The System.IO.Stream to check.</param>
-        /// <returns>True if the sound stream is supported; false otherwise.</returns>
-        public virtual bool Supports(Stream s)
-        {
-            if (implementation != null)
-                return implementation.Supports(s);
-            throw new NotImplementedException();
-        }
-
-        #endregion
-
-        #region public virtual SoundData<SampleType> ReadSamples(long count)
-
-        /// <summary>
-        /// When overriden in a derived class, reads and decodes the specified number of samples from the sound stream.
-        /// </summary>
-        /// <param name="count">The number of samples to read and decode.</param>
-        /// <returns>An OpenTK.Audio.SoundData object that contains the decoded buffer.</returns>
-        public virtual SoundData ReadSamples(long count)
-        {
-            if (implementation != null)
-                return implementation.ReadSamples(count);
-            throw new NotImplementedException();
-        }
-
-        #endregion
-
-        #region public virtual SoundData<SampleType> ReadToEnd()
-
-        /// <summary>
-        /// When overriden in a derived class, reads and decodes the sound stream.
-        /// </summary>
-        /// <returns>An OpenTK.Audio.SoundData object that contains the decoded buffer.</returns>
-        public virtual SoundData ReadToEnd()
-        {
-            if (implementation != null)
-                return implementation.ReadToEnd();
-            throw new NotImplementedException();
-        }
-
-        #endregion
-
-        #region public virtual int Frequency
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public virtual int Frequency
-        {
-            get
-            {
-                if (implementation != null)
-                    return implementation.Frequency;
-                else
-                    throw new NotImplementedException();
-            }
-            protected set
-            {
-                if (implementation != null)
-                    implementation.Frequency = value;
-                else
-                    throw new NotImplementedException();
-            }
-        }
-
-        #endregion
-
-        #region public virtual bool EndOfFile
-
-        /// <summary>
-        /// Returns true if the AudioReader has reached the end of the file.
-        /// </summary>
-        public virtual bool EndOfFile
-        {
-            get
-            {
-                if (implementation != null)
-                    return implementation.EndOfFile;
-
-                return this.Stream.Position >= this.Stream.Length;
-            }
-        }
-        #endregion
-
-        #endregion
-
-        #region --- Protected Members ---
-
-        /// <summary>
-        /// Gets or sets the input <see cref="System.IO.Stream"/> of the AudioReader.
-        /// </summary>
-        protected virtual Stream Stream
-        {
-            get { return stream; }
-            set { stream = value; }
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        /// <summary>Closes the underlying Stream and disposes of the AudioReader resources.</summary>
-        public virtual void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        void Dispose(bool manual)
-        {
-            if (!disposed)
-            {
-                if (manual)
-                    if (this.Stream != null)
-                        this.Stream.Close();
-
-                disposed = true;
-            }
-        }
-
-        /// <summary>
-        /// Finalizes this AudioReader.
-        /// </summary>
-        ~AudioReader()
-        {
-            this.Dispose(false);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Audio/AudioReaderException.cs b/Source/Compatibility/Audio/AudioReaderException.cs
deleted file mode 100644 (file)
index e8c3457..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Audio
-{
-    /// <summary>Represents exceptions related to OpenTK.Audio.AudioReader objects.</summary>
-    public class AudioReaderException : AudioException
-    {
-        /// <summary>Constructs a new AudioReaderException.</summary>
-        public AudioReaderException() : base() { }
-        /// <summary>Constructs a new AudioReaderException with the specified error message.</summary>
-        /// <param name="message">The error message of the AudioReaderException.</param>
-        public AudioReaderException(string message) : base(message) { } 
-    }
-}
diff --git a/Source/Compatibility/Audio/OpenAL/AL/AL.cs b/Source/Compatibility/Audio/OpenAL/AL/AL.cs
deleted file mode 100644 (file)
index 50f4de1..0000000
+++ /dev/null
@@ -1,1652 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* AlFunctions.cs
- * C header: \OpenAL 1.1 SDK\include\Al.h
- * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.Security;
-
-using OpenTK;
-
-/* Type Mapping
-// 8-bit boolean 
-typedef char ALboolean;
- * bool
-// character 
-typedef char ALchar;
- * byte
-// signed 8-bit 2's complement integer 
-typedef char ALbyte;
- * byte
-
-// unsigned 8-bit integer 
-typedef unsigned char ALubyte;
- * byte
-
-// signed 16-bit 2's complement integer 
-typedef short ALshort;
- * short
-
-// unsigned 16-bit integer 
-typedef unsigned short ALushort;
- * ushort
-
-// unsigned 32-bit integer 
-typedef unsigned int ALuint;
- * uint
-// signed 32-bit 2's complement integer 
-typedef int ALint;
- * int
-// non-negative 32-bit binary integer size 
-typedef int ALsizei;
- * int
-// enumerated 32-bit value
-typedef int ALenum;
- * int
-
-// 32-bit IEEE754 floating-point 
-typedef float ALfloat;
- * float
-
-// 64-bit IEEE754 floating-point 
-typedef double ALdouble;
- * double
-
-// void type (for opaque pointers only) 
-typedef void ALvoid;
- * void
-*/
-
-namespace OpenTK.Audio
-{
-    public static partial class AL
-    {
-
-        #region Constants
-
-        public const string Lib = "openal32.dll";
-        private const CallingConvention Style = CallingConvention.Cdecl;
-
-        #endregion Constants
-
-        #region Renderer State management
-
-        /// <summary>This function enables a feature of the OpenAL driver. There are no capabilities defined in OpenAL 1.1 to be used with this function, but it may be used by an extension.</summary>
-        /// <param name="capability">The name of a capability to enable.</param>
-        [DllImport(AL.Lib, EntryPoint = "alEnable", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Enable(ALCapability capability);
-        //AL_API void AL_APIENTRY alEnable( ALenum capability );
-
-        /// <summary>This function disables a feature of the OpenAL driver.</summary>
-        /// <param name="capability">The name of a capability to disable.</param>
-        [DllImport(AL.Lib, EntryPoint = "alDisable", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Disable(ALCapability capability);
-        // AL_API void AL_APIENTRY alDisable( ALenum capability ); 
-
-        /// <summary>This function returns a boolean indicating if a specific feature is enabled in the OpenAL driver.</summary>
-        /// <param name="capability">The name of a capability to enable.</param>
-        /// <returns>True if enabled, False if disabled.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alIsEnabled", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool IsEnabled(ALCapability capability);
-        // AL_API ALboolean AL_APIENTRY alIsEnabled( ALenum capability ); 
-
-        #endregion Renderer State management
-
-        #region State retrieval
-
-        [DllImport(AL.Lib, EntryPoint = "alGetString", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        private static extern IntPtr GetStringPrivate(ALGetString param); // accepts the enums AlError, AlContextString
-        // AL_API const ALchar* AL_APIENTRY alGetString( ALenum param );
-
-        /// <summary>This function retrieves an OpenAL string property.</summary>
-        /// <param name="param">The property to be returned: Vendor, Version, Renderer and Extensions</param>
-        /// <returns>Returns a pointer to a null-terminated string.</returns>
-        public static string Get(ALGetString param)
-        {
-            return Marshal.PtrToStringAnsi(GetStringPrivate(param));
-        }
-
-        /// <summary>This function retrieves an OpenAL string property.</summary>
-        /// <param name="param">The human-readable errorstring to be returned.</param>
-        /// <returns>Returns a pointer to a null-terminated string.</returns>
-        public static string GetErrorString(ALError param)
-        {
-            return Marshal.PtrToStringAnsi(GetStringPrivate((ALGetString)param));
-        }
-
-        /* no functions return more than 1 result ..
-        // AL_API void AL_APIENTRY alGetBooleanv( ALenum param, ALboolean* buffer );
-        // AL_API void AL_APIENTRY alGetIntegerv( ALenum param, ALint* buffer );
-        // AL_API void AL_APIENTRY alGetFloatv( ALenum param, ALfloat* buffer );
-        // AL_API void AL_APIENTRY alGetDoublev( ALenum param, ALdouble* buffer );
-        */
-
-        /* disabled due to no token using it
-        /// <summary>This function returns a boolean OpenAL state.</summary>
-        /// <param name="param">the state to be queried: AL_DOPPLER_FACTOR, AL_SPEED_OF_SOUND, AL_DISTANCE_MODEL</param>
-        /// <returns>The boolean state described by param will be returned.</returns>
-        [DllImport( AL.Lib, EntryPoint = "alGetBoolean", ExactSpelling = true, CallingConvention = AL.Style ), SuppressUnmanagedCodeSecurity( )]
-        public static extern bool Get( ALGetBoolean param );
-        // AL_API ALboolean AL_APIENTRY alGetBoolean( ALenum param );
-        */
-
-        /// <summary>This function returns an integer OpenAL state.</summary>
-        /// <param name="param">the state to be queried: DistanceModel.</param>
-        /// <returns>The integer state described by param will be returned.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alGetInteger", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern int Get(ALGetInteger param);
-        // AL_API ALint AL_APIENTRY alGetInteger( ALenum param );
-
-        /// <summary>This function returns a floating-point OpenAL state.</summary>
-        /// <param name="param">the state to be queried: DopplerFactor, SpeedOfSound.</param>
-        /// <returns>The floating-point state described by param will be returned.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alGetFloat", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern float Get(ALGetFloat param);
-        // AL_API ALfloat AL_APIENTRY alGetFloat( ALenum param );
-
-        /* disabled due to no token using it
-        /// <summary>This function returns a double-precision floating-point OpenAL state.</summary>
-        /// <param name="param">the state to be queried: AL_DOPPLER_FACTOR, AL_SPEED_OF_SOUND, AL_DISTANCE_MODEL</param>
-        /// <returns>The double value described by param will be returned.</returns>
-        [DllImport( AL.Lib, EntryPoint = "alGetDouble", ExactSpelling = true, CallingConvention = AL.Style ), SuppressUnmanagedCodeSecurity( )]
-        public static extern double Get( ALGetDouble param );
-        // AL_API ALdouble AL_APIENTRY alGetDouble( ALenum param );
-        */
-
-        /// <summary>Error support. Obtain the most recent error generated in the AL state machine. When an error is detected by AL, a flag is set and the error code is recorded. Further errors, if they occur, do not affect this recorded code. When alGetError is called, the code is returned and the flag is cleared, so that a further error will again record its code.</summary>
-        /// <returns>The first error that occured. can be used with AL.GetString. Returns an Alenum representing the error state. When an OpenAL error occurs, the error state is set and will not be changed until the error state is retrieved using alGetError. Whenever alGetError is called, the error state is cleared and the last state (the current state when the call was made) is returned. To isolate error detection to a specific portion of code, alGetError should be called before the isolated section to clear the current error state.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alGetError", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern ALError GetError();
-        // AL_API ALenum AL_APIENTRY alGetError( void );
-
-        #endregion State retrieval
-
-        #region Extension support.
-
-        ///<summary>This function tests if a specific Extension is available for the OpenAL driver.</summary>
-        /// <param name="extname">A string naming the desired extension. Example: "EAX-RAM"</param>
-        /// <returns>Returns True if the Extension is available or False if not available.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alIsExtensionPresent", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern bool IsExtensionPresent([In] string extname);
-        // AL_API ALboolean AL_APIENTRY alIsExtensionPresent( const ALchar* extname );
-
-        /// <summary>This function returns the address of an OpenAL extension function. Handle with care.</summary>
-        /// <param name="fname">A string containing the function name.</param>
-        /// <returns>The return value is a pointer to the specified function. The return value will be IntPtr.Zero if the function is not found.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alGetProcAddress", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern IntPtr GetProcAddress([In] string fname);
-        // AL_API void* AL_APIENTRY alGetProcAddress( const ALchar* fname );
-
-        /// <summary>This function returns the enumeration value of an OpenAL token, described by a string.</summary>
-        /// <param name="ename">A string describing an OpenAL token. Example "AL_DISTANCE_MODEL"</param>
-        /// <returns>Returns the actual ALenum described by a string. Returns 0 if the string doesn’t describe a valid OpenAL token.</returns>
-        [DllImport(AL.Lib, EntryPoint = "alGetEnumValue", ExactSpelling = true, CallingConvention = AL.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern int GetEnumValue([In] string ename);
-        // AL_API ALenum AL_APIENTRY alGetEnumValue( const ALchar* ename );
-
-        #endregion Extension support.
-
-        /* Listener
-         * Listener represents the location and orientation of the
-         * 'user' in 3D-space.
-         * 
-         * Properties include: -
-         *
-         * Gain         AL_GAIN         ALfloat
-         * Position     AL_POSITION     ALfloat[3]
-         * Velocity     AL_VELOCITY     ALfloat[3]
-         * Orientation  AL_ORIENTATION  ALfloat[6] (Forward then Up vectors)
-         */
-
-        #region Set Listener parameters
-
-        /// <summary>This function sets a floating-point property for the listener.</summary>
-        /// <param name="param">The name of the attribute to be set: ALListenerf.Gain</param>
-        /// <param name="value">The float value to set the attribute to.</param>
-        [DllImport(AL.Lib, EntryPoint = "alListenerf", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Listener(ALListenerf param, float value);
-        // AL_API void AL_APIENTRY alListenerf( ALenum param, ALfloat value );
-
-        /// <summary>This function sets a floating-point property for the listener.</summary>
-        /// <param name="param">The name of the attribute to set: ALListener3f.Position, ALListener3f.Velocity</param>
-        /// <param name="value1">The value to set the attribute to.</param>
-        /// <param name="value2">The value to set the attribute to.</param>
-        /// <param name="value3">The value to set the attribute to.</param>
-        [DllImport(AL.Lib, EntryPoint = "alListener3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Listener(ALListener3f param, float value1, float value2, float value3);
-        // AL_API void AL_APIENTRY alListener3f( ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
-
-        /// <summary>This function sets a Math.Vector3 property for the listener.</summary>
-        /// <param name="param">The name of the attribute to set: ALListener3f.Position, ALListener3f.Velocity</param>
-        /// <param name="values">The Math.Vector3 to set the attribute to.</param>
-        public static void Listener(ALListener3f param, ref Vector3 values)
-        {
-            Listener(param, values.X, values.Y, values.Z);
-        }
-
-        [DllImport(AL.Lib, EntryPoint = "alListenerfv", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        unsafe private static extern void ListenerPrivate(ALListenerfv param, float* values);
-        // AL_API void AL_APIENTRY alListenerfv( ALenum param, const ALfloat* values );
-
-        /// <summary>This function sets a floating-point vector property of the listener.</summary>
-        /// <param name="param">The name of the attribute to be set: ALListener3f.Position, ALListener3f.Velocity, ALListenerfv.Orientation</param>
-        /// <param name="values">Pointer to floating-point vector values.</param>
-        public static void Listener(ALListenerfv param, ref float[] values)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &values[0])
-                {
-                    ListenerPrivate(param, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function sets two Math.Vector3 properties of the listener.</summary>
-        /// <param name="param">The name of the attribute to be set: ALListenerfv.Orientation</param>
-        /// <param name="at">A Math.Vector3 for the At-Vector.</param>
-        /// <param name="up">A Math.Vector3 for the Up-Vector.</param>
-        public static void Listener(ALListenerfv param, ref Vector3 at, ref Vector3 up)
-        {
-            float[] temp = new float[6];
-
-            temp[0] = at.X;
-            temp[1] = at.Y;
-            temp[2] = at.Z;
-
-            temp[3] = up.X;
-            temp[4] = up.Y;
-            temp[5] = up.Z;
-
-            unsafe
-            {
-                fixed (float* ptr = &temp[0])
-                {
-                    ListenerPrivate(param, ptr);
-                }
-            }
-        }
-
-        // Not used by any Enums
-        // AL_API void AL_APIENTRY alListeneri( ALenum param, ALint value );
-        // AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 );
-        // AL_API void AL_APIENTRY alListeneriv( ALenum param, const ALint* values );
-
-        #endregion Set Listener parameters
-
-        #region Get Listener parameters
-
-        /// <summary>This function retrieves a floating-point property of the listener.</summary>
-        /// <param name="param">the name of the attribute to be retrieved: ALListenerf.Gain</param>
-        /// <param name="value">a pointer to the floating-point value being retrieved.</param>
-        [DllImport(AL.Lib, EntryPoint = "alGetListenerf", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GetListener(ALListenerf param, [Out] out float value);
-        // AL_API void AL_APIENTRY alGetListenerf( ALenum param, ALfloat* value );
-
-        /// <summary>This function retrieves a set of three floating-point values from a property of the listener.</summary>
-        /// <param name="param">The name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity</param>
-        /// <param name="value1">Pointers to the three floating-point being retrieved.</param>
-        /// <param name="value2">Pointers to the three floating-point being retrieved.</param>
-        /// <param name="value3">Pointers to the three floating-point being retrieved.</param>
-        [DllImport(AL.Lib, EntryPoint = "alGetListener3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GetListener(ALListener3f param, [Out] out float value1, [Out] out float value2, [Out] out float value3);
-        // AL_API void AL_APIENTRY alGetListener3f( ALenum param, ALfloat *value1, ALfloat *value2, ALfloat *value3 );
-
-        /// <summary>This function retrieves a Math.Vector3 from a property of the listener.</summary>
-        /// <param name="param">The name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity</param>
-        /// <param name="values">A Math.Vector3 to hold the three floats being retrieved.</param>
-        public static void GetListener(ALListener3f param, out Vector3 values)
-        {
-            GetListener(param, out values.X, out values.Y, out values.Z);
-        }
-
-        /// <summary>This function retrieves a floating-point vector property of the listener. You must pin it manually.</summary>
-        /// <param name="param">the name of the attribute to be retrieved: ALListener3f.Position, ALListener3f.Velocity, ALListenerfv.Orientation</param>
-        /// <param name="values">A pointer to the floating-point vector value being retrieved.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetListenerfv", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        unsafe public static extern void GetListener(ALListenerfv param, float* values);
-        // AL_API void AL_APIENTRY alGetListenerfv( ALenum param, ALfloat* values );
-
-        /// <summary>This function retrieves two Math.Vector3 properties of the listener.</summary>
-        /// <param name="param">the name of the attribute to be retrieved: ALListenerfv.Orientation</param>
-        /// <param name="at">A Math.Vector3 for the At-Vector.</param>
-        /// <param name="up">A Math.Vector3 for the Up-Vector.</param>
-        public static void GetListener(ALListenerfv param, out Vector3 at, out Vector3 up)
-        {
-            float[] pinned = new float[6]; // should lose scope when the function exits
-            unsafe
-            {
-                fixed (float* ptr = &pinned[0])
-                {
-                    GetListener(param, ptr);
-
-                    at.X = pinned[0];
-                    at.Y = pinned[1];
-                    at.Z = pinned[2];
-
-                    up.X = pinned[3];
-                    up.Y = pinned[4];
-                    up.Z = pinned[5];
-                }
-            }
-        }
-
-        // Not used by any Enum:
-        // AL_API void AL_APIENTRY alGetListeneri( ALenum param, ALint* value );
-        // AL_API void AL_APIENTRY alGetListener3i( ALenum param, ALint *value1, ALint *value2, ALint *value3 );
-        // AL_API void AL_APIENTRY alGetListeneriv( ALenum param, ALint* values );
-
-        #endregion Get Listener parameters
-
-        /* Source
-         * Sources represent individual sound objects in 3D-space.
-         * Sources take the PCM buffer provided in the specified Buffer,
-         * apply Source-specific modifications, and then
-         * submit them to be mixed according to spatial arrangement etc.
-         * 
-         * Properties include: -
-         *
-        
-         * Position                          AL_POSITION             ALfloat[3]
-         * Velocity                          AL_VELOCITY             ALfloat[3]
-         * Direction                         AL_DIRECTION            ALfloat[3]
-
-         * Head Relative Mode                AL_SOURCE_RELATIVE      ALint (AL_TRUE or AL_FALSE)
-         * Looping                           AL_LOOPING              ALint (AL_TRUE or AL_FALSE)
-         * 
-         * Reference Distance                AL_REFERENCE_DISTANCE   ALfloat
-         * Max Distance                      AL_MAX_DISTANCE         ALfloat
-         * RollOff Factor                    AL_ROLLOFF_FACTOR       ALfloat
-         * Pitch                             AL_PITCH                ALfloat
-         * Gain                              AL_GAIN                 ALfloat
-         * Min Gain                          AL_MIN_GAIN             ALfloat
-         * Max Gain                          AL_MAX_GAIN             ALfloat
-         * Inner Angle                       AL_CONE_INNER_ANGLE     ALint or ALfloat
-         * Outer Angle                       AL_CONE_OUTER_ANGLE     ALint or ALfloat
-         * Cone Outer Gain                   AL_CONE_OUTER_GAIN      ALint or ALfloat 
-         * 
-         * MS Offset                         AL_MSEC_OFFSET          ALint or ALfloat
-         * Byte Offset                       AL_BYTE_OFFSET          ALint or ALfloat
-         * Sample Offset                     AL_SAMPLE_OFFSET        ALint or ALfloat
-         * Attached Buffer                   AL_BUFFER               ALint
-         * 
-         * State (Query only)                AL_SOURCE_STATE         ALint
-         * Buffers Queued (Query only)       AL_BUFFERS_QUEUED       ALint
-         * Buffers Processed (Query only)    AL_BUFFERS_PROCESSED    ALint
-         */
-
-        #region Create Source objects
-
-        #region GenSources()
-
-        [DllImport(AL.Lib, EntryPoint = "alGenSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        unsafe private static extern void GenSourcesPrivate(int n, [Out] uint* sources);
-        // AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* Sources );
-
-        /// <summary>This function generates one or more sources. References to sources are uint values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei).</summary>
-        /// <param name="n">The number of sources to be generated.</param>
-        /// <param name="sources">Pointer to an array of uint values which will store the names of the new sources.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alGenSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GenSources(int n, out uint sources);
-
-        /// <summary>This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei).</summary>
-        /// <param name="n">The number of sources to be generated.</param>
-        /// <param name="sources">Pointer to an array of int values which will store the names of the new sources.</param>
-        [CLSCompliant(true)]
-        [DllImport(AL.Lib, EntryPoint = "alGenSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GenSources(int n, out int sources);
-
-        /// <summary>This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei).</summary>
-        /// <param name="sources">Pointer to an array of int values which will store the names of the new sources.</param>
-        [CLSCompliant(true)]
-        public static void GenSources(int[] sources)
-        {
-            uint[] temp = new uint[sources.Length];
-            GenSources(temp.Length, out temp[0]);
-            for (int i = 0; i < temp.Length; i++)
-            {
-                sources[i] = (int)temp[i];
-            }
-        }
-
-        /// <summary>This function generates one or more sources. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei).</summary>
-        /// <param name="n">The number of sources to be generated.</param>
-        /// <returns>Pointer to an array of int values which will store the names of the new sources.</returns>
-        [CLSCompliant(true)]
-        public static int[] GenSources(int n)
-        {
-            uint[] temp = new uint[n];
-            GenSources(temp.Length, out temp[0]);
-            int[] sources = new int[n];
-            for (int i = 0; i < temp.Length; i++)
-            {
-                sources[i] = (int)temp[i];
-            }
-            return sources;
-        }
-
-        /// <summary>This function generates one source only. References to sources are int values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei).</summary>
-        /// <returns>Pointer to an int value which will store the name of the new source.</returns>
-        [CLSCompliant(true)]
-        public static int GenSource()
-        {
-            int temp;
-            GenSources(1, out temp);
-            return (int)temp;
-        }
-
-        /// <summary>This function generates one source only. References to sources are uint values, which are used wherever a source reference is needed (in calls such as AL.DeleteSources and AL.Source with parameter ALSourcei).</summary>
-        /// <param name="source">Pointer to an uint value which will store the name of the new source.</param>
-        [CLSCompliant(false)]
-        public static void GenSource(out uint source)
-        {
-            GenSources(1, out source);
-        }
-
-        #endregion GenSources()
-
-        #region DeleteSources()
-
-        /// <summary>This function deletes one or more sources.</summary>
-        /// <param name="n">The number of sources to be deleted.</param>
-        /// <param name="sources">Pointer to an array of source names identifying the sources to be deleted.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alDeleteSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        unsafe public static extern void DeleteSources(int n, [In] uint* sources); // Delete Source objects 
-        // AL_API void AL_APIENTRY alDeleteSources( ALsizei n, const ALuint* Sources );
-
-        /// <summary>This function deletes one or more sources.</summary>
-        /// <param name="n">The number of sources to be deleted.</param>
-        /// <param name="sources">Reference to a single source, or an array of source names identifying the sources to be deleted.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alDeleteSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DeleteSources(int n, ref uint sources);
-
-        /// <summary>This function deletes one or more sources.</summary>
-        /// <param name="n">The number of sources to be deleted.</param>
-        /// <param name="sources">Reference to a single source, or an array of source names identifying the sources to be deleted.</param>
-        [CLSCompliant(true)]
-        [DllImport(AL.Lib, EntryPoint = "alDeleteSources", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DeleteSources(int n, ref int sources);
-
-        /// <summary>This function deletes one or more sources.</summary>
-        /// <param name="sources">An array of source names identifying the sources to be deleted.</param>
-        [CLSCompliant(false)]
-        public static void DeleteSources(uint[] sources)
-        {
-            if (sources == null) throw new ArgumentNullException();
-            if (sources.Length == 0) throw new ArgumentOutOfRangeException();
-            DeleteBuffers(sources.Length, ref sources[0]);
-        }
-
-        /// <summary>This function deletes one or more sources.</summary>
-        /// <param name="sources">An array of source names identifying the sources to be deleted.</param>
-        [CLSCompliant(true)]
-        public static void DeleteSources(int[] sources)
-        {
-            if (sources == null) throw new ArgumentNullException();
-            if (sources.Length == 0) throw new ArgumentOutOfRangeException();
-            DeleteBuffers(sources.Length, ref sources[0]);
-        }
-
-        /// <summary>This function deletes one source only.</summary>
-        /// <param name="source">Pointer to a source name identifying the source to be deleted.</param>
-        [CLSCompliant(false)]
-        public static void DeleteSource(ref uint source)
-        {
-            DeleteSources(1, ref source);
-        }
-
-        /// <summary>This function deletes one source only.</summary>
-        /// <param name="source">Pointer to a source name identifying the source to be deleted.</param>
-        [CLSCompliant(true)]
-        public static void DeleteSource(int source)
-        {
-            DeleteSources(1, ref source);
-        }
-
-        #endregion DeleteSources()
-
-        #region IsSource()
-
-        /// <summary>This function tests if a source name is valid, returning True if valid and False if not.</summary>
-        /// <param name="sid">A source name to be tested for validity</param>
-        /// <returns>Success.</returns>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alIsSource", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool IsSource(uint sid);
-        // AL_API ALboolean AL_APIENTRY alIsSource( ALuint sid );
-
-        /// <summary>This function tests if a source name is valid, returning True if valid and False if not.</summary>
-        /// <param name="sid">A source name to be tested for validity</param>
-        /// <returns>Success.</returns>
-        [CLSCompliant(true)]
-        public static bool IsSource(int sid)
-        {
-            return IsSource((uint)sid);
-        }
-
-        #endregion IsSource()
-
-        #endregion Create Source objects
-
-        #region Set Source parameters
-
-        #region Sourcef
-
-        /// <summary>This function sets a floating-point property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being set</param>
-        /// <param name="param">The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency.</param>
-        /// <param name="value">The value to set the attribute to.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcef", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Source(uint sid, ALSourcef param, float value);
-        // AL_API void AL_APIENTRY alSourcef( ALuint sid, ALenum param, ALfloat value );
-
-        /// <summary>This function sets a floating-point property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being set</param>
-        /// <param name="param">The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency.</param>
-        /// <param name="value">The value to set the attribute to.</param>
-        [CLSCompliant(true)]
-        public static void Source(int sid, ALSourcef param, float value)
-        {
-            Source((uint)sid, param, value);
-        }
-
-        #endregion Sourcef
-
-        #region Source3f
-
-        /// <summary>This function sets a source property requiring three floating-point values.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="value1">The three ALfloat values which the attribute will be set to.</param>
-        /// <param name="value2">The three ALfloat values which the attribute will be set to.</param>
-        /// <param name="value3">The three ALfloat values which the attribute will be set to.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSource3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Source(uint sid, ALSource3f param, float value1, float value2, float value3);
-        // AL_API void AL_APIENTRY alSource3f( ALuint sid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
-
-        /// <summary>This function sets a source property requiring three floating-point values.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="value1">The three ALfloat values which the attribute will be set to.</param>
-        /// <param name="value2">The three ALfloat values which the attribute will be set to.</param>
-        /// <param name="value3">The three ALfloat values which the attribute will be set to.</param>
-        [CLSCompliant(true)]
-        public static void Source(int sid, ALSource3f param, float value1, float value2, float value3)
-        {
-            Source((uint)sid, param, value1, value2, value3);
-        }
-
-        /// <summary>This function sets a source property requiring three floating-point values.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="values">A Math.Vector3 which the attribute will be set to.</param>
-        [CLSCompliant(false)]
-        public static void Source(uint sid, ALSource3f param, ref Vector3 values)
-        {
-            Source(sid, param, values.X, values.Y, values.Z);
-        }
-
-        /// <summary>This function sets a source property requiring three floating-point values.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="values">A Math.Vector3 which the attribute will be set to.</param>
-        [CLSCompliant(true)]
-        public static void Source(int sid, ALSource3f param, ref Vector3 values)
-        {
-            Source((uint)sid, param, values.X, values.Y, values.Z);
-        }
-
-        #endregion Source3f
-
-        #region Sourcei
-
-        /// <summary>This function sets an integer property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSourcei.SourceRelative, ConeInnerAngle, ConeOuterAngle, Looping, Buffer, SourceState.</param>
-        /// <param name="value">The value to set the attribute to.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcei", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Source(uint sid, ALSourcei param, int value);
-        // AL_API void AL_APIENTRY alSourcei( ALuint sid, ALenum param, ALint value ); 
-
-        /// <summary>This function sets an integer property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSourcei.SourceRelative, ConeInnerAngle, ConeOuterAngle, Looping, Buffer, SourceState.</param>
-        /// <param name="value">The value to set the attribute to.</param>
-        [CLSCompliant(true)]
-        public static void Source(int sid, ALSourcei param, int value)
-        {
-            Source((uint)sid, param, value);
-        }
-
-        /// <summary>This function sets an bool property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSourceb.SourceRelative, Looping.</param>
-        /// <param name="value">The value to set the attribute to.</param>
-        [CLSCompliant(false)]
-        public static void Source(uint sid, ALSourceb param, bool value)
-        {
-            Source(sid, (ALSourcei)param, (value) ? 1 : 0);
-        }
-
-        /// <summary>This function sets an bool property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: ALSourceb.SourceRelative, Looping.</param>
-        /// <param name="value">The value to set the attribute to.</param>
-        [CLSCompliant(true)]
-        public static void Source(int sid, ALSourceb param, bool value)
-        {
-            Source((uint)sid, (ALSourcei)param, (value) ? 1 : 0);
-        }
-
-        /// <summary>(Helper) Binds a Buffer to a Source handle.</summary>
-        /// <param name="source">Source name to attach the Buffer to.</param>
-        /// <param name="buffer">Buffer name which is attached to the Source.</param>
-        [CLSCompliant(false)]
-        public static void BindBufferToSource(uint source, uint buffer)
-        {
-            Source(source, ALSourcei.Buffer, (int)buffer);
-        }
-
-        /// <summary>(Helper) Binds a Buffer to a Source handle.</summary>
-        /// <param name="source">Source name to attach the Buffer to.</param>
-        /// <param name="buffer">Buffer name which is attached to the Source.</param>
-        [CLSCompliant(true)]
-        public static void BindBufferToSource(int source, int buffer)
-        {
-            Source((uint)source, ALSourcei.Buffer, buffer);
-        }
-
-        #endregion Sourcei
-
-        #region Source3i
-
-        /// <summary>This function sets 3 integer properties of a source. This property is used to establish connections between Sources and Auxiliary Effect Slots.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: EfxAuxiliarySendFilter</param>
-        /// <param name="value1">The value to set the attribute to. (EFX Extension) The destination Auxiliary Effect Slot ID</param>
-        /// <param name="value2">The value to set the attribute to. (EFX Extension) The Auxiliary Send number.</param>
-        ///<param name="value3">The value to set the attribute to. (EFX Extension) optional Filter ID.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSource3i", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void Source(uint sid, ALSource3i param, int value1, int value2, int value3);
-        // AL_API void AL_APIENTRY alSource3i( ALuint sid, ALenum param, ALint value1, ALint value2, ALint value3 );      
-
-        /// <summary>This function sets 3 integer properties of a source. This property is used to establish connections between Sources and Auxiliary Effect Slots.</summary>
-        /// <param name="sid">Source name whose attribute is being set.</param>
-        /// <param name="param">The name of the attribute to set: EfxAuxiliarySendFilter</param>
-        /// <param name="value1">The value to set the attribute to. (EFX Extension) The destination Auxiliary Effect Slot ID</param>
-        /// <param name="value2">The value to set the attribute to. (EFX Extension) The Auxiliary Send number.</param>
-        ///<param name="value3">The value to set the attribute to. (EFX Extension) optional Filter ID.</param>
-        [CLSCompliant(true)]
-        public static void Source(int sid, ALSource3i param, int value1, int value2, int value3)
-        {
-            Source((uint)sid, param, value1, value2, value3);
-        }
-
-        #endregion Source3i
-
-        // Not used by any Enum:
-        // AL_API void AL_APIENTRY alSourcefv( ALuint sid, ALenum param, const ALfloat* values );
-        // AL_API void AL_APIENTRY alSourceiv( ALuint sid, ALenum param, const ALint* values );
-
-        #endregion Set Source parameters
-
-        #region Get Source parameters
-
-        #region GetSourcef
-
-        /// <summary>This function retrieves a floating-point property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency.</param>
-        /// <param name="value">A pointer to the floating-point value being retrieved</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetSourcef", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GetSource(uint sid, ALSourcef param, [Out] out float value);
-        // AL_API void AL_APIENTRY alGetSourcef( ALuint sid, ALenum param, ALfloat* value );
-
-        /// <summary>This function retrieves a floating-point property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">The name of the attribute to set: ALSourcef.Pitch, Gain, MinGain, MaxGain, MaxDistance, RolloffFactor, ConeOuterGain, ConeInnerAngle, ConeOuterAngle, ReferenceDistance, EfxAirAbsorptionFactor, EfxRoomRolloffFactor, EfxConeOuterGainHighFrequency.</param>
-        /// <param name="value">A pointer to the floating-point value being retrieved</param>
-        [CLSCompliant(true)]
-        public static void GetSource(int sid, ALSourcef param, out float value)
-        {
-            GetSource((uint)sid, param, out value);
-        }
-
-        #endregion GetSourcef
-
-        #region GetSource3f
-
-        /// <summary>This function retrieves three floating-point values representing a property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="value1">Pointer to the value to retrieve.</param>
-        /// <param name="value2">Pointer to the value to retrieve.</param>
-        /// <param name="value3">Pointer to the value to retrieve.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetSource3f", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GetSource(uint sid, ALSource3f param, [Out] out float value1, [Out] out float value2, [Out] out float value3);
-        // AL_API void AL_APIENTRY alGetSource3f( ALuint sid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
-
-        /// <summary>This function retrieves three floating-point values representing a property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="value1">Pointer to the value to retrieve.</param>
-        /// <param name="value2">Pointer to the value to retrieve.</param>
-        /// <param name="value3">Pointer to the value to retrieve.</param>
-        [CLSCompliant(true)]
-        public static void GetSource(int sid, ALSource3f param, out float value1, out float value2, out float value3)
-        {
-            GetSource((uint)sid, param, out value1, out value2, out value3);
-        }
-
-        /// <summary>This function retrieves three floating-point values representing a property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="values">A Math.Vector3 to retrieve the values to.</param>
-        [CLSCompliant(false)]
-        public static void GetSource(uint sid, ALSource3f param, out Vector3 values)
-        {
-            GetSource(sid, param, out values.X, out values.Y, out values.Z);
-        }
-
-        /// <summary>This function retrieves three floating-point values representing a property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">the name of the attribute being retrieved: ALSource3f.Position, Velocity, Direction.</param>
-        /// <param name="values">A Math.Vector3 to retrieve the values to.</param>
-        [CLSCompliant(true)]
-        public static void GetSource(int sid, ALSource3f param, out Vector3 values)
-        {
-            GetSource((uint)sid, param, out values.X, out values.Y, out values.Z);
-        }
-
-        #endregion GetSource3f
-
-        #region GetSourcei
-
-        /// <summary>This function retrieves an integer property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">The name of the attribute to retrieve: ALSourcei.SourceRelative, Buffer, SourceState, BuffersQueued, BuffersProcessed.</param>
-        /// <param name="value">A pointer to the integer value being retrieved.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetSourcei", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GetSource(uint sid, ALGetSourcei param, [Out] out int value);
-        // AL_API void AL_APIENTRY alGetSourcei( ALuint sid,  ALenum param, ALint* value );
-
-        /// <summary>This function retrieves an integer property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">The name of the attribute to retrieve: ALSourcei.SourceRelative, Buffer, SourceState, BuffersQueued, BuffersProcessed.</param>
-        /// <param name="value">A pointer to the integer value being retrieved.</param>
-        [CLSCompliant(true)]
-        public static void GetSource(int sid, ALGetSourcei param, out int value)
-        {
-            GetSource((uint)sid, param, out value);
-        }
-
-        /// <summary>This function retrieves a bool property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">The name of the attribute to get: ALSourceb.SourceRelative, Looping.</param>
-        /// <param name="value">A pointer to the bool value being retrieved.</param>
-        [CLSCompliant(false)]
-        public static void GetSource(uint sid, ALSourceb param, out bool value)
-        {
-            int result;
-            GetSource(sid, (ALGetSourcei)param, out result);
-            value = result != 0;
-        }
-
-        /// <summary>This function retrieves a bool property of a source.</summary>
-        /// <param name="sid">Source name whose attribute is being retrieved.</param>
-        /// <param name="param">The name of the attribute to get: ALSourceb.SourceRelative, Looping.</param>
-        /// <param name="value">A pointer to the bool value being retrieved.</param>
-        [CLSCompliant(true)]
-        public static void GetSource(int sid, ALSourceb param, out bool value)
-        {
-            int result;
-            GetSource((uint)sid, (ALGetSourcei)param, out result);
-            value = result != 0;
-        }
-
-        #endregion GetSourcei
-
-        // Not used by any Enum:
-        // AL_API void AL_APIENTRY alGetSource3i( ALuint sid, ALenum param, ALint* value1, ALint* value2, ALint* value3);
-        // AL_API void AL_APIENTRY alGetSourcefv( ALuint sid, ALenum param, ALfloat* values );
-        // AL_API void AL_APIENTRY alGetSourceiv( ALuint sid,  ALenum param, ALint* values );
-
-        #endregion Get Source parameters
-
-        #region Source vector based playback calls
-
-        #region SourcePlay
-
-        /// <summary>This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state.</summary>
-        /// <param name="ns">The number of sources to be played.</param>
-        /// <param name="sids">A pointer to an array of sources to be played.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePlayv"), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void SourcePlay(int ns, [In] uint* sids);
-        // AL_API void AL_APIENTRY alSourcePlayv( ALsizei ns, const ALuint *sids );
-
-        /// <summary>This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state.</summary>
-        /// <param name="ns">The number of sources to be played.</param>
-        /// <param name="sids">A pointer to an array of sources to be played.</param>
-        [CLSCompliant(false)]
-        public static void SourcePlay(int ns, uint[] sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = sids)
-                {
-                    SourcePlay(ns, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state.</summary>
-        /// <param name="ns">The number of sources to be played.</param>
-        /// <param name="sids">A pointer to an array of sources to be played.</param>
-        [CLSCompliant(true)]
-        public static void SourcePlay(int ns, int[] sids)
-        {
-            uint[] temp = new uint[ns];
-            for (int i = 0; i < ns; i++)
-            {
-                temp[i] = (uint)sids[i];
-            }
-            SourcePlay(ns, temp);
-        }
-
-        /// <summary>This function plays a set of sources. The playing sources will have their state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state.</summary>
-        /// <param name="ns">The number of sources to be played.</param>
-        /// <param name="sids">A pointer to an array of sources to be played.</param>
-        [CLSCompliant(false)]
-        public static void SourcePlay(int ns, ref uint sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &sids)
-                {
-                    SourcePlay(ns, ptr);
-                }
-            }
-        }
-
-        #endregion SourcePlay
-
-        #region SourceStop
-
-        /// <summary>This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped.</summary>
-        /// <param name="ns">The number of sources to stop.</param>
-        /// <param name="sids">A pointer to an array of sources to be stopped.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceStopv"), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void SourceStop(int ns, [In] uint* sids);
-        // AL_API void AL_APIENTRY alSourceStopv( ALsizei ns, const ALuint *sids );
-
-        /// <summary>This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped.</summary>
-        /// <param name="ns">The number of sources to stop.</param>
-        /// <param name="sids">A pointer to an array of sources to be stopped.</param>
-        [CLSCompliant(false)]
-        public static void SourceStop(int ns, uint[] sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = sids)
-                {
-                    SourceStop(ns, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped.</summary>
-        /// <param name="ns">The number of sources to stop.</param>
-        /// <param name="sids">A pointer to an array of sources to be stopped.</param>
-        [CLSCompliant(true)]
-        public static void SourceStop(int ns, int[] sids)
-        {
-            uint[] temp = new uint[ns];
-            for (int i = 0; i < ns; i++)
-            {
-                temp[i] = (uint)sids[i];
-            }
-            SourceStop(ns, temp);
-        }
-
-        /// <summary>This function stops a set of sources. The stopped sources will have their state changed to ALSourceState.Stopped.</summary>
-        /// <param name="ns">The number of sources to stop.</param>
-        /// <param name="sids">A pointer to an array of sources to be stopped.</param>
-        [CLSCompliant(false)]
-        public static void SourceStop(int ns, ref uint sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &sids)
-                {
-                    SourceStop(ns, ptr);
-                }
-            }
-        }
-
-        #endregion SourceStop
-
-        #region SourceRewind
-
-        /// <summary>This function stops a set of sources and sets all their states to ALSourceState.Initial.</summary>
-        /// <param name="ns">The number of sources to be rewound.</param>
-        /// <param name="sids">A pointer to an array of sources to be rewound.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceRewindv"), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void SourceRewind(int ns, [In] uint* sids);
-        // AL_API void AL_APIENTRY alSourceRewindv( ALsizei ns, const ALuint *sids );
-
-        /// <summary>This function stops a set of sources and sets all their states to ALSourceState.Initial.</summary>
-        /// <param name="ns">The number of sources to be rewound.</param>
-        /// <param name="sids">A pointer to an array of sources to be rewound.</param>
-        [CLSCompliant(false)]
-        public static void SourceRewind(int ns, uint[] sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = sids)
-                {
-                    SourceRewind(ns, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function stops a set of sources and sets all their states to ALSourceState.Initial.</summary>
-        /// <param name="ns">The number of sources to be rewound.</param>
-        /// <param name="sids">A pointer to an array of sources to be rewound.</param>
-        [CLSCompliant(true)]
-        public static void SourceRewind(int ns, int[] sids)
-        {
-            uint[] temp = new uint[ns];
-            for (int i = 0; i < ns; i++)
-            {
-                temp[i] = (uint)sids[i];
-            }
-            SourceRewind(ns, temp);
-        }
-
-        /// <summary>This function stops a set of sources and sets all their states to ALSourceState.Initial.</summary>
-        /// <param name="ns">The number of sources to be rewound.</param>
-        /// <param name="sids">A pointer to an array of sources to be rewound.</param>
-        [CLSCompliant(false)]
-        public static void SourceRewind(int ns, ref uint sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &sids)
-                {
-                    SourceRewind(ns, ptr);
-                }
-            }
-        }
-
-        #endregion SourceRewind
-
-        #region SourcePause
-
-        /// <summary>This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused.</summary>
-        /// <param name="ns">The number of sources to be paused.</param>
-        /// <param name="sids">A pointer to an array of sources to be paused.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePausev"), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void SourcePause(int ns, [In] uint* sids);
-        // AL_API void AL_APIENTRY alSourcePausev( ALsizei ns, const ALuint *sids );
-
-        /// <summary>This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused.</summary>
-        /// <param name="ns">The number of sources to be paused.</param>
-        /// <param name="sids">A pointer to an array of sources to be paused.</param>
-        [CLSCompliant(false)]
-        public static void SourcePause(int ns, uint[] sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = sids)
-                {
-                    SourcePause(ns, ptr);
-                }
-            }
-        }
-        /// <summary>This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused.</summary>
-        /// <param name="ns">The number of sources to be paused.</param>
-        /// <param name="sids">A pointer to an array of sources to be paused.</param>
-        [CLSCompliant(true)]
-        public static void SourcePause(int ns, int[] sids)
-        {
-            uint[] temp = new uint[ns];
-            for (int i = 0; i < ns; i++)
-            {
-                temp[i] = (uint)sids[i];
-            }
-            SourcePause(ns, temp);
-        }
-
-        /// <summary>This function pauses a set of sources. The paused sources will have their state changed to ALSourceState.Paused.</summary>
-        /// <param name="ns">The number of sources to be paused.</param>
-        /// <param name="sids">A pointer to an array of sources to be paused.</param>
-        [CLSCompliant(false)]
-        public static void SourcePause(int ns, ref uint sids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &sids)
-                {
-                    SourcePause(ns, ptr);
-                }
-            }
-        }
-
-        #endregion SourcePause
-
-        #endregion Source vector based playback calls
-
-        #region Source based playback calls
-
-        #region SourcePlay
-
-        /// <summary>This function plays, replays or resumes a source. The playing source will have it's state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state.</summary>
-        /// <param name="sid">The name of the source to be played.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePlay", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void SourcePlay(uint sid);
-        // AL_API void AL_APIENTRY alSourcePlay( ALuint sid );
-
-        /// <summary>This function plays, replays or resumes a source. The playing source will have it's state changed to ALSourceState.Playing. When called on a source which is already playing, the source will restart at the beginning. When the attached buffer(s) are done playing, the source will progress to the ALSourceState.Stopped state.</summary>
-        /// <param name="sid">The name of the source to be played.</param>
-        [CLSCompliant(true)]
-        public static void SourcePlay(int sid)
-        {
-            SourcePlay((uint)sid);
-        }
-
-        #endregion SourcePlay
-
-        #region SourceStop
-
-        /// <summary>This function stops a source. The stopped source will have it's state changed to ALSourceState.Stopped.</summary>
-        /// <param name="sid">The name of the source to be stopped.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceStop", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void SourceStop(uint sid);
-        // AL_API void AL_APIENTRY alSourceStop( ALuint sid );
-
-        /// <summary>This function stops a source. The stopped source will have it's state changed to ALSourceState.Stopped.</summary>
-        /// <param name="sid">The name of the source to be stopped.</param>
-        [CLSCompliant(true)]
-        public static void SourceStop(int sid)
-        {
-            SourceStop((uint)sid);
-        }
-
-        #endregion SourceStop
-
-        #region SourceRewind
-
-        /// <summary>This function stops the source and sets its state to ALSourceState.Initial.</summary>
-        /// <param name="sid">The name of the source to be rewound.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceRewind", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void SourceRewind(uint sid);
-        // AL_API void AL_APIENTRY alSourceRewind( ALuint sid );
-
-        /// <summary>This function stops the source and sets its state to ALSourceState.Initial.</summary>
-        /// <param name="sid">The name of the source to be rewound.</param>
-        [CLSCompliant(true)]
-        public static void SourceRewind(int sid)
-        {
-            SourceRewind((uint)sid);
-        }
-
-        #endregion SourceRewind
-
-        #region SourcePause
-
-        /// <summary>This function pauses a source. The paused source will have its state changed to ALSourceState.Paused.</summary>
-        /// <param name="sid">The name of the source to be paused.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourcePause", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void SourcePause(uint sid);
-        // AL_API void AL_APIENTRY alSourcePause( ALuint sid );
-
-        /// <summary>This function pauses a source. The paused source will have its state changed to ALSourceState.Paused.</summary>
-        /// <param name="sid">The name of the source to be paused.</param>
-        [CLSCompliant(true)]
-        public static void SourcePause(int sid)
-        {
-            SourcePause((uint)sid);
-        }
-
-        #endregion SourcePause
-
-        #endregion Source based playback calls
-
-        #region Source Queuing
-
-        #region SourceQueueBuffers
-
-        /// <summary>This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming.</summary>
-        /// <param name="sid">The name of the source to queue buffers onto.</param>
-        /// <param name="numEntries">The number of buffers to be queued.</param>
-        /// <param name="bids">A pointer to an array of buffer names to be queued.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceQueueBuffers"), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void SourceQueueBuffers(uint sid, int numEntries, [In] uint* bids);
-        // AL_API void AL_APIENTRY alSourceQueueBuffers( ALuint sid, ALsizei numEntries, const ALuint *bids );
-
-        /// <summary>This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming.</summary>
-        /// <param name="sid">The name of the source to queue buffers onto.</param>
-        /// <param name="numEntries">The number of buffers to be queued.</param>
-        /// <param name="bids">A pointer to an array of buffer names to be queued.</param>
-        [CLSCompliant(false)]
-        public static void SourceQueueBuffers(uint sid, int numEntries, uint[] bids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = bids)
-                {
-                    SourceQueueBuffers(sid, numEntries, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming.</summary>
-        /// <param name="sid">The name of the source to queue buffers onto.</param>
-        /// <param name="numEntries">The number of buffers to be queued.</param>
-        /// <param name="bids">A pointer to an array of buffer names to be queued.</param>
-        [CLSCompliant(true)]
-        public static void SourceQueueBuffers(int sid, int numEntries, int[] bids)
-        {
-            uint[] temp = new uint[numEntries];
-            for (int i = 0; i < numEntries; i++)
-            {
-                temp[i] = (uint)bids[i];
-            }
-            SourceQueueBuffers((uint)sid, numEntries, temp);
-        }
-
-        /// <summary>This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming.</summary>
-        /// <param name="sid">The name of the source to queue buffers onto.</param>
-        /// <param name="numEntries">The number of buffers to be queued.</param>
-        /// <param name="bids">A pointer to an array of buffer names to be queued.</param>
-        [CLSCompliant(false)]
-        public static void SourceQueueBuffers(uint sid, int numEntries, ref uint bids)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &bids)
-                {
-                    SourceQueueBuffers(sid, numEntries, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function queues a set of buffers on a source. All buffers attached to a source will be played in sequence, and the number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed. When first created, a source will be of type ALSourceType.Undetermined. A successful AL.SourceQueueBuffers call will change the source type to ALSourceType.Streaming.</summary>
-        /// <param name="source">The name of the source to queue buffers onto.</param>
-        /// <param name="buffer">The name of the buffer to be queued.</param>
-        public static void SourceQueueBuffer(int source, int buffer)
-        {
-            unsafe { AL.SourceQueueBuffers((uint)source, 1, (uint*)&buffer); }
-        }
-
-        #endregion SourceQueueBuffers
-
-        #region SourceUnqueueBuffers
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        /// <param name="numEntries">The number of buffers to be unqueued.</param>
-        /// <param name="bids">A pointer to an array of buffer names that were removed.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void SourceUnqueueBuffers(uint sid, int numEntries, [In] uint* bids);
-        // AL_API void AL_APIENTRY alSourceUnqueueBuffers( ALuint sid, ALsizei numEntries, ALuint *bids );
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        /// <param name="numEntries">The number of buffers to be unqueued.</param>
-        /// <param name="bids">A pointer to an array of buffer names that were removed.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity]
-        public static extern void SourceUnqueueBuffers(uint sid, int numEntries, [Out] uint[] bids);
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        /// <param name="numEntries">The number of buffers to be unqueued.</param>
-        /// <param name="bids">A pointer to an array of buffer names that were removed.</param>
-        [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity]
-        public static extern void SourceUnqueueBuffers(int sid, int numEntries, [Out] int[] bids);
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        /// <param name="numEntries">The number of buffers to be unqueued.</param>
-        /// <param name="bids">A pointer to an array of buffer names that were removed.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity]
-        public static extern void SourceUnqueueBuffers(uint sid, int numEntries, ref uint bids);
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        /// <param name="numEntries">The number of buffers to be unqueued.</param>
-        /// <param name="bids">A pointer to an array of buffer names that were removed.</param>
-        [DllImport(AL.Lib, EntryPoint = "alSourceUnqueueBuffers"), SuppressUnmanagedCodeSecurity]
-        public static extern void SourceUnqueueBuffers(int sid, int numEntries, ref int bids);
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        public static int SourceUnqueueBuffer(int sid)
-        {
-            uint buf;
-            unsafe { SourceUnqueueBuffers((uint)sid, 1, &buf); }
-            return (int)buf;
-        }
-
-        /// <summary>This function unqueues a set of buffers attached to a source. The number of processed buffers can be detected using AL.GetSource with parameter ALGetSourcei.BuffersProcessed, which is the maximum number of buffers that can be unqueued using this call. The unqueue operation will only take place if all n buffers can be removed from the queue.</summary>
-        /// <param name="sid">The name of the source to unqueue buffers from.</param>
-        /// <param name="numEntries">The number of buffers to be unqueued.</param>
-        public static int[] SourceUnqueueBuffers(int sid, int numEntries)
-        {
-            if (numEntries <= 0) throw new ArgumentOutOfRangeException("numEntries", "Must be greater than zero.");
-            int[] buf = new int[numEntries];
-            SourceUnqueueBuffers(sid, numEntries, buf);
-            return buf;
-        }
-
-        #endregion SourceUnqueueBuffers
-
-        #endregion Source Queuing
-
-        /*
-         * Buffer
-         * Buffer objects are storage space for sample buffer.
-         * Buffers are referred to by Sources. One Buffer can be used
-         * by multiple Sources.
-         *
-         * Properties include: -
-         *
-         * Frequency (Query only)    AL_FREQUENCY      ALint
-         * Size (Query only)         AL_SIZE           ALint
-         * Bits (Query only)         AL_BITS           ALint
-         * Channels (Query only)     AL_CHANNELS       ALint
-         */
-
-        #region Buffer objects
-
-        #region GenBuffers
-
-        /// <summary>This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers).</summary>
-        /// <param name="n">The number of buffers to be generated.</param>
-        /// <param name="buffers">Pointer to an array of uint values which will store the names of the new buffers.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alGenBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity]
-        unsafe public static extern void GenBuffers(int n, [Out] uint* buffers);
-        // AL_API void AL_APIENTRY alGenBuffers( ALsizei n, ALuint* Buffers );
-
-        /// <summary>This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers).</summary>
-        /// <param name="n">The number of buffers to be generated.</param>
-        /// <param name="buffers">Pointer to an array of uint values which will store the names of the new buffers.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alGenBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity]
-        public static extern void GenBuffers(int n, out uint buffers);
-
-        /// <summary>This function generates one or more buffers, which contain audio buffer (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers).</summary>
-        /// <param name="n">The number of buffers to be generated.</param>
-        /// <param name="buffers">Pointer to an array of uint values which will store the names of the new buffers.</param>
-        [CLSCompliant(true)]
-        [DllImport(AL.Lib, EntryPoint = "alGenBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity]
-        public static extern void GenBuffers(int n, out int buffers);
-
-        /// <summary>This function generates one or more buffers, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers).</summary>
-        /// <param name="n">The number of buffers to be generated.</param>
-        /// <returns>Pointer to an array of uint values which will store the names of the new buffers.</returns>
-        [CLSCompliant(true)]
-        public static int[] GenBuffers(int n)
-        {
-            int[] buffers = new int[n];
-            GenBuffers(buffers.Length, out buffers[0]);
-            return buffers;
-        }
-
-        /// <summary>This function generates one buffer only, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers).</summary>
-        /// <returns>Pointer to an uint value which will store the name of the new buffer.</returns>
-        [CLSCompliant(true)]
-        public static int GenBuffer()
-        {
-            int temp;
-            GenBuffers(1, out temp);
-            return (int)temp;
-        }
-
-        /// <summary>This function generates one buffer only, which contain audio data (see AL.BufferData). References to buffers are uint values, which are used wherever a buffer reference is needed (in calls such as AL.DeleteBuffers, AL.Source with parameter ALSourcei, AL.SourceQueueBuffers, and AL.SourceUnqueueBuffers).</summary>
-        /// <param name="buffer">Pointer to an uint value which will store the names of the new buffer.</param>
-        [CLSCompliant(false)]
-        public static void GenBuffer(out uint buffer)
-        {
-            GenBuffers(1, out buffer);
-        }
-
-        #endregion GenBuffers
-
-        #region DeleteBuffers
-
-        /// <summary>This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="n">The number of buffers to be deleted.</param>
-        /// <param name="buffers">Pointer to an array of buffer names identifying the buffers to be deleted.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alDeleteBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        unsafe public static extern void DeleteBuffers(int n, [In] uint* buffers);
-        // AL_API void AL_APIENTRY alDeleteBuffers( ALsizei n, const ALuint* Buffers );
-
-        /// <summary>This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="n">The number of buffers to be deleted.</param>
-        /// <param name="buffers">Pointer to an array of buffer names identifying the buffers to be deleted.</param>
-        [CLSCompliant(false)]
-        [DllImport(AL.Lib, EntryPoint = "alDeleteBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DeleteBuffers(int n, [In] ref uint buffers);
-
-        /// <summary>This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="n">The number of buffers to be deleted.</param>
-        /// <param name="buffers">Pointer to an array of buffer names identifying the buffers to be deleted.</param>
-        [CLSCompliant(true)]
-        [DllImport(AL.Lib, EntryPoint = "alDeleteBuffers", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DeleteBuffers(int n, [In] ref int buffers);
-
-        /// <summary>This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="buffers">Pointer to a buffer name identifying the buffer to be deleted.</param>
-        [CLSCompliant(false)]
-        public static void DeleteBuffers(uint[] buffers)
-        {
-            if (buffers == null) throw new ArgumentNullException();
-            if (buffers.Length == 0) throw new ArgumentOutOfRangeException();
-            DeleteBuffers(buffers.Length, ref buffers[0]);
-        }
-
-        /// <summary>This function deletes one or more buffers, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="buffers">Pointer to an array of buffer names identifying the buffers to be deleted.</param>
-        [CLSCompliant(true)]
-        public static void DeleteBuffers(int[] buffers)
-        {
-            if (buffers == null) throw new ArgumentNullException();
-            if (buffers.Length == 0) throw new ArgumentOutOfRangeException();
-            DeleteBuffers(buffers.Length, ref buffers[0]);
-        }
-
-        /// <summary>This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="buffer">Pointer to a buffer name identifying the buffer to be deleted.</param>
-        [CLSCompliant(false)]
-        public static void DeleteBuffer(ref uint buffer)
-        {
-            DeleteBuffers(1, ref buffer);
-        }
-
-        /// <summary>This function deletes one buffer only, freeing the resources used by the buffer. Buffers which are attached to a source can not be deleted. See AL.Source (ALSourcei) and AL.SourceUnqueueBuffers for information on how to detach a buffer from a source.</summary>
-        /// <param name="buffer">Pointer to a buffer name identifying the buffer to be deleted.</param>
-        [CLSCompliant(true)]
-        public static void DeleteBuffer(int buffer)
-        {
-            DeleteBuffers(1, ref buffer);
-        }
-
-        #endregion DeleteBuffers
-
-        #region IsBuffer
-
-        /// <summary>This function tests if a buffer name is valid, returning True if valid, False if not.</summary>
-        /// <param name="bid">A buffer Handle previously allocated with <see cref="GenBuffers(int)"/>.</param>
-        /// <returns>Success.</returns>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alIsBuffer", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool IsBuffer(uint bid);
-        // AL_API ALboolean AL_APIENTRY alIsBuffer( ALuint bid );
-
-        /// <summary>This function tests if a buffer name is valid, returning True if valid, False if not.</summary>
-        /// <param name="bid">A buffer Handle previously allocated with <see cref="GenBuffers(int)"/>.</param>
-        /// <returns>Success.</returns>
-        [CLSCompliant(true)]
-        public static bool IsBuffer(int bid)
-        {
-            uint temp = (uint)bid;
-            return IsBuffer(temp);
-        }
-
-        #endregion IsBuffer
-
-        #region BufferData
-
-        /// <summary>This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well.</summary>
-        /// <param name="bid">buffer Handle/Name to be filled with buffer.</param>
-        /// <param name="format">Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16.</param>
-        /// <param name="buffer">Pointer to a pinned audio buffer.</param>
-        /// <param name="size">The size of the audio buffer in bytes.</param>
-        /// <param name="freq">The frequency of the audio buffer.</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alBufferData", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void BufferData(uint bid, ALFormat format, IntPtr buffer, int size, int freq);
-        // AL_API void AL_APIENTRY alBufferData( ALuint bid, ALenum format, const ALvoid* buffer, ALsizei size, ALsizei freq );
-
-        /// <summary>This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well.</summary>
-        /// <param name="bid">buffer Handle/Name to be filled with buffer.</param>
-        /// <param name="format">Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16.</param>
-        /// <param name="buffer">Pointer to a pinned audio buffer.</param>
-        /// <param name="size">The size of the audio buffer in bytes.</param>
-        /// <param name="freq">The frequency of the audio buffer.</param>
-        [CLSCompliant(true)]
-        public static void BufferData(int bid, ALFormat format, IntPtr buffer, int size, int freq)
-        {
-            BufferData((uint)bid, format, buffer, size, freq);
-        }
-
-        /// <summary>This function fills a buffer with audio buffer. All the pre-defined formats are PCM buffer, but this function may be used by extensions to load other buffer types as well.</summary>
-        /// <param name="bid">buffer Handle/Name to be filled with buffer.</param>
-        /// <param name="format">Format type from among the following: ALFormat.Mono8, ALFormat.Mono16, ALFormat.Stereo8, ALFormat.Stereo16.</param>
-        /// <param name="buffer">The audio buffer.</param>
-        /// <param name="size">The size of the audio buffer in bytes.</param>
-        /// <param name="freq">The frequency of the audio buffer.</param>
-        public static void BufferData<TBuffer>(int bid, ALFormat format, TBuffer[] buffer, int size, int freq)
-            where TBuffer : struct
-        {
-            if (!BlittableValueType.Check(buffer))
-                throw new ArgumentException("buffer");
-
-            GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
-            try { BufferData(bid, format, handle.AddrOfPinnedObject(), size, freq); }
-            finally { handle.Free(); }
-        }
-
-        /// <summary>This function fills a buffer with audio buffer (PCM format).</summary>
-        /// <param name="bid">Buffer Handle/Name to be filled with buffer.</param>
-        /// <param name="buffer">A SoundData object containing the buffer to upload.</param>
-        [CLSCompliant(false)]
-        [Obsolete("Use BufferData<TBuffer> instead.")]
-        public static void BufferData(uint bid, SoundData buffer)
-        {
-            unsafe
-            {
-                fixed (byte* data_ptr = &buffer.Data[0])
-                    BufferData(bid, buffer.SoundFormat.SampleFormatAsOpenALFormat, (IntPtr)data_ptr, buffer.Data.Length,
-                               buffer.SoundFormat.SampleRate);
-            }
-        }
-
-        /// <summary>This function fills a buffer with audio buffer (PCM format).</summary>
-        /// <param name="bid">Buffer Handle/Name to be filled with buffer.</param>
-        /// <param name="data">A SoundData object containing the buffer to upload.</param>
-        public static void BufferData(int bid, SoundData data)
-        {
-            unsafe
-            {
-                fixed (byte* data_ptr = &data.Data[0])
-                    BufferData(bid, data.SoundFormat.SampleFormatAsOpenALFormat, (IntPtr)data_ptr, data.Data.Length,
-                               data.SoundFormat.SampleRate);
-            }
-        }
-
-        #endregion BufferData
-
-        #endregion Buffer objects
-
-        #region Set Buffer parameters (currently parameters can only be read)
-
-        /*
-        Remarks (from Manual)
-         * There are no relevant buffer properties defined in OpenAL 1.1 which can be affected by this call,
-         * but this function may be used by OpenAL extensions.
-
-        // AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value );
-        // AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, const ALfloat* values );
-        // AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value );
-        // AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 );
-        // AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, const ALint* values );
-        // AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
-        */
-
-        /*
-        [DllImport( Al.Lib, EntryPoint = "alBuffer3f", ExactSpelling = true, CallingConvention = Al.Style ), SuppressUnmanagedCodeSecurity( )]
-        public static extern void Buffer3f( uint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
-
-        public static void Bufferv3( uint bid, Alenum param, ref Vector3 values )
-        {
-            Buffer3f( bid, param, values.X, values.Y, values.Z );
-        }*/
-
-        #endregion Set Buffer parameters
-
-        #region Get Buffer parameters
-
-        #region GetBufferi
-
-        /// <summary>This function retrieves an integer property of a buffer.</summary>
-        /// <param name="bid">Buffer name whose attribute is being retrieved</param>
-        /// <param name="param">The name of the attribute to be retrieved: ALGetBufferi.Frequency, Bits, Channels, Size, and the currently hidden AL_DATA (dangerous).</param>
-        /// <param name="value">A pointer to an int to hold the retrieved buffer</param>
-        [CLSCompliant(false), DllImport(AL.Lib, EntryPoint = "alGetBufferi", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void GetBuffer(uint bid, ALGetBufferi param, [Out] out int value);
-        // AL_API void AL_APIENTRY alGetBufferi( ALuint bid, ALenum param, ALint* value );
-
-        /// <summary>This function retrieves an integer property of a buffer.</summary>
-        /// <param name="bid">Buffer name whose attribute is being retrieved</param>
-        /// <param name="param">The name of the attribute to be retrieved: ALGetBufferi.Frequency, Bits, Channels, Size, and the currently hidden AL_DATA (dangerous).</param>
-        /// <param name="value">A pointer to an int to hold the retrieved buffer</param>
-        [CLSCompliant(true)]
-        public static void GetBuffer(int bid, ALGetBufferi param, out int value)
-        {
-            GetBuffer((uint)bid, param, out value);
-        }
-
-        #endregion GetBufferi
-
-        // AL_API void AL_APIENTRY alGetBufferf( ALuint bid, ALenum param, ALfloat* value );
-        // AL_API void AL_APIENTRY alGetBuffer3f( ALuint bid, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
-        // AL_API void AL_APIENTRY alGetBufferfv( ALuint bid, ALenum param, ALfloat* values );
-        // AL_API void AL_APIENTRY alGetBuffer3i( ALuint bid, ALenum param, ALint* value1, ALint* value2, ALint* value3);
-        // AL_API void AL_APIENTRY alGetBufferiv( ALuint bid, ALenum param, ALint* values );
-
-        #endregion Get Buffer parameters
-
-        #region Global Parameters
-
-        /// <summary>AL.DopplerFactor is a simple scaling of source and listener velocities to exaggerate or deemphasize the Doppler (pitch) shift resulting from the calculation.</summary>
-        /// <param name="value">A negative value will result in an error, the command is then ignored. The default value is 1f. The current setting can be queried using AL.Get with parameter ALGetFloat.SpeedOfSound.</param>
-        [DllImport(AL.Lib, EntryPoint = "alDopplerFactor", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DopplerFactor(float value);
-        // AL_API void AL_APIENTRY alDopplerFactor( ALfloat value );
-
-        /// <summary>This function is deprecated and should not be used.</summary>
-        /// <param name="value">The default is 1.0f.</param>
-        [DllImport(AL.Lib, EntryPoint = "alDopplerVelocity", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DopplerVelocity(float value);
-        // AL_API void AL_APIENTRY alDopplerVelocity( ALfloat value );
-
-        /// <summary>AL.SpeedOfSound allows the application to change the reference (propagation) speed used in the Doppler calculation. The source and listener velocities should be expressed in the same units as the speed of sound.</summary>
-        /// <param name="value">A negative or zero value will result in an error, and the command is ignored. Default: 343.3f (appropriate for velocity units of meters and air as the propagation medium). The current setting can be queried using AL.Get with parameter ALGetFloat.SpeedOfSound.</param>
-        [DllImport(AL.Lib, EntryPoint = "alSpeedOfSound", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void SpeedOfSound(float value);
-        // AL_API void AL_APIENTRY alSpeedOfSound( ALfloat value );
-
-        /// <summary>This function selects the OpenAL distance model – ALDistanceModel.InverseDistance, ALDistanceModel.InverseDistanceClamped, ALDistanceModel.LinearDistance, ALDistanceModel.LinearDistanceClamped, ALDistanceModel.ExponentDistance, ALDistanceModel.ExponentDistanceClamped, or ALDistanceModel.None. The default distance model in OpenAL is ALDistanceModel.InverseDistanceClamped.</summary>
-        /// <remarks>
-        /// The ALDistanceModel .InverseDistance model works according to the following formula:
-        /// gain = ALSourcef.ReferenceDistance / (ALSourcef.ReferenceDistance + ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance));
-        /// 
-        /// The ALDistanceModel .InverseDistanceClamped model works according to the following formula:
-        /// distance = max(distance,ALSourcef.ReferenceDistance);
-        /// distance = min(distance,ALSourcef.MaxDistance);
-        /// gain = ALSourcef.ReferenceDistance / (ALSourcef.ReferenceDistance + ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance));
-        /// 
-        /// The ALDistanceModel.LinearDistance model works according to the following formula: 
-        /// distance = min(distance, ALSourcef.MaxDistance) // avoid negative gain
-        /// gain = (1 – ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance) / (ALSourcef.MaxDistance – ALSourcef.ReferenceDistance))
-        /// 
-        /// The ALDistanceModel.LinearDistanceClamped model works according to the following formula:
-        /// distance = max(distance, ALSourcef.ReferenceDistance)
-        /// distance = min(distance, ALSourcef.MaxDistance)
-        /// gain = (1 – ALSourcef.RolloffFactor * (distance – ALSourcef.ReferenceDistance) / (ALSourcef.MaxDistance – ALSourcef.ReferenceDistance))
-        /// 
-        /// The ALDistanceModel.ExponentDistance model works according to the following formula:
-        /// gain = (distance / ALSourcef.ReferenceDistance) ^ (- ALSourcef.RolloffFactor) 
-        /// 
-        /// The ALDistanceModel.ExponentDistanceClamped model works according to the following formula:
-        /// distance = max(distance, ALSourcef.ReferenceDistance)
-        /// distance = min(distance, ALSourcef.MaxDistance)
-        /// gain = (distance / ALSourcef.ReferenceDistance) ^ (- ALSourcef.RolloffFactor)
-        /// 
-        /// The ALDistanceModel.None model works according to the following formula:
-        /// gain = 1f;
-        /// </remarks>
-        /// <param name="distancemodel"></param>
-        [DllImport(AL.Lib, EntryPoint = "alDistanceModel", ExactSpelling = true, CallingConvention = AL.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DistanceModel(ALDistanceModel distancemodel);
-        // AL_API void AL_APIENTRY alDistanceModel( ALenum distanceModel );
-
-        #endregion Global Parameters
-
-        #region Helpers
-
-        /// <summary>(Helper) Returns Source state information.</summary>
-        /// <param name="sid">The source to be queried.</param>
-        /// <returns>state information from OpenAL.</returns>
-        [CLSCompliant(false)]
-        public static ALSourceState GetSourceState(uint sid)
-        {
-            int temp;
-            AL.GetSource(sid, ALGetSourcei.SourceState, out temp);
-            return (ALSourceState)temp;
-        }
-
-        /// <summary>(Helper) Returns Source state information.</summary>
-        /// <param name="sid">The source to be queried.</param>
-        /// <returns>state information from OpenAL.</returns>
-        [CLSCompliant(true)]
-        public static ALSourceState GetSourceState(int sid)
-        {
-            int temp;
-            AL.GetSource(sid, ALGetSourcei.SourceState, out temp);
-            return (ALSourceState)temp;
-        }
-
-        /// <summary>(Helper) Returns Source type information.</summary>
-        /// <param name="sid">The source to be queried.</param>
-        /// <returns>type information from OpenAL.</returns>
-        [CLSCompliant(false)]
-        public static ALSourceType GetSourceType(uint sid)
-        {
-            int temp;
-            AL.GetSource(sid, ALGetSourcei.SourceType, out temp);
-            return (ALSourceType)temp;
-        }
-
-        /// <summary>(Helper) Returns Source type information.</summary>
-        /// <param name="sid">The source to be queried.</param>
-        /// <returns>type information from OpenAL.</returns>
-        [CLSCompliant(true)]
-        public static ALSourceType GetSourceType(int sid)
-        {
-            int temp;
-            AL.GetSource(sid, ALGetSourcei.SourceType, out temp);
-            return (ALSourceType)temp;
-        }
-
-        [CLSCompliant(true)]
-        public static ALDistanceModel GetDistanceModel()
-        {
-            return (ALDistanceModel)AL.Get(ALGetInteger.DistanceModel);
-        }
-
-        #endregion Helpers
-    }
-}
diff --git a/Source/Compatibility/Audio/OpenAL/AL/ALEnums.cs b/Source/Compatibility/Audio/OpenAL/AL/ALEnums.cs
deleted file mode 100644 (file)
index 0970b9a..0000000
+++ /dev/null
@@ -1,431 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* AlTokens.cs
- * C header: \OpenAL 1.1 SDK\include\Al.h
- * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-
-namespace OpenTK.Audio
-{
-
-    ///<summary>A list of valid Enable/Disable/IsEnabled parameters</summary>
-    public enum ALCapability : int
-    {
-        ///<summary>Currently no state toggles exist for vanilla OpenAL and no Extension uses it.</summary>
-        Invalid = -1,
-    }
-
-    ///<summary>A list of valid 32-bit Float Listener/GetListener parameters</summary>
-    public enum ALListenerf : int
-    {
-        ///<summary>Indicate the gain (Volume amplification) applied. Type: float Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is interpreted as zero volume and the channel is effectively disabled.</summary>
-        Gain = 0x100A,
-
-        ///<summary>(EFX Extension) This setting is critical if Air Absorption effects are enabled because the amount of Air Absorption applied is directly related to the real-world distance between the Source and the Listener. centimeters 0.01f meters 1.0f kilometers 1000.0f Range [float.MinValue .. float.MaxValue] Default: 1.0f</summary>
-        EfxMetersPerUnit = 0x20004,
-    }
-
-    ///<summary>A list of valid Math.Vector3 Listener/GetListener parameters</summary>
-    public enum ALListener3f : int
-    {
-        ///<summary>Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system.</summary>
-        Position = 0x1004,
-
-        ///<summary>Specify the current velocity in three dimensional space.</summary>
-        Velocity = 0x1006,
-    }
-
-    ///<summary>A list of valid float[] Listener/GetListener parameters</summary>
-    public enum ALListenerfv : int
-    {
-        ///<summary>Indicate Listener orientation. Expects two Vector3, At followed by Up.</summary>
-        Orientation = 0x100F,
-    }
-
-    ///<summary>A list of valid 32-bit Float Source/GetSource parameters</summary>
-    public enum ALSourcef : int
-    {
-        ///<summary>Source specific reference distance. Type: float Range: [0.0f - float.PositiveInfinity] At 0.0f, no distance attenuation occurs. Type: float Default: 1.0f.</summary>
-        ReferenceDistance = 0x1020,
-
-        ///<summary>Indicate distance above which Sources are not attenuated using the inverse clamped distance model. Default: float.PositiveInfinity Type: float Range: [0.0f - float.PositiveInfinity]</summary>
-        MaxDistance = 0x1023,
-
-        ///<summary>Source specific rolloff factor. Type: float Range: [0.0f - float.PositiveInfinity]</summary>
-        RolloffFactor = 0x1021,
-
-        ///<summary>Specify the pitch to be applied, either at Source, or on mixer results, at Listener. Range: [0.5f - 2.0f] Default: 1.0f</summary>
-        Pitch = 0x1003,
-
-        ///<summary>Indicate the gain (volume amplification) applied. Type: float. Range: [0.0f - ? ] A value of 1.0 means un-attenuated/unchanged. Each division by 2 equals an attenuation of -6dB. Each multiplicaton with 2 equals an amplification of +6dB. A value of 0.0f is meaningless with respect to a logarithmic scale; it is interpreted as zero volume - the channel is effectively disabled.</summary>
-        Gain = 0x100A,
-
-        ///<summary>Indicate minimum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic)</summary>
-        MinGain = 0x100D,
-
-        ///<summary>Indicate maximum Source attenuation. Type: float Range: [0.0f - 1.0f] (Logarthmic)</summary>
-        MaxGain = 0x100E,
-
-        ///<summary>Directional Source, inner cone angle, in degrees. Range: [0-360] Default: 360</summary>
-        ConeInnerAngle = 0x1001,
-
-        ///<summary>Directional Source, outer cone angle, in degrees. Range: [0-360] Default: 360</summary>
-        ConeOuterAngle = 0x1002,
-
-        ///<summary>Directional Source, outer cone gain. Default: 0.0f Range: [0.0f - 1.0] (Logarithmic)</summary>
-        ConeOuterGain = 0x1022,
-
-        /// <summary>The playback position, expressed in seconds.</summary>
-        SecOffset = 0x1024, // AL_EXT_OFFSET extension.
-
-        ///<summary>(EFX Extension) This property is a multiplier on the amount of Air Absorption applied to the Source. The AL_AIR_ABSORPTION_FACTOR is multiplied by an internal Air Absorption Gain HF value of 0.994 (-0.05dB) per meter which represents normal atmospheric humidity and temperature. Range [0.0f .. 10.0f] Default: 0.0f</summary>
-        EfxAirAbsorptionFactor = 0x20007,
-
-        ///<summary>(EFX Extension) This property is defined the same way as the Reverb Room Rolloff property: it is one of two methods available in the Effect Extension to attenuate the reflected sound (early reflections and reverberation) according to source-listener distance. Range [0.0f .. 10.0f] Default: 0.0f</summary>
-        EfxRoomRolloffFactor = 0x20008,
-
-        ///<summary>(EFX Extension) A directed Source points in a specified direction. The Source sounds at full volume when the listener is directly in front of the source; it is attenuated as the listener circles the Source away from the front. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        EfxConeOuterGainHighFrequency = 0x20009,
-
-    }
-
-    ///<summary>A list of valid Math.Vector3 Source/GetSource parameters</summary>
-    public enum ALSource3f : int
-    {
-        ///<summary>Specify the current location in three dimensional space. OpenAL, like OpenGL, uses a right handed coordinate system, where in a frontal default view X (thumb) points right, Y points up (index finger), and Z points towards the viewer/camera (middle finger). To switch from a left handed coordinate system, flip the sign on the Z coordinate. Listener position is always in the world coordinate system.</summary>
-        Position = 0x1004,
-
-        ///<summary>Specify the current velocity in three dimensional space.</summary>
-        Velocity = 0x1006,
-
-        ///<summary>Specify the current direction vector.</summary>
-        Direction = 0x1005,
-    }
-
-    ///<summary>A list of valid 8-bit boolean Source/GetSource parameters</summary>
-    public enum ALSourceb : int
-    {
-        ///<summary>Indicate that the Source has relative coordinates. Type: bool Range: [True, False]</summary>
-        SourceRelative = 0x202,
-
-        ///<summary>Indicate whether the Source is looping. Type: bool Range: [True, False] Default: False.</summary>
-        Looping = 0x1007,
-
-        ///<summary>(EFX Extension) If this Source property is set to True, this Source’s direct-path is automatically filtered according to the orientation of the source relative to the listener and the setting of the Source property Sourcef.ConeOuterGainHF. Type: bool Range [False, True] Default: True</summary>
-        EfxDirectFilterGainHighFrequencyAuto = 0x2000A,
-
-        ///<summary>(EFX Extension) If this Source property is set to True, the intensity of this Source’s reflected sound is automatically attenuated according to source-listener distance and source directivity (as determined by the cone parameters). If it is False, the reflected sound is not attenuated according to distance and directivity. Type: bool Range [False, True] Default: True</summary>
-        EfxAuxiliarySendFilterGainAuto = 0x2000B,
-
-        ///<summary>(EFX Extension) If this Source property is AL_TRUE (its default value), the intensity of this Source’s reflected sound at high frequencies will be automatically attenuated according to the high-frequency source directivity as set by the Sourcef.ConeOuterGainHF property. If this property is AL_FALSE, the Source’s reflected sound is not filtered at all according to the Source’s directivity. Type: bool Range [False, True] Default: True</summary>
-        EfxAuxiliarySendFilterGainHighFrequencyAuto = 0x2000C,
-    }
-
-    ///<summary>A list of valid Int32 Source parameters</summary>
-    public enum ALSourcei : int
-    {
-        ///<summary>The playback position, expressed in bytes.</summary>
-        ByteOffset = 0x1026,  // AL_EXT_OFFSET extension.
-
-        ///<summary>The playback position, expressed in samples.</summary>
-        SampleOffset = 0x1025, // AL_EXT_OFFSET extension.
-
-        ///<summary>Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer Handle.</summary>
-        Buffer = 0x1009,
-
-        ///<summary>Source type (Static, Streaming or undetermined). Use enum AlSourceType for comparison</summary>
-        SourceType = 0x1027,
-
-        ///<summary>(EFX Extension) This Source property is used to apply filtering on the direct-path (dry signal) of a Source.</summary>
-        EfxDirectFilter = 0x20005,
-    }
-
-    ///<summary>A list of valid 3x Int32 Source/GetSource parameters</summary>
-    public enum ALSource3i : int
-    {
-        ///<summary>(EFX Extension) This Source property is used to establish connections between Sources and Auxiliary Effect Slots. For a Source to feed an Effect that has been loaded into an Auxiliary Effect Slot the application must configure one of the Source’s auxiliary sends. This process involves setting 3 variables – the destination Auxiliary Effect Slot ID, the Auxiliary Send number, and an optional Filter ID. Type: uint Range: any valid Filter Handle.</summary>
-        EfxAuxiliarySendFilter = 0x20006,
-    }
-
-    ///<summary>A list of valid Int32 GetSource parameters</summary>
-    public enum ALGetSourcei : int
-    {
-        ///<summary>The playback position, expressed in bytes. AL_EXT_OFFSET Extension.</summary>
-        ByteOffset = 0x1026,
-
-        ///<summary>The playback position, expressed in samples. AL_EXT_OFFSET Extension.</summary>
-        SampleOffset = 0x1025,
-
-        ///<summary>Indicate the Buffer to provide sound samples. Type: uint Range: any valid Buffer Handle.</summary>
-        Buffer = 0x1009,
-
-        /// <summary>The state of the source (Stopped, Playing, etc.) Use the enum AlSourceState for comparison.</summary>
-        SourceState = 0x1010,
-
-        /// <summary>The number of buffers queued on this source.</summary>
-        BuffersQueued = 0x1015,
-
-        /// <summary>The number of buffers in the queue that have been processed.</summary>
-        BuffersProcessed = 0x1016,
-
-        ///<summary>Source type (Static, Streaming or undetermined). Use enum AlSourceType for comparison.</summary>
-        SourceType = 0x1027,
-    }
-
-    /*
-    public enum ALDeprecated : int
-    {
-        ///<summary>Deprecated. Specify the channel mask. (Creative) Type: uint Range: [0 - 255]</summary>
-        ChannelMask = 0x3000,
-    }
-    */
-
-    ///<summary>Source state information, can be retrieved by AL.Source() with ALSourcei.SourceState.</summary>
-    public enum ALSourceState : int
-    {
-        ///<summary>Default State when loaded, can be manually set with AL.SourceRewind().</summary>
-        Initial = 0x1011,
-
-        ///<summary>The source is currently playing.</summary>
-        Playing = 0x1012,
-
-        ///<summary>The source has paused playback.</summary>
-        Paused = 0x1013,
-
-        ///<summary>The source is not playing.</summary>
-        Stopped = 0x1014,
-    }
-
-    ///<summary>Source type information,  can be retrieved by AL.Source() with ALSourcei.SourceType.</summary>
-    public enum ALSourceType : int
-    {
-        ///<summary>Source is Static if a Buffer has been attached using AL.Source with the parameter Sourcei.Buffer.</summary>
-        Static = 0x1028,
-
-        ///<summary>Source is Streaming if one or more Buffers have been attached using AL.SourceQueueBuffers</summary>
-        Streaming = 0x1029,
-
-        ///<summary>Source is undetermined when it has a null Buffer attached</summary>
-        Undetermined = 0x1030,
-    }
-
-    ///<summary>Sound samples: Format specifier.</summary>
-    public enum ALFormat : int
-    {
-        ///<summary>1 Channel, 8 bits per sample.</summary>
-        Mono8 = 0x1100,
-
-        ///<summary>1 Channel, 16 bits per sample.</summary>
-        Mono16 = 0x1101,
-
-        ///<summary>2 Channels, 8 bits per sample each.</summary>
-        Stereo8 = 0x1102,
-
-        ///<summary>2 Channels, 16 bits per sample each.</summary>
-        Stereo16 = 0x1103,
-
-        /// <summary>1 Channel, A-law encoded data. Requires Extension: AL_EXT_ALAW</summary>
-        MonoALawExt = 0x10016,
-
-        /// <summary>2 Channels, A-law encoded data. Requires Extension: AL_EXT_ALAW</summary>
-        StereoALawExt = 0x10017,
-
-        /// <summary>1 Channel, µ-law encoded data. Requires Extension: AL_EXT_MULAW</summary>
-        MonoMuLawExt = 0x10014,
-
-        /// <summary>2 Channels, µ-law encoded data. Requires Extension: AL_EXT_MULAW</summary>
-        StereoMuLawExt = 0x10015,
-
-        /// <summary>Ogg Vorbis encoded data. Requires Extension: AL_EXT_vorbis</summary>
-        VorbisExt = 0x10003,
-
-        /// <summary>MP3 encoded data. Requires Extension: AL_EXT_mp3</summary>
-        Mp3Ext = 0x10020,
-
-        /// <summary>1 Channel, IMA4 ADPCM encoded data. Requires Extension: AL_EXT_IMA4</summary>
-        MonoIma4Ext = 0x1300,
-
-        /// <summary>2 Channels, IMA4 ADPCM encoded data. Requires Extension: AL_EXT_IMA4</summary>
-        StereoIma4Ext = 0x1301,
-
-        /// <summary>1 Channel, single-precision floating-point data. Requires Extension: AL_EXT_float32</summary>
-        MonoFloat32Ext = 0x10010,
-
-        /// <summary>2 Channels, single-precision floating-point data. Requires Extension: AL_EXT_float32</summary>
-        StereoFloat32Ext = 0x10011,
-
-        /// <summary>1 Channel, double-precision floating-point data. Requires Extension: AL_EXT_double</summary>
-        MonoDoubleExt = 0x10012,
-
-        /// <summary>2 Channels, double-precision floating-point data. Requires Extension: AL_EXT_double</summary>
-        StereoDoubleExt = 0x10013,
-
-        /// <summary>Multichannel 5.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi51Chn16Ext = 0x120B,
-
-        /// <summary>Multichannel 5.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi51Chn32Ext = 0x120C,
-
-        /// <summary>Multichannel 5.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi51Chn8Ext = 0x120A,
-
-        /// <summary>Multichannel 6.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi61Chn16Ext = 0x120E,
-
-        /// <summary>Multichannel 6.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi61Chn32Ext = 0x120F,
-
-        /// <summary>Multichannel 6.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi61Chn8Ext = 0x120D,
-
-        /// <summary>Multichannel 7.1, 16-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi71Chn16Ext = 0x1211,
-
-        /// <summary>Multichannel 7.1, 32-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi71Chn32Ext = 0x1212,
-
-        /// <summary>Multichannel 7.1, 8-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        Multi71Chn8Ext = 0x1210,
-
-        /// <summary>Multichannel 4.0, 16-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        MultiQuad16Ext = 0x1205,
-
-        /// <summary>Multichannel 4.0, 32-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        MultiQuad32Ext = 0x1206,
-
-        /// <summary>Multichannel 4.0, 8-bit data. Requires Extension: AL_EXT_MCFORMATS</summary>
-        MultiQuad8Ext = 0x1204,
-
-        /// <summary>1 Channel rear speaker, 16-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS</summary>
-        MultiRear16Ext = 0x1208,
-
-        /// <summary>1 Channel rear speaker, 32-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS</summary>
-        MultiRear32Ext = 0x1209,
-
-        /// <summary>1 Channel rear speaker, 8-bit data. See Quadrophonic setups. Requires Extension: AL_EXT_MCFORMATS</summary>
-        MultiRear8Ext = 0x1207,
-    }
-
-    ///<summary>A list of valid Int32 GetBuffer parameters</summary>
-    public enum ALGetBufferi : int
-    {
-        ///<summary>Sound sample's frequency, in units of hertz [Hz]. This is the number of samples per second. Half of the sample frequency marks the maximum significant frequency component.</summary>
-        Frequency = 0x2001,
-
-        /// <summary>Bit depth of the buffer. Should be 8 or 16.</summary>
-        Bits = 0x2002,
-
-        /// <summary>Number of channels in buffer. > 1 is valid, but buffer won’t be positioned when played. 1 for Mono, 2 for Stereo.</summary>
-        Channels = 0x2003,
-
-        /// <summary>size of the Buffer in bytes.</summary>
-        Size = 0x2004,
-
-        // Deprecated: From Manual, not in header: AL_DATA ( i, iv ) original location where buffer was copied from generally useless, as was probably freed after buffer creation
-    }
-
-    ///<summary>Buffer state. Not supported for public use (yet).</summary>
-    public enum ALBufferState : int
-    {
-        ///<summary>Buffer state. Not supported for public use (yet).</summary>
-        Unused = 0x2010,
-
-        ///<summary>Buffer state. Not supported for public use (yet).</summary>
-        Pending = 0x2011,
-
-        ///<summary>Buffer state. Not supported for public use (yet).</summary>
-        Processed = 0x2012,
-    }
-
-    /// <summary>Returned by AL.GetError</summary>
-    public enum ALError : int
-    {
-        ///<summary>No OpenAL Error.</summary>
-        NoError = 0,
-
-        ///<summary>Invalid Name paramater passed to OpenAL call.</summary>
-        InvalidName = 0xA001,
-
-        ///<summary>Invalid parameter passed to OpenAL call.</summary>
-        IllegalEnum = 0xA002,
-        ///<summary>Invalid parameter passed to OpenAL call.</summary>
-        InvalidEnum = 0xA002,
-
-        ///<summary>Invalid OpenAL enum parameter value.</summary>
-        InvalidValue = 0xA003,
-
-        ///<summary>Illegal OpenAL call.</summary>
-        IllegalCommand = 0xA004,
-        ///<summary>Illegal OpenAL call.</summary>
-        InvalidOperation = 0xA004,
-
-        ///<summary>No OpenAL memory left.</summary>
-        OutOfMemory = 0xA005,
-    }
-
-    ///<summary>A list of valid string AL.Get() parameters</summary>
-    public enum ALGetString : int
-    {
-        /// <summary>Gets the Vendor name.</summary>
-        Vendor = 0xB001,
-
-        /// <summary>Gets the driver version.</summary>
-        Version = 0xB002,
-
-        /// <summary>Gets the renderer mode.</summary>
-        Renderer = 0xB003,
-
-        /// <summary>Gets a list of all available Extensions, separated with spaces.</summary>
-        Extensions = 0xB004,
-    }
-
-    ///<summary>A list of valid 32-bit Float AL.Get() parameters</summary>
-    public enum ALGetFloat : int
-    {
-        ///<summary>Doppler scale. Default 1.0f</summary>
-        DopplerFactor = 0xC000,
-
-        ///<summary>Tweaks speed of propagation. This functionality is deprecated.</summary>
-        DopplerVelocity = 0xC001,
-
-        ///<summary>Speed of Sound in units per second. Default: 343.3f</summary>
-        SpeedOfSound = 0xC003,
-    }
-
-    ///<summary>A list of valid Int32 AL.Get() parameters</summary>
-    public enum ALGetInteger : int
-    {
-        ///<summary>See enum ALDistanceModel.</summary><see cref="ALDistanceModel"/>
-        DistanceModel = 0xD000,
-    }
-
-    /// <summary>Used by AL.DistanceModel(), the distance model can be retrieved by AL.Get() with ALGetInteger.DistanceModel</summary>
-    public enum ALDistanceModel : int
-    {
-        ///<summary>Bypasses all distance attenuation calculation for all Sources.</summary>
-        None = 0,
-
-        ///<summary>InverseDistance is equivalent to the IASIG I3DL2 model with the exception that ALSourcef.ReferenceDistance does not imply any clamping.</summary>
-        InverseDistance = 0xD001,
-
-        ///<summary>InverseDistanceClamped is the IASIG I3DL2 model, with ALSourcef.ReferenceDistance indicating both the reference distance and the distance below which gain will be clamped.</summary>
-        InverseDistanceClamped = 0xD002,
-
-        ///<summary>AL_EXT_LINEAR_DISTANCE extension.</summary>
-        LinearDistance = 0xD003,
-
-        ///<summary>AL_EXT_LINEAR_DISTANCE extension.</summary>
-        LinearDistanceClamped = 0xD004,
-
-        ///<summary>AL_EXT_EXPONENT_DISTANCE extension.</summary>
-        ExponentDistance = 0xD005,
-
-        ///<summary>AL_EXT_EXPONENT_DISTANCE extension.</summary>
-        ExponentDistanceClamped = 0xD006,
-    }
-
-}
diff --git a/Source/Compatibility/Audio/OpenAL/AL/EffectsExtension.cs b/Source/Compatibility/Audio/OpenAL/AL/EffectsExtension.cs
deleted file mode 100644 (file)
index 056832a..0000000
+++ /dev/null
@@ -1,1288 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* EfxFunctions.cs
- * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h"
- * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK)
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-
-namespace OpenTK.Audio
-{
-    /// <summary>
-    /// Provides access to the OpenAL effects extension.
-    /// </summary>
-    public partial class EffectsExtension
-    {
-        #region Helpers
-
-        #region BindEffect
-
-        /// <summary>(Helper) Selects the Effect type used by this Effect handle.</summary>
-        /// <param name="eid">Effect id returned from a successful call to GenEffects.</param>
-        /// <param name="type">Effect type.</param>
-        [CLSCompliant(false)]
-        public void BindEffect(uint eid, EfxEffectType type)
-        {
-            Imported_alEffecti(eid, EfxEffecti.EffectType, (int)type);
-        }
-
-        /// <summary>(Helper) Selects the Effect type used by this Effect handle.</summary>
-        /// <param name="eid">Effect id returned from a successful call to GenEffects.</param>
-        /// <param name="type">Effect type.</param>
-
-        public void BindEffect(int eid, EfxEffectType type)
-        {
-            Imported_alEffecti((uint)eid, EfxEffecti.EffectType, (int)type);
-        }
-
-        #endregion BindEffect
-
-        #region BindFilterToSource
-
-        /// <summary>(Helper) reroutes the output of a Source through a Filter.</summary>
-        /// <param name="source">A valid Source handle.</param>
-        /// <param name="filter">A valid Filter handle.</param>
-        [CLSCompliant(false)]
-        public void BindFilterToSource(uint source, uint filter)
-        {
-            AL.Source(source, ALSourcei.EfxDirectFilter, (int)filter);
-        }
-
-        /// <summary>(Helper) reroutes the output of a Source through a Filter.</summary>
-        /// <param name="source">A valid Source handle.</param>
-        /// <param name="filter">A valid Filter handle.</param>
-
-        public void BindFilterToSource(int source, int filter)
-        {
-            AL.Source((uint)source, ALSourcei.EfxDirectFilter, (int)filter);
-        }
-
-        #endregion BindFilterToSource
-
-        #region BindEffectToAuxiliarySlot
-
-        /// <summary>(Helper) Attaches an Effect to an Auxiliary Effect Slot.</summary>
-        /// <param name="auxiliaryeffectslot">The slot handle to attach the Effect to.</param>
-        /// <param name="effect">The Effect handle that is being attached.</param>
-        [CLSCompliant(false)]
-        public void BindEffectToAuxiliarySlot(uint auxiliaryeffectslot, uint effect)
-        {
-            AuxiliaryEffectSlot(auxiliaryeffectslot, EfxAuxiliaryi.EffectslotEffect, (int)effect);
-        }
-
-        /// <summary>(Helper) Attaches an Effect to an Auxiliary Effect Slot.</summary>
-        /// <param name="auxiliaryeffectslot">The slot handle to attach the Effect to.</param>
-        /// <param name="effect">The Effect handle that is being attached.</param>
-
-        public void BindEffectToAuxiliarySlot(int auxiliaryeffectslot, int effect)
-        {
-            AuxiliaryEffectSlot((uint)auxiliaryeffectslot, EfxAuxiliaryi.EffectslotEffect, (int)effect);
-        }
-
-        #endregion BindEffectToAuxiliarySlot
-
-        #region BindSourceToAuxiliarySlot
-
-        /// <summary>(Helper) Reroutes a Source's output into an Auxiliary Effect Slot.</summary>
-        /// <param name="source">The Source handle who's output is forwarded.</param>
-        /// <param name="slot">The Auxiliary Effect Slot handle that receives input from the Source.</param>
-        /// <param name="slotnumber">Every Source has only a limited number of slots it can feed buffer to. The number must stay below AlcContextAttributes.EfxMaxAuxiliarySends</param>
-        /// <param name="filter">Filter handle to be attached between Source ouput and Auxiliary Slot input. Use 0 or EfxFilterType.FilterNull for no filter. </param>
-        [CLSCompliant(false)]
-        public void BindSourceToAuxiliarySlot(uint source, uint slot, int slotnumber, uint filter)
-        {
-            AL.Source(source, ALSource3i.EfxAuxiliarySendFilter, (int)slot, (int)slotnumber, (int)filter);
-        }
-
-        /// <summary>(Helper) Reroutes a Source's output into an Auxiliary Effect Slot.</summary>
-        /// <param name="source">The Source handle who's output is forwarded.</param>
-        /// <param name="slot">The Auxiliary Effect Slot handle that receives input from the Source.</param>
-        /// <param name="slotnumber">Every Source has only a limited number of slots it can feed buffer to. The number must stay below AlcContextAttributes.EfxMaxAuxiliarySends</param>
-        /// <param name="filter">Filter handle to be attached between Source ouput and Auxiliary Slot input. Use 0 or EfxFilterType.FilterNull for no filter. </param>
-
-        public void BindSourceToAuxiliarySlot(int source, int slot, int slotnumber, int filter)
-        {
-            AL.Source((uint)source, ALSource3i.EfxAuxiliarySendFilter, (int)slot, (int)slotnumber, (int)filter);
-        }
-
-        #endregion BindSourceToAuxiliarySlot
-
-        #endregion Helpers
-
-        #region Effect Object
-
-        #region alGenEffects
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGenEffects(int n, [Out] uint* effects);
-        // typedef void (__cdecl *LPALGENEFFECTS)( ALsizei n, ALuint* effects );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGenEffects Imported_alGenEffects;
-
-        /// <summary>The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object</summary>
-        /// <remarks>After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti.</remarks>
-        /// <param name="n">Number of Effects to be created.</param>
-        /// <param name="effects">Pointer addressing sufficient memory to store n Effect object identifiers.</param>
-        [CLSCompliant(false)]
-        public void GenEffects(int n, out uint effects)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &effects)
-                {
-                    Imported_alGenEffects(n, ptr);
-                    effects = *ptr;
-                }
-            }
-        }
-
-        /// <summary>The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object</summary>
-        /// <remarks>After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti.</remarks>
-        /// <param name="n">Number of Effects to be created.</param>
-        /// <param name="effects">Pointer addressing sufficient memory to store n Effect object identifiers.</param>
-        public void GenEffects(int n, out int effects)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &effects)
-                {
-                    Imported_alGenEffects(n, (uint*)ptr);
-                    effects = *ptr;
-                }
-            }
-        }
-
-        /// <summary>Generates one or more effect objects.</summary>
-        /// <param name="n">Number of Effect object identifiers to generate.</param>
-        /// <remarks>
-        /// <para>The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object.</para>
-        /// <para>After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti.</para>
-        /// </remarks>
-        public int[] GenEffects(int n)
-        {
-            if (n <= 0) throw new ArgumentOutOfRangeException("n", "Must be higher than 0.");
-            int[] effects = new int[n];
-            GenEffects(n, out effects[0]);
-            return effects;
-        }
-
-        /// <summary>Generates a single effect object.</summary>
-        /// <returns>A handle to the generated effect object.</returns>
-        /// <remarks>
-        /// <para>The GenEffects function is used to create one or more Effect objects. An Effect object stores an effect type and a set of parameter values to control that Effect. In order to use an Effect it must be attached to an Auxiliary Effect Slot object.</para>
-        /// <para>After creation an Effect has no type (EfxEffectType.Null), so before it can be used to store a set of parameters, the application must specify what type of effect should be stored in the object, using Effect() with EfxEffecti.</para>
-        /// </remarks>
-        public int GenEffect()
-        {
-            int temp;
-            GenEffects(1, out temp);
-            return temp;
-        }
-
-        /// <summary>Generates a single effect object.</summary>
-        /// <param name="effect">A handle to the generated effect object.</param>
-        [CLSCompliant(false)]
-        public void GenEffect(out uint effect)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &effect)
-                {
-                    Imported_alGenEffects(1, ptr);
-                    effect = *ptr;
-                }
-            }
-
-        }
-
-        #endregion alGenEffects
-
-        #region alDeleteEffects
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alDeleteEffects(int n, [In] uint* effects);
-        // typedef void (__cdecl *LPALDELETEEFFECTS)( ALsizei n, ALuint* effects );
-
-        //[CLSCompliant(false)]
-        private Delegate_alDeleteEffects Imported_alDeleteEffects;
-
-        /// <summary>The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects.</summary>
-        /// <param name="n">Number of Effects to be deleted.</param>
-        /// <param name="effects">Pointer to n Effect object identifiers.</param>
-        [CLSCompliant(false)]
-        public void DeleteEffects(int n, ref uint effects)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &effects)
-                {
-                    Imported_alDeleteEffects(n, ptr);
-                }
-            }
-        }
-
-        /// <summary>The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects.</summary>
-        /// <param name="n">Number of Effects to be deleted.</param>
-        /// <param name="effects">Pointer to n Effect object identifiers.</param>
-        public void DeleteEffects(int n, ref int effects)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &effects)
-                {
-                    Imported_alDeleteEffects(n, (uint*)ptr);
-                }
-            }
-        }
-
-        /// <summary>The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects.</summary>
-        /// <param name="effects">Pointer to n Effect object identifiers.</param>
-        public void DeleteEffects(int[] effects)
-        {
-            if (effects == null) throw new ArgumentNullException("effects");
-            DeleteEffects(effects.Length, ref effects[0]);
-        }
-
-        /// <summary>The DeleteEffects function is used to delete and free resources for Effect objects previously created with GenEffects.</summary>
-        /// <param name="effects">Pointer to n Effect object identifiers.</param>
-        [CLSCompliant(false)]
-        public void DeleteEffects(uint[] effects)
-        {
-            if (effects == null) throw new ArgumentNullException("effects");
-            DeleteEffects(effects.Length, ref effects[0]);
-        }
-
-        /// <summary>This function deletes one Effect only.</summary>
-        /// <param name="effect">Pointer to an effect name/handle identifying the Effect Object to be deleted.</param>
-        public void DeleteEffect(int effect)
-        {
-            DeleteEffects(1, ref effect);
-        }
-
-        /// <summary>This function deletes one Effect only.</summary>
-        /// <param name="effect">Pointer to an effect name/handle identifying the Effect Object to be deleted.</param>
-        [CLSCompliant(false)]
-        public void DeleteEffect(ref uint effect)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &effect)
-                {
-                    Imported_alDeleteEffects(1, ptr);
-                }
-            }
-        }
-
-        #endregion alDeleteEffects
-
-        #region alIsEffect
-
-        //[CLSCompliant(false)]
-        private delegate bool Delegate_alIsEffect(uint eid);
-        // typedef ALboolean (__cdecl *LPALISEFFECT)( ALuint eid );
-
-        //[CLSCompliant(false)]
-        private Delegate_alIsEffect Imported_alIsEffect;
-
-        /// <summary>The IsEffect function is used to determine if an object identifier is a valid Effect object.</summary>
-        /// <param name="eid">Effect identifier to validate.</param>
-        /// <returns>True if the identifier is a valid Effect, False otherwise.</returns>
-        [CLSCompliant(false)]
-        public bool IsEffect(uint eid)
-        {
-            return Imported_alIsEffect(eid);
-        }
-
-        /// <summary>The IsEffect function is used to determine if an object identifier is a valid Effect object.</summary>
-        /// <param name="eid">Effect identifier to validate.</param>
-        /// <returns>True if the identifier is a valid Effect, False otherwise.</returns>
-
-        public bool IsEffect(int eid)
-        {
-            return Imported_alIsEffect((uint)eid);
-        }
-
-        #endregion alIsEffect
-
-        #region alEffecti
-
-        //[CLSCompliant(false)]
-        private delegate void Delegate_alEffecti(uint eid, EfxEffecti param, int value);
-        // typedef void (__cdecl *LPALEFFECTI)( ALuint eid, ALenum param, ALint value); 
-
-        //[CLSCompliant(false)]
-        private Delegate_alEffecti Imported_alEffecti;
-
-        /// <summary>This function is used to set integer properties on Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Integer value.</param>
-        [CLSCompliant(false)]
-        public void Effect(uint eid, EfxEffecti param, int value)
-        {
-            Imported_alEffecti(eid, param, value);
-        }
-
-        /// <summary>This function is used to set integer properties on Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Integer value.</param>
-
-        public void Effect(int eid, EfxEffecti param, int value)
-        {
-            Imported_alEffecti((uint)eid, param, value);
-        }
-
-        #endregion alEffecti
-
-        #region alEffectf
-
-        //[CLSCompliant(false)]
-        private delegate void Delegate_alEffectf(uint eid, EfxEffectf param, float value);
-        // typedef void (__cdecl *LPALEFFECTF)( ALuint eid, ALenum param, ALfloat value);
-
-        //[CLSCompliant(false)]
-        private Delegate_alEffectf Imported_alEffectf;
-
-        /// <summary>This function is used to set floating-point properties on Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Floating-point value.</param>
-        [CLSCompliant(false)]
-        public void Effect(uint eid, EfxEffectf param, float value)
-        {
-            Imported_alEffectf(eid, param, value);
-        }
-
-        /// <summary>This function is used to set floating-point properties on Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Floating-point value.</param>
-
-        public void Effect(int eid, EfxEffectf param, float value)
-        {
-            Imported_alEffectf((uint)eid, param, value);
-        }
-
-        #endregion alEffectf
-
-        #region alEffectfv
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alEffectfv(uint eid, EfxEffect3f param, [In] float* values);
-        // typedef void (__cdecl *LPALEFFECTFV)( ALuint eid, ALenum param, ALfloat* values ); 
-
-        //[CLSCompliant(false)]
-        private Delegate_alEffectfv Imported_alEffectfv;
-
-        /// <summary>This function is used to set 3 floating-point properties on Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="values">Pointer to Math.Vector3.</param>
-        [CLSCompliant(false)]
-        public void Effect(uint eid, EfxEffect3f param, ref Vector3 values)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &values.X)
-                {
-                    Imported_alEffectfv(eid, param, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to set 3 floating-point properties on Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="values">Pointer to Math.Vector3.</param>
-
-        public void Effect(int eid, EfxEffect3f param, ref Vector3 values)
-        {
-            Effect((uint)eid, param, ref values);
-        }
-
-        #endregion alEffectfv
-
-        #region alGetEffecti
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetEffecti(uint eid, EfxEffecti pname, [Out] int* value);
-        // typedef void (__cdecl *LPALGETEFFECTI)( ALuint eid, ALenum pname, ALint* value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetEffecti Imported_alGetEffecti;
-
-        /// <summary>This function is used to retrieve integer properties from Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where integer value will be stored.</param>
-        [CLSCompliant(false)]
-        public void GetEffect(uint eid, EfxEffecti pname, out int value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value)
-                {
-                    Imported_alGetEffecti(eid, pname, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve integer properties from Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where integer value will be stored.</param>
-
-        public void GetEffect(int eid, EfxEffecti pname, out int value)
-        {
-            GetEffect((uint)eid, pname, out value);
-        }
-
-        #endregion alGetEffecti
-
-        #region alGetEffectf
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetEffectf(uint eid, EfxEffectf pname, [Out]float* value);
-        // typedef void (__cdecl *LPALGETEFFECTF)( ALuint eid, ALenum pname, ALfloat* value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetEffectf Imported_alGetEffectf;
-
-        /// <summary>This function is used to retrieve floating-point properties from Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where floating-point value will be stored.</param>
-        [CLSCompliant(false)]
-        public void GetEffect(uint eid, EfxEffectf pname, out float value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value)
-                {
-                    Imported_alGetEffectf(eid, pname, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve floating-point properties from Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where floating-point value will be stored.</param>
-
-        public void GetEffect(int eid, EfxEffectf pname, out float value)
-        {
-            GetEffect((uint)eid, pname, out value);
-        }
-
-        #endregion alGetEffectf
-
-        #region alGetEffectfv
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetEffectfv(uint eid, EfxEffect3f param, [Out] float* values);
-        // typedef void (__cdecl *LPALGETEFFECTFV)( ALuint eid, ALenum pname, ALfloat* values );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetEffectfv Imported_alGetEffectfv;
-
-        /// <summary>This function is used to retrieve 3 floating-point properties from Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to retrieve.</param>
-        /// <param name="values">A Math.Vector3 to hold the values.</param>
-        [CLSCompliant(false)]
-        public void GetEffect(uint eid, EfxEffect3f param, out Vector3 values)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &values.X)
-                {
-                    Imported_alGetEffectfv(eid, param, ptr);
-                    values.X = ptr[0];
-                    values.Y = ptr[1];
-                    values.Z = ptr[2];
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve 3 floating-point properties from Effect objects.</summary>
-        /// <param name="eid">Effect object identifier.</param>
-        /// <param name="param">Effect property to retrieve.</param>
-        /// <param name="values">A Math.Vector3 to hold the values.</param>
-
-        public void GetEffect(int eid, EfxEffect3f param, out Vector3 values)
-        {
-            GetEffect((uint)eid, param, out values);
-        }
-
-        #endregion alGetEffectfv
-
-        // Not used:
-        // typedef void (__cdecl *LPALEFFECTIV)( ALuint eid, ALenum param, ALint* values ); 
-        // typedef void (__cdecl *LPALGETEFFECTIV)( ALuint eid, ALenum pname, ALint* values );
-
-        #endregion Effect Object
-
-        #region Filter Object
-
-        #region alGenFilters
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGenFilters(int n, [Out] uint* filters);
-        // typedef void (__cdecl *LPALGENFILTERS)( ALsizei n, ALuint* filters ); 
-
-        //[CLSCompliant(false)]
-        private Delegate_alGenFilters Imported_alGenFilters;
-
-        /// <summary>The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters.</summary>
-        /// <remarks>After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri.</remarks>
-        /// <param name="n">Number of Filters to be created.</param>
-        /// <param name="filters">Pointer addressing sufficient memory to store n Filter object identifiers.</param>
-        [CLSCompliant(false)]
-        public void GenFilters(int n, out uint filters)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &filters)
-                {
-                    Imported_alGenFilters(n, ptr);
-                    filters = *ptr;
-                }
-            }
-        }
-
-        /// <summary>The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters.</summary>
-        /// <remarks>After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri.</remarks>
-        /// <param name="n">Number of Filters to be created.</param>
-        /// <param name="filters">Pointer addressing sufficient memory to store n Filter object identifiers.</param>
-        public void GenFilters(int n, out int filters)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &filters)
-                {
-                    Imported_alGenFilters(n, (uint*)ptr);
-                    filters = *ptr;
-                }
-            }
-        }
-
-
-        /// <summary>The GenFilters function is used to create one or more Filter objects. A Filter object stores a filter type and a set of parameter values to control that Filter. Filter objects can be attached to Sources as Direct Filters or Auxiliary Send Filters.</summary>
-        /// <remarks>After creation a Filter has no type (EfxFilterType.Null), so before it can be used to store a set of parameters, the application must specify what type of filter should be stored in the object, using Filter() with EfxFilteri.</remarks>
-        /// <param name="n">Number of Filters to be created.</param>
-        /// <returns>Pointer addressing sufficient memory to store n Filter object identifiers.</returns>
-        public int[] GenFilters(int n)
-        {
-
-            if (n <= 0) throw new ArgumentOutOfRangeException("n", "Must be higher than 0.");
-            int[] filters = new int[n];
-            GenFilters(filters.Length, out filters[0]);
-            return filters;
-        }
-
-        /// <summary>This function generates only one Filter.</summary>
-        /// <returns>Storage Int32 for the new filter name/handle.</returns>
-        public int GenFilter()
-        {
-            int filter;
-            GenFilters(1, out filter);
-            return filter;
-        }
-
-        /// <summary>This function generates only one Filter.</summary>
-        /// <param name="filter">Storage UInt32 for the new filter name/handle.</param>
-        [CLSCompliant(false)]
-        unsafe public void GenFilter(out uint filter)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &filter)
-                {
-                    Imported_alGenFilters(1, ptr);
-                    filter = *ptr;
-                }
-            }
-        }
-
-        #endregion alGenFilters
-
-        #region alDeleteFilters
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alDeleteFilters(int n, [In] uint* filters);
-        // typedef void (__cdecl *LPALDELETEFILTERS)( ALsizei n, ALuint* filters );
-
-        //[CLSCompliant(false)]
-        private Delegate_alDeleteFilters Imported_alDeleteFilters;
-
-        /// <summary>The DeleteFilters function is used to delete and free resources for Filter objects previously created with GenFilters.</summary>
-        /// <param name="n">Number of Filters to be deleted.</param>
-        /// <param name="filters">Pointer to n Filter object identifiers.</param>
-        [CLSCompliant(false)]
-        public void DeleteFilters(int n, ref uint filters)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &filters)
-                {
-                    Imported_alDeleteFilters(n, ptr);
-                }
-            }
-        }
-
-        /// <summary>The DeleteFilters function is used to delete and free resources for Filter objects previously created with GenFilters.</summary>
-        /// <param name="n">Number of Filters to be deleted.</param>
-        /// <param name="filters">Pointer to n Filter object identifiers.</param>
-        public void DeleteFilters(int n, ref int filters)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &filters)
-                {
-                    Imported_alDeleteFilters(n, (uint*)ptr);
-                }
-            }
-        }
-
-        /// <summary>This function deletes one Filter only.</summary>
-        /// <param name="filters">Pointer to an filter name/handle identifying the Filter Object to be deleted.</param>
-        [CLSCompliant(false)]
-        public void DeleteFilters(uint[] filters)
-        {
-            if (filters == null) throw new ArgumentNullException("filters");
-            DeleteFilters(filters.Length, ref filters[0]);
-        }
-
-        /// <summary>This function deletes one Filter only.</summary>
-        /// <param name="filters">Pointer to an filter name/handle identifying the Filter Object to be deleted.</param>
-        public void DeleteFilters(int[] filters)
-        {
-            if (filters == null) throw new ArgumentNullException("filters");
-            DeleteFilters(filters.Length, ref filters[0]);
-        }
-
-        /// <summary>This function deletes one Filter only.</summary>
-        /// <param name="filter">Pointer to an filter name/handle identifying the Filter Object to be deleted.</param>
-        public void DeleteFilter(int filter)
-        {
-            DeleteFilters(1, ref filter);
-        }
-
-        /// <summary>This function deletes one Filter only.</summary>
-        /// <param name="filter">Pointer to an filter name/handle identifying the Filter Object to be deleted.</param>
-        [CLSCompliant(false)]
-        public void DeleteFilter(ref uint filter)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &filter)
-                {
-                    Imported_alDeleteFilters(1, ptr);
-                }
-            }
-        }
-
-        #endregion alDeleteFilters
-
-        #region alIsFilter
-
-        //[CLSCompliant(false)]
-        private delegate bool Delegate_alIsFilter(uint fid);
-        // typedef ALboolean (__cdecl *LPALISFILTER)( ALuint fid );
-
-        //[CLSCompliant(false)]
-        private Delegate_alIsFilter Imported_alIsFilter;
-
-        /// <summary>The IsFilter function is used to determine if an object identifier is a valid Filter object.</summary>
-        /// <param name="fid">Effect identifier to validate.</param>
-        /// <returns>True if the identifier is a valid Filter, False otherwise.</returns>
-        [CLSCompliant(false)]
-        public bool IsFilter(uint fid)
-        {
-            return Imported_alIsFilter(fid);
-        }
-
-        /// <summary>The IsFilter function is used to determine if an object identifier is a valid Filter object.</summary>
-        /// <param name="fid">Effect identifier to validate.</param>
-        /// <returns>True if the identifier is a valid Filter, False otherwise.</returns>
-
-        public bool IsFilter(int fid)
-        {
-            return Imported_alIsFilter((uint)fid);
-        }
-
-        #endregion alIsFilter
-
-        #region alFilteri
-
-        //[CLSCompliant(false)]
-        private delegate void Delegate_alFilteri(uint fid, EfxFilteri param, int value);
-        // typedef void (__cdecl *LPALFILTERI)( ALuint fid, ALenum param, ALint value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alFilteri Imported_alFilteri;
-
-        /// <summary>This function is used to set integer properties on Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Integer value.</param>
-        [CLSCompliant(false)]
-        public void Filter(uint fid, EfxFilteri param, int value)
-        {
-            Imported_alFilteri(fid, param, value);
-        }
-
-        /// <summary>This function is used to set integer properties on Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Integer value.</param>
-
-        public void Filter(int fid, EfxFilteri param, int value)
-        {
-            Imported_alFilteri((uint)fid, param, value);
-        }
-
-        #endregion alFilteri
-
-        #region alFilterf
-
-        //[CLSCompliant(false)]
-        private delegate void Delegate_alFilterf(uint fid, EfxFilterf param, float value);
-        // typedef void (__cdecl *LPALFILTERF)( ALuint fid, ALenum param, ALfloat value);
-
-        //[CLSCompliant(false)]
-        private Delegate_alFilterf Imported_alFilterf;
-
-        /// <summary>This function is used to set floating-point properties on Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Floating-point value.</param>
-        [CLSCompliant(false)]
-        public void Filter(uint fid, EfxFilterf param, float value)
-        {
-            Imported_alFilterf(fid, param, value);
-        }
-
-        /// <summary>This function is used to set floating-point properties on Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="param">Effect property to set.</param>
-        /// <param name="value">Floating-point value.</param>
-
-        public void Filter(int fid, EfxFilterf param, float value)
-        {
-            Imported_alFilterf((uint)fid, param, value);
-        }
-
-        #endregion alFilterf
-
-        #region alGetFilteri
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetFilteri(uint fid, EfxFilteri pname, [Out] int* value);
-        // typedef void (__cdecl *LPALGETFILTERI)( ALuint fid, ALenum pname, ALint* value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetFilteri Imported_alGetFilteri;
-
-        /// <summary>This function is used to retrieve integer properties from Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where integer value will be stored.</param>
-        [CLSCompliant(false)]
-        public void GetFilter(uint fid, EfxFilteri pname, out int value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value)
-                {
-                    Imported_alGetFilteri(fid, pname, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve integer properties from Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where integer value will be stored.</param>
-
-        public void GetFilter(int fid, EfxFilteri pname, out int value)
-        {
-            GetFilter((uint)fid, pname, out value);
-        }
-
-        #endregion alGetFilteri
-
-        #region alGetFilterf
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetFilterf(uint fid, EfxFilterf pname, [Out] float* value);
-        // typedef void (__cdecl *LPALGETFILTERF)( ALuint fid, ALenum pname, ALfloat* value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetFilterf Imported_alGetFilterf;
-
-        /// <summary>This function is used to retrieve floating-point properties from Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where floating-point value will be stored.</param>
-        [CLSCompliant(false)]
-        public void GetFilter(uint fid, EfxFilterf pname, out float value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value)
-                {
-                    Imported_alGetFilterf(fid, pname, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve floating-point properties from Filter objects.</summary>
-        /// <param name="fid">Filter object identifier.</param>
-        /// <param name="pname">Effect property to retrieve.</param>
-        /// <param name="value">Address where floating-point value will be stored.</param>
-
-        public void GetFilter(int fid, EfxFilterf pname, out float value)
-        {
-            GetFilter((uint)fid, pname, out value);
-        }
-
-        #endregion alGetFilterf
-
-        // Not used:
-        // typedef void (__cdecl *LPALFILTERIV)( ALuint fid, ALenum param, ALint* values ); 
-        // typedef void (__cdecl *LPALFILTERFV)( ALuint fid, ALenum param, ALfloat* values ); 
-        // typedef void (__cdecl *LPALGETFILTERIV)( ALuint fid, ALenum pname, ALint* values );
-        // typedef void (__cdecl *LPALGETFILTERFV)( ALuint fid, ALenum pname, ALfloat* values );
-
-        #endregion Filter Object
-
-        #region Auxiliary Effect Slot Object
-
-        #region alGenAuxiliaryEffectSlots
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGenAuxiliaryEffectSlots(int n, [Out] uint* slots);
-        // typedef void (__cdecl *LPALGENAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGenAuxiliaryEffectSlots Imported_alGenAuxiliaryEffectSlots;
-
-        /// <summary>The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used.</summary>
-        /// <remarks>An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available.</remarks>
-        /// <param name="n">Number of Auxiliary Effect Slots to be created.</param>
-        /// <param name="slots">Pointer addressing sufficient memory to store n Effect Slot object identifiers.</param>
-        [CLSCompliant(false)]
-        public void GenAuxiliaryEffectSlots(int n, out uint slots)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &slots)
-                {
-                    Imported_alGenAuxiliaryEffectSlots(n, ptr);
-                    slots = *ptr;
-                }
-            }
-        }
-
-        /// <summary>The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used.</summary>
-        /// <remarks>An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available.</remarks>
-        /// <param name="n">Number of Auxiliary Effect Slots to be created.</param>
-        /// <param name="slots">Pointer addressing sufficient memory to store n Effect Slot object identifiers.</param>
-        public void GenAuxiliaryEffectSlots(int n, out int slots)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &slots)
-                {
-                    Imported_alGenAuxiliaryEffectSlots(n, (uint*)ptr);
-                    slots = *ptr;
-                }
-            }
-        }
-
-        /// <summary>The GenAuxiliaryEffectSlots function is used to create one or more Auxiliary Effect Slots. The number of slots that can be created will be dependant upon the Open AL device used.</summary>
-        /// <remarks>An application should check the OpenAL error state after making this call to determine if the Effect Slot was successfully created. If the function call fails then none of the requested Effect Slots are created. A good strategy for creating any OpenAL object is to use a for-loop and generate one object each loop iteration and then check for an error condition. If an error is set then the loop can be broken and the application can determine if sufficient resources are available.</remarks>
-        /// <param name="n">Number of Auxiliary Effect Slots to be created.</param>
-        /// <returns>Pointer addressing sufficient memory to store n Effect Slot object identifiers.</returns>
-        public int[] GenAuxiliaryEffectSlots(int n)
-        {
-            if (n <= 0) throw new ArgumentOutOfRangeException("n", "Must be higher than 0.");
-            int[] slots = new int[n];
-            GenAuxiliaryEffectSlots(slots.Length, out slots[0]);
-            return slots;
-        }
-
-        /// <summary>This function generates only one Auxiliary Effect Slot.</summary>
-        /// <returns>Storage Int32 for the new auxiliary effect slot name/handle.</returns>
-        public int GenAuxiliaryEffectSlot()
-        {
-            int temp;
-            GenAuxiliaryEffectSlots(1, out temp);
-            return temp;
-        }
-
-        /// <summary>This function generates only one Auxiliary Effect Slot.</summary>
-        /// <returns>Storage UInt32 for the new auxiliary effect slot name/handle.</returns>
-        [CLSCompliant(false)]
-        public void GenAuxiliaryEffectSlot(out uint slot)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &slot)
-                {
-                    Imported_alGenAuxiliaryEffectSlots(1, ptr);
-                    slot = *ptr;
-                }
-            }
-        }
-
-        #endregion alGenAuxiliaryEffectSlots
-
-        #region DeleteAuxiliaryEffectSlots
-
-        unsafe private delegate void Delegate_alDeleteAuxiliaryEffectSlots(int n, [In] uint* slots);
-        // typedef void (__cdecl *LPALDELETEAUXILIARYEFFECTSLOTS)( ALsizei n, ALuint* slots );
-
-        private Delegate_alDeleteAuxiliaryEffectSlots Imported_alDeleteAuxiliaryEffectSlots;
-
-        /// <summary>The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots.</summary>
-        /// <param name="n">Number of Auxiliary Effect Slots to be deleted.</param>
-        /// <param name="slots">Pointer to n Effect Slot object identifiers.</param>
-        [CLSCompliant(false)]
-        public void DeleteAuxiliaryEffectSlots(int n, ref uint slots)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &slots)
-                {
-                    Imported_alDeleteAuxiliaryEffectSlots(n, ptr);
-                }
-            }
-        }
-
-        /// <summary>The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots.</summary>
-        /// <param name="n">Number of Auxiliary Effect Slots to be deleted.</param>
-        /// <param name="slots">Pointer to n Effect Slot object identifiers.</param>
-        public void DeleteAuxiliaryEffectSlots(int n, ref int slots)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &slots)
-                {
-                    Imported_alDeleteAuxiliaryEffectSlots(n, (uint*)ptr);
-                }
-            }
-        }
-
-        /// <summary>The DeleteAuxiliaryEffectSlots function is used to delete and free resources for Auxiliary Effect Slots previously created with GenAuxiliaryEffectSlots.</summary>
-        /// <param name="slots">Pointer to n Effect Slot object identifiers.</param>
-        public void DeleteAuxiliaryEffectSlots(int[] slots)
-        {
-            if (slots == null) throw new ArgumentNullException("slots");
-            DeleteAuxiliaryEffectSlots(slots.Length, ref slots[0]);
-        }
-
-        /// <summary>This function deletes one AuxiliaryEffectSlot only.</summary>
-        /// <param name="slots">Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted.</param>
-        [CLSCompliant(false)]
-        public void DeleteAuxiliaryEffectSlots(uint[] slots)
-        {
-            if (slots == null) throw new ArgumentNullException("slots");
-            DeleteAuxiliaryEffectSlots(slots.Length, ref slots[0]);
-        }
-
-        /// <summary>This function deletes one AuxiliaryEffectSlot only.</summary>
-        /// <param name="slot">Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted.</param>
-        public void DeleteAuxiliaryEffectSlot(int slot)
-        {
-            DeleteAuxiliaryEffectSlots(1, ref slot);
-        }
-
-        /// <summary>This function deletes one AuxiliaryEffectSlot only.</summary>
-        /// <param name="slot">Pointer to an auxiliary effect slot name/handle identifying the Auxiliary Effect Slot Object to be deleted.</param>
-        [CLSCompliant(false)]
-        public void DeleteAuxiliaryEffectSlot(ref uint slot)
-        {
-            unsafe
-            {
-                fixed (uint* ptr = &slot)
-                {
-                    Imported_alDeleteAuxiliaryEffectSlots(1, ptr);
-                }
-            }
-        }
-
-        #endregion alDeleteAuxiliaryEffectSlots
-
-        #region alIsAuxiliaryEffectSlot
-
-        //[CLSCompliant(false)]
-        private delegate bool Delegate_alIsAuxiliaryEffectSlot(uint slot);
-        // typedef ALboolean (__cdecl *LPALISAUXILIARYEFFECTSLOT)( ALuint slot );
-
-        //[CLSCompliant(false)]
-        private Delegate_alIsAuxiliaryEffectSlot Imported_alIsAuxiliaryEffectSlot;
-
-        /// <summary>The IsAuxiliaryEffectSlot function is used to determine if an object identifier is a valid Auxiliary Effect Slot object.</summary>
-        /// <param name="slot">Effect Slot object identifier to validate.</param>
-        /// <returns>True if the identifier is a valid Auxiliary Effect Slot, False otherwise.</returns>
-        [CLSCompliant(false)]
-        public bool IsAuxiliaryEffectSlot(uint slot)
-        {
-            return Imported_alIsAuxiliaryEffectSlot(slot);
-        }
-
-        /// <summary>The IsAuxiliaryEffectSlot function is used to determine if an object identifier is a valid Auxiliary Effect Slot object.</summary>
-        /// <param name="slot">Effect Slot object identifier to validate.</param>
-        /// <returns>True if the identifier is a valid Auxiliary Effect Slot, False otherwise.</returns>
-
-        public bool IsAuxiliaryEffectSlot(int slot)
-        {
-            return Imported_alIsAuxiliaryEffectSlot((uint)slot);
-        }
-
-        #endregion alIsAuxiliaryEffectSlot
-
-        #region alAuxiliaryEffectSloti
-
-        //[CLSCompliant(false)]
-        private delegate void Delegate_alAuxiliaryEffectSloti(uint asid, EfxAuxiliaryi param, int value);
-        // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum param, ALint value ); 
-
-        //[CLSCompliant(false)]
-        private Delegate_alAuxiliaryEffectSloti Imported_alAuxiliaryEffectSloti;
-
-        /// <summary>This function is used to set integer properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="param">Auxiliary Effect Slot property to set.</param>
-        /// <param name="value">Integer value.</param>
-        [CLSCompliant(false)]
-        public void AuxiliaryEffectSlot(uint asid, EfxAuxiliaryi param, int value)
-        {
-            Imported_alAuxiliaryEffectSloti(asid, param, value);
-        }
-
-        /// <summary>This function is used to set integer properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="param">Auxiliary Effect Slot property to set.</param>
-        /// <param name="value">Integer value.</param>
-
-        public void AuxiliaryEffectSlot(int asid, EfxAuxiliaryi param, int value)
-        {
-            Imported_alAuxiliaryEffectSloti((uint)asid, param, value);
-        }
-
-        #endregion alAuxiliaryEffectSloti
-
-        #region alAuxiliaryEffectSlotf
-
-        //[CLSCompliant(false)]
-        private delegate void Delegate_alAuxiliaryEffectSlotf(uint asid, EfxAuxiliaryf param, float value);
-        // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum param, ALfloat value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alAuxiliaryEffectSlotf Imported_alAuxiliaryEffectSlotf;
-
-        /// <summary>This function is used to set floating-point properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="param">Auxiliary Effect Slot property to set.</param>
-        /// <param name="value">Floating-point value.</param>
-        [CLSCompliant(false)]
-        public void AuxiliaryEffectSlot(uint asid, EfxAuxiliaryf param, float value)
-        {
-            Imported_alAuxiliaryEffectSlotf(asid, param, value);
-        }
-
-        /// <summary>This function is used to set floating-point properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="param">Auxiliary Effect Slot property to set.</param>
-        /// <param name="value">Floating-point value.</param>
-
-        public void AuxiliaryEffectSlot(int asid, EfxAuxiliaryf param, float value)
-        {
-            Imported_alAuxiliaryEffectSlotf((uint)asid, param, value);
-        }
-
-        #endregion alAuxiliaryEffectSlotf
-
-        #region alGetAuxiliaryEffectSloti
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetAuxiliaryEffectSloti(uint asid, EfxAuxiliaryi pname, [Out] int* value);
-        // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTI)( ALuint asid, ALenum pname, ALint* value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetAuxiliaryEffectSloti Imported_alGetAuxiliaryEffectSloti;
-
-        /// <summary>This function is used to retrieve integer properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="pname">Auxiliary Effect Slot property to retrieve.</param>
-        /// <param name="value">Address where integer value will be stored.</param>
-        [CLSCompliant(false)]
-        public void GetAuxiliaryEffectSlot(uint asid, EfxAuxiliaryi pname, out int value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value)
-                {
-                    Imported_alGetAuxiliaryEffectSloti(asid, pname, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve integer properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="pname">Auxiliary Effect Slot property to retrieve.</param>
-        /// <param name="value">Address where integer value will be stored.</param>
-
-        public void GetAuxiliaryEffectSlot(int asid, EfxAuxiliaryi pname, out int value)
-        {
-            GetAuxiliaryEffectSlot((uint)asid, pname, out value);
-        }
-
-        #endregion alGetAuxiliaryEffectSloti
-
-        #region alGetAuxiliaryEffectSlotf
-
-        //[CLSCompliant(false)]
-        unsafe private delegate void Delegate_alGetAuxiliaryEffectSlotf(uint asid, EfxAuxiliaryf pname, [Out] float* value);
-        // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTF)( ALuint asid, ALenum pname, ALfloat* value );
-
-        //[CLSCompliant(false)]
-        private Delegate_alGetAuxiliaryEffectSlotf Imported_alGetAuxiliaryEffectSlotf;
-
-        /// <summary>This function is used to retrieve floating properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="pname">Auxiliary Effect Slot property to retrieve.</param>
-        /// <param name="value">Address where floating-point value will be stored.</param>
-        [CLSCompliant(false)]
-        public void GetAuxiliaryEffectSlot(uint asid, EfxAuxiliaryf pname, out float value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value)
-                {
-                    Imported_alGetAuxiliaryEffectSlotf(asid, pname, ptr);
-                }
-            }
-        }
-
-        /// <summary>This function is used to retrieve floating properties on Auxiliary Effect Slot objects.</summary>
-        /// <param name="asid">Auxiliary Effect Slot object identifier.</param>
-        /// <param name="pname">Auxiliary Effect Slot property to retrieve.</param>
-        /// <param name="value">Address where floating-point value will be stored.</param>
-
-        public void GetAuxiliaryEffectSlot(int asid, EfxAuxiliaryf pname, out float value)
-        {
-            GetAuxiliaryEffectSlot((uint)asid, pname, out value);
-        }
-
-        #endregion alGetAuxiliaryEffectSlotf
-
-        // Not used:
-        // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum param, ALint* values ); 
-        // typedef void (__cdecl *LPALAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum param, ALfloat* values ); 
-        // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTIV)( ALuint asid, ALenum pname, ALint* values );
-        // typedef void (__cdecl *LPALGETAUXILIARYEFFECTSLOTFV)( ALuint asid, ALenum pname, ALfloat* values );
-
-        #endregion Auxiliary Effect Slot Object
-
-        #region Constructor / Extension Loading
-
-        private bool _valid;
-
-        /// <summary>Returns True if the EFX Extension has been found and could be initialized.</summary>
-        public bool IsInitialized
-        {
-            get
-            {
-                return _valid;
-            }
-        }
-
-        /// <summary>
-        /// Constructs a new EffectsExtension instance.
-        /// </summary>
-        public EffectsExtension()
-        {
-            _valid = false;
-
-            if (AudioContext.CurrentContext == null)
-                throw new InvalidOperationException("AL.LoadAll() needs a current AudioContext.");
-
-            if (!AudioContext.CurrentContext.SupportsExtension("ALC_EXT_EFX"))
-            {
-                Debug.WriteLine("EFX Extension (ALC_EXT_EFX) is not supported(AudioContext: {0}).", AudioContext.CurrentContext.ToString());
-                return;
-            }
-            // Console.WriteLine("ALC_EXT_EFX found. Efx can be used.");
-
-            try
-            {
-                Imported_alGenEffects = (Delegate_alGenEffects)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGenEffects"), typeof(Delegate_alGenEffects));
-                Imported_alDeleteEffects = (Delegate_alDeleteEffects)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alDeleteEffects"), typeof(Delegate_alDeleteEffects));
-                Imported_alIsEffect = (Delegate_alIsEffect)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alIsEffect"), typeof(Delegate_alIsEffect));
-                Imported_alEffecti = (Delegate_alEffecti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alEffecti"), typeof(Delegate_alEffecti));
-                Imported_alEffectf = (Delegate_alEffectf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alEffectf"), typeof(Delegate_alEffectf));
-                Imported_alEffectfv = (Delegate_alEffectfv)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alEffectfv"), typeof(Delegate_alEffectfv));
-                Imported_alGetEffecti = (Delegate_alGetEffecti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetEffecti"), typeof(Delegate_alGetEffecti));
-                Imported_alGetEffectf = (Delegate_alGetEffectf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetEffectf"), typeof(Delegate_alGetEffectf));
-                Imported_alGetEffectfv = (Delegate_alGetEffectfv)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetEffectfv"), typeof(Delegate_alGetEffectfv));
-            }
-            catch (Exception e)
-            {
-                Debug.WriteLine("Failed to marshal Effect functions. " + e.ToString());
-                return;
-            }
-            // Console.WriteLine("Effect functions appear to be ok.");
-
-            try
-            {
-                Imported_alGenFilters = (Delegate_alGenFilters)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGenFilters"), typeof(Delegate_alGenFilters));
-                Imported_alDeleteFilters = (Delegate_alDeleteFilters)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alDeleteFilters"), typeof(Delegate_alDeleteFilters));
-                Imported_alIsFilter = (Delegate_alIsFilter)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alIsFilter"), typeof(Delegate_alIsFilter));
-                Imported_alFilteri = (Delegate_alFilteri)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alFilteri"), typeof(Delegate_alFilteri));
-                Imported_alFilterf = (Delegate_alFilterf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alFilterf"), typeof(Delegate_alFilterf));
-                Imported_alGetFilteri = (Delegate_alGetFilteri)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetFilteri"), typeof(Delegate_alGetFilteri));
-                Imported_alGetFilterf = (Delegate_alGetFilterf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetFilterf"), typeof(Delegate_alGetFilterf));
-            }
-            catch (Exception e)
-            {
-                Debug.WriteLine("Failed to marshal Filter functions. " + e.ToString());
-                return;
-            }
-            // Console.WriteLine("Filter functions appear to be ok.");
-
-            try
-            {
-                Imported_alGenAuxiliaryEffectSlots = (Delegate_alGenAuxiliaryEffectSlots)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGenAuxiliaryEffectSlots"), typeof(Delegate_alGenAuxiliaryEffectSlots));
-                Imported_alDeleteAuxiliaryEffectSlots = (Delegate_alDeleteAuxiliaryEffectSlots)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alDeleteAuxiliaryEffectSlots"), typeof(Delegate_alDeleteAuxiliaryEffectSlots));
-                Imported_alIsAuxiliaryEffectSlot = (Delegate_alIsAuxiliaryEffectSlot)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alIsAuxiliaryEffectSlot"), typeof(Delegate_alIsAuxiliaryEffectSlot));
-                Imported_alAuxiliaryEffectSloti = (Delegate_alAuxiliaryEffectSloti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alAuxiliaryEffectSloti"), typeof(Delegate_alAuxiliaryEffectSloti));
-                Imported_alAuxiliaryEffectSlotf = (Delegate_alAuxiliaryEffectSlotf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alAuxiliaryEffectSlotf"), typeof(Delegate_alAuxiliaryEffectSlotf));
-                Imported_alGetAuxiliaryEffectSloti = (Delegate_alGetAuxiliaryEffectSloti)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetAuxiliaryEffectSloti"), typeof(Delegate_alGetAuxiliaryEffectSloti));
-                Imported_alGetAuxiliaryEffectSlotf = (Delegate_alGetAuxiliaryEffectSlotf)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("alGetAuxiliaryEffectSlotf"), typeof(Delegate_alGetAuxiliaryEffectSlotf));
-            }
-            catch (Exception e)
-            {
-                Debug.WriteLine("Failed to marshal AuxiliaryEffectSlot functions. " + e.ToString());
-                return;
-            }
-            // Console.WriteLine("Auxiliary Effect Slot functions appear to be ok.");
-
-            // didn't return so far, everything went fine.
-            _valid = true;
-        }
-
-        #endregion Constructor / Extension Loading
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionEnums.cs b/Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionEnums.cs
deleted file mode 100644 (file)
index 7078440..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* EfxTokens.cs
- * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h"
- * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK)
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-
-namespace OpenTK.Audio
-{
-    #region Effect
-
-    ///<summary>A list of valid 32-bit Float Effect/GetEffect parameters</summary>
-    public enum EfxEffectf : int
-    {
-        ///<summary>Reverb Modal Density controls the coloration of the late reverb. Lowering the value adds more coloration to the late reverb. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        ReverbDensity = 0x0001,
-        ///<summary>The Reverb Diffusion property controls the echo density in the reverberation decay. The default 1.0f provides the highest density. Reducing diffusion gives the reverberation a more "grainy" character that is especially noticeable with percussive sound sources. If you set a diffusion value of 0.0f, the later reverberation sounds like a succession of distinct echoes. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        ReverbDiffusion = 0x0002,
-        ///<summary>The Reverb Gain property is the master volume control for the reflected sound - both early reflections and reverberation - that the reverb effect adds to all sound sources. Ranges from 1.0 (0db) (the maximum amount) to 0.0 (-100db) (no reflected sound at all) are accepted. Units: Linear gain Range [0.0f .. 1.0f] Default: 0.32f</summary>
-        ReverbGain = 0x0003,
-        ///<summary>The Reverb Gain HF property further tweaks reflected sound by attenuating it at high frequencies. It controls a low-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. Ranges from 1.0f (0db) (no filter) to 0.0f (-100db) (virtually no reflected sound) are accepted. Units: Linear gain Range [0.0f .. 1.0f] Default: 0.89f</summary>
-        ReverbGainHF = 0x0004,
-        ///<summary>The Decay Time property sets the reverberation decay time. It ranges from 0.1f (typically a small room with very dead surfaces) to 20.0 (typically a large room with very live surfaces). Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f</summary>
-        ReverbDecayTime = 0x0005,
-        ///<summary>The Decay HF Ratio property sets the spectral quality of the Decay Time parameter. It is the ratio of high-frequency decay time relative to the time set by Decay Time.. Unit: linear multiplier Range [0.1f .. 2.0f] Default: 0.83f</summary>
-        ReverbDecayHFRatio = 0x0006,
-        ///<summary>The Reflections Gain property controls the overall amount of initial reflections relative to the Gain property. The value of Reflections Gain ranges from a maximum of 3.16f (+10 dB) to a minimum of 0.0f (-100 dB) (no initial reflections at all), and is corrected by the value of the Gain property. Unit: Linear gain Range [0.0f .. 3.16f] Default: 0.05f</summary>
-        ReverbReflectionsGain = 0x0007,
-        ///<summary>The Reflections Delay property is the amount of delay between the arrival time of the direct path from the source to the first reflection from the source. It ranges from 0 to 300 milliseconds. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f</summary>
-        ReverbReflectionsDelay = 0x0008,
-        ///<summary>The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. The value of Late Reverb Gain ranges from a maximum of 10.0f (+20 dB) to a minimum of 0.0f (-100 dB) (no late reverberation at all). Unit: Linear gain Range [0.0f .. 10.0f] Default: 1.26f</summary>
-        ReverbLateReverbGain = 0x0009,
-        ///<summary>The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f</summary>
-        ReverbLateReverbDelay = 0x000A,
-        ///<summary>The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium and applies to reflected sound only. Unit: Linear gain per meter Range [0.892f .. 1.0f] Default: 0.994f</summary>
-        ReverbAirAbsorptionGainHF = 0x000B,
-        ///<summary>The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL's Rolloff Factor, but operates on reverb sound instead of direct-path sound. Unit: Linear multiplier Range [0.0f .. 10.0f] Default: 0.0f</summary>
-        ReverbRoomRolloffFactor = 0x000C,
-
-        ///<summary>This property sets the modulation rate of the low-frequency oscillator that controls the delay time of the delayed signals. Unit: Hz Range [0.0f .. 10.0f] Default: 1.1f</summary>
-        ChorusRate = 0x0003,
-        ///<summary>This property controls the amount by which the delay time is modulated by the low-frequency oscillator. Range [0.0f .. 1.0f] Default: 0.1f</summary>
-        ChorusDepth = 0x0004,
-        ///<summary>This property controls the amount of processed signal that is fed back to the input of the chorus effect. Negative values will reverse the phase of the feedback signal. At full magnitude the identical sample will repeat endlessly. Range [-1.0f .. +1.0f] Default: +0.25f</summary>
-        ChorusFeedback = 0x0005,
-        ///<summary>This property controls the average amount of time the sample is delayed before it is played back, and with feedback, the amount of time between iterations of the sample. Larger values lower the pitch. Unit: Seconds Range [0.0f .. 0.016f] Default: 0.016f</summary>
-        ChorusDelay = 0x0006,
-
-        ///<summary>This property controls the shape of the distortion. The higher the value for Edge, the "dirtier" and "fuzzier" the effect. Range [0.0f .. 1.0f] Default: 0.2f</summary>
-        DistortionEdge = 0x0001,
-        ///<summary>This property allows you to attenuate the distorted sound. Range [0.01f .. 1.0f] Default: 0.05f</summary>
-        DistortionGain = 0x0002,
-        ///<summary>Input signals can have a low pass filter applied, to limit the amount of high frequency signal feeding into the distortion effect. Unit: Hz Range [80.0f .. 24000.0f] Default: 8000.0f</summary>
-        DistortionLowpassCutoff = 0x0003,
-        ///<summary>This property controls the frequency at which the post-distortion attenuation (Distortion Gain) is active. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f</summary>
-        DistortionEQCenter = 0x0004,
-        ///<summary>This property controls the bandwidth of the post-distortion attenuation. Unit: Hz Range [80.0f .. 24000.0f] Default: 3600.0f</summary>
-        DistortionEQBandwidth = 0x0005,
-
-        ///<summary>This property controls the delay between the original sound and the first "tap", or echo instance. Subsequently, the value for Echo Delay is used to determine the time delay between each "second tap" and the next "first tap". Unit: Seconds Range [0.0f .. 0.207f] Default: 0.1f</summary>
-        EchoDelay = 0x0001,
-        ///<summary>This property controls the delay between the "first tap" and the "second tap". Subsequently, the value for Echo LR Delay is used to determine the time delay between each "first tap" and the next "second tap". Unit: Seconds Range [0.0f .. 0.404f] Default: 0.1f</summary>
-        EchoLRDelay = 0x0002,
-        ///<summary>This property controls the amount of high frequency damping applied to each echo. As the sound is subsequently fed back for further echoes, damping results in an echo which progressively gets softer in tone as well as intensity. Range [0.0f .. 0.99f] Default: 0.5f</summary>
-        EchoDamping = 0x0003,
-        ///<summary>This property controls the amount of feedback the output signal fed back into the input. Use this parameter to create "cascading" echoes. At full magnitude, the identical sample will repeat endlessly. Below full magnitude, the sample will repeat and fade. Range [0.0f .. 1.0f] Default: 0.5f</summary>
-        EchoFeedback = 0x0004,
-        ///<summary>This property controls how hard panned the individual echoes are. With a value of 1.0f, the first "tap" will be panned hard left, and the second "tap" hard right. –1.0f gives the opposite result and values near to 0.0f result in less emphasized panning. Range [-1.0f .. +1.0f] Default: -1.0f</summary>
-        EchoSpread = 0x0005,
-
-        ///<summary>The number of times per second the low-frequency oscillator controlling the amount of delay repeats. Range [0.0f .. 10.0f] Default: 0.27f</summary>
-        FlangerRate = 0x0003,
-        ///<summary>The ratio by which the delay time is modulated by the low-frequency oscillator. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        FlangerDepth = 0x0004,
-        ///<summary>This is the amount of the output signal level fed back into the effect's input. A negative value will reverse the phase of the feedback signal. Range [-1.0f .. +1.0f] Default: -0.5f</summary>
-        FlangerFeedback = 0x0005,
-        ///<summary>The average amount of time the sample is delayed before it is played back. When used with the Feedback property it's the amount of time between iterations of the sample. Unit: Seconds Range [0.0f .. 0.004f] Default: 0.002f</summary>
-        FlangerDelay = 0x0006,
-
-        ///<summary>This is the carrier frequency. For carrier frequencies below the audible range, the single sideband modulator may produce phaser effects, spatial effects or a slight pitch-shift. As the carrier frequency increases, the timbre of the sound is affected. Unit: Hz Range [0.0f .. 24000.0f] Default: 0.0f</summary>
-        FrequencyShifterFrequency = 0x0001,
-
-        ///<summary>This controls the frequency of the low-frequency oscillator used to morph between the two phoneme filters. Unit: Hz Range [0.0f .. 10.0f] Default: 1.41f</summary>
-        VocalMorpherRate = 0x0006,
-
-        ///<summary>This is the frequency of the carrier signal. If the carrier signal is slowly varying (less than 20 Hz), the result is a slow amplitude variation effect (tremolo). Unit: Hz Range [0.0f .. 8000.0f] Default: 440.0f</summary>
-        RingModulatorFrequency = 0x0001,
-        ///<summary>This controls the cutoff frequency at which the input signal is high-pass filtered before being ring modulated. Unit: Hz Range [0.0f .. 24000.0f] Default: 800.0f</summary>
-        RingModulatorHighpassCutoff = 0x0002,
-
-        ///<summary>This property controls the time the filtering effect takes to sweep from minimum to maximum center frequency when it is triggered by input signal. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f</summary>
-        AutowahAttackTime = 0x0001,
-        ///<summary>This property controls the time the filtering effect takes to sweep from maximum back to base center frequency, when the input signal ends. Unit: Seconds Range [0.0001f .. 1.0f] Default: 0.06f</summary>
-        AutowahReleaseTime = 0x0002,
-        ///<summary>This property controls the resonant peak, sometimes known as emphasis or Q, of the auto-wah band-pass filter. Range [2.0f .. 1000.0f] Default: 1000.0f</summary>
-        AutowahResonance = 0x0003,
-        ///<summary>This property controls the input signal level at which the band-pass filter will be fully opened. Range [0.00003f .. 31621.0f] Default: 11.22f</summary>
-        AutowahPeakGain = 0x0004,
-
-        ///<summary>This property controls amount of cut or boost on the low frequency range. Range [0.126f .. 7.943f] Default: 1.0f</summary>
-        EqualizerLowGain = 0x0001,
-        ///<summary>This property controls the low frequency below which signal will be cut off. Unit: Hz Range [50.0f .. 800.0f] Default: 200.0f</summary>
-        EqualizerLowCutoff = 0x0002,
-        ///<summary>This property allows you to cut/boost signal on the "mid1" range. Range [0.126f .. 7.943f] Default: 1.0f</summary>
-        EqualizerMid1Gain = 0x0003,
-        ///<summary>This property sets the center frequency for the "mid1" range. Unit: Hz Range [200.0f .. 3000.0f] Default: 500.0f</summary>
-        EqualizerMid1Center = 0x0004,
-        ///<summary>This property controls the width of the "mid1" range. Range [0.01f .. 1.0f] Default: 1.0f</summary>
-        EqualizerMid1Width = 0x0005,
-        ///<summary>This property allows you to cut/boost signal on the "mid2" range. Range [0.126f .. 7.943f] Default: 1.0f</summary>
-        EqualizerMid2Gain = 0x0006,
-        ///<summary>This property sets the center frequency for the "mid2" range. Unit: Hz Range [1000.0f .. 8000.0f] Default: 3000.0f</summary>
-        EqualizerMid2Center = 0x0007,
-        ///<summary>This property controls the width of the "mid2" range. Range [0.01f .. 1.0f] Default: 1.0f</summary>
-        EqualizerMid2Width = 0x0008,
-        ///<summary>This property allows to cut/boost the signal at high frequencies. Range [0.126f .. 7.943f] Default: 1.0f</summary>
-        EqualizerHighGain = 0x0009,
-        ///<summary>This property controls the high frequency above which signal will be cut off. Unit: Hz Range [4000.0f .. 16000.0f] Default: 6000.0f</summary>
-        EqualizerHighCutoff = 0x000A,
-
-        ///<summary>Reverb Modal Density controls the coloration of the late reverb. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        EaxReverbDensity = 0x0001,
-        ///<summary>The Reverb Diffusion property controls the echo density in the reverberation decay. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        EaxReverbDiffusion = 0x0002,
-        ///<summary>Reverb Gain controls the level of the reverberant sound in an environment. A high level of reverb is characteristic of rooms with highly reflective walls and/or small dimensions. Unit: Linear gain Range [0.0f .. 1.0f] Default: 0.32f</summary>
-        EaxReverbGain = 0x0003,
-        ///<summary>Gain HF is used to attenuate the high frequency content of all the reflected sound in an environment. You can use this property to give a room specific spectral characteristic. Unit: Linear gain Range [0.0f .. 1.0f] Default: 0.89f</summary>
-        EaxReverbGainHF = 0x0004,
-        ///<summary>Gain LF is the low frequency counterpart to Gain HF. Use this to reduce or boost the low frequency content in an environment. Unit: Linear gain Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        EaxReverbGainLF = 0x0005,
-        ///<summary>The Decay Time property sets the reverberation decay time. It ranges from 0.1f (typically a small room with very dead surfaces) to 20.0f (typically a large room with very live surfaces). Unit: Seconds Range [0.1f .. 20.0f] Default: 1.49f</summary>
-        EaxReverbDecayTime = 0x0006,
-        ///<summary>Decay HF Ratio scales the decay time of high frequencies relative to the value of the Decay Time property. By changing this value, you are changing the amount of time it takes for the high frequencies to decay compared to the mid frequencies of the reverb. Range [0.1f .. 2.0f] Default: 0.83f</summary>
-        EaxReverbDecayHFRatio = 0x0007,
-        ///<summary>Decay LF Ratio scales the decay time of low frequencies in the reverberation in the same manner that Decay HF Ratio handles high frequencies. Unit: Linear multiplier Range [0.1f .. 2.0f] Default: 1.0f</summary>
-        EaxReverbDecayLFRatio = 0x0008,
-        ///<summary>Reflections Gain sets the level of the early reflections in an environment. Early reflections are used as a cue for determining the size of the environment we are in. Unit: Linear gain Range [0.0f .. 3.16f] Default: 0.05f</summary>
-        EaxReverbReflectionsGain = 0x0009,
-        ///<summary>Reflections Delay controls the amount of time it takes for the first reflected wave front to reach the listener, relative to the arrival of the direct-path sound. Unit: Seconds Range [0.0f .. 0.3f] Default: 0.007f</summary>
-        EaxReverbReflectionsDelay = 0x000A,
-        ///<summary>The Late Reverb Gain property controls the overall amount of later reverberation relative to the Gain property. Range [0.0f .. 10.0f] Default: 1.26f</summary>
-        EaxReverbLateReverbGain = 0x000C,
-        ///<summary>The Late Reverb Delay property defines the begin time of the late reverberation relative to the time of the initial reflection (the first of the early reflections). It ranges from 0 to 100 milliseconds. Unit: Seconds Range [0.0f .. 0.1f] Default: 0.011f</summary>
-        EaxReverbLateReverbDelay = 0x000D,
-        ///<summary>Echo Time controls the rate at which the cyclic echo repeats itself along the reverberation decay. Range [0.075f .. 0.25f] Default: 0.25f</summary>
-        EaxReverbEchoTime = 0x000F,
-        ///<summary>Echo Depth introduces a cyclic echo in the reverberation decay, which will be noticeable with transient or percussive sounds. Range [0.0f .. 1.0f] Default: 0.0f</summary>
-        EaxReverbEchoDepth = 0x0010,
-        ///<summary>Modulation Time controls the speed of the rate of periodic changes in pitch (vibrato). Range [0.04f .. 4.0f] Default: 0.25f</summary>
-        EaxReverbModulationTime = 0x0011,
-        ///<summary>Modulation Depth controls the amount of pitch change. Low values of Diffusion will contribute to reinforcing the perceived effect by reducing the mixing of overlapping reflections in the reverberation decay. Range [0.0f .. 1.0f] Default: 0.0f</summary>
-        EaxReverbModulationDepth = 0x0012,
-        ///<summary>The Air Absorption Gain HF property controls the distance-dependent attenuation at high frequencies caused by the propagation medium. It applies to reflected sound only. Range [0.892f .. 1.0f] Default: 0.994f</summary>
-        EaxReverbAirAbsorptionGainHF = 0x0013,
-        ///<summary>The property HF reference determines the frequency at which the high-frequency effects created by Reverb properties are measured. Unit: Hz Range [1000.0f .. 20000.0f] Default: 5000.0f</summary>
-        EaxReverbHFReference = 0x0014,
-        ///<summary>The property LF reference determines the frequency at which the low-frequency effects created by Reverb properties are measured. Unit: Hz Range [20.0f .. 1000.0f] Default: 250.0f</summary>
-        EaxReverbLFReference = 0x0015,
-        ///<summary>The Room Rolloff Factor property is one of two methods available to attenuate the reflected sound (containing both reflections and reverberation) according to source-listener distance. It's defined the same way as OpenAL Rolloff Factor, but operates on reverb sound instead of direct-path sound. Range [0.0f .. 10.0f] Default: 0.0f</summary>
-        EaxReverbRoomRolloffFactor = 0x0016,
-    }
-
-    ///<summary>A list of valid Math.Vector3 Effect/GetEffect parameters</summary>
-    public enum EfxEffect3f : int
-    {
-        /// <summary>Reverb Pan does for the Reverb what Reflections Pan does for the Reflections. Unit: Vector3 of length 0f to 1f Default: {0.0f, 0.0f, 0.0f}</summary>  
-        EaxReverbLateReverbPan = 0x000E,
-        /// <summary>This Vector3 controls the spatial distribution of the cluster of early reflections. The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. For legacy reasons this Vector3 follows a left-handed co-ordinate system! Note that OpenAL uses a right-handed coordinate system. Unit: Vector3 of length 0f to 1f Default: {0.0f, 0.0f, 0.0f}</summary>
-        EaxReverbReflectionsPan = 0x000B,
-    }
-
-    ///<summary>A list of valid Int32 Effect/GetEffect parameters</summary>
-    public enum EfxEffecti : int
-    {
-        ///<summary>This property sets the waveform shape of the low-frequency oscillator that controls the delay time of the delayed signals. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1</summary>
-        ChorusWaveform = 0x0001,
-        ///<summary>This property controls the phase difference between the left and right low-frequency oscillators. At zero degrees the two low-frequency oscillators are synchronized. Unit: Degrees Range [-180 .. 180] Default: 90</summary>
-        ChorusPhase = 0x0002,
-
-        ///<summary>Selects the shape of the low-frequency oscillator waveform that controls the amount of the delay of the sampled signal. Unit: (0) Sinusoid, (1) Triangle Range [0 .. 1] Default: 1</summary>
-        FlangerWaveform = 0x0001,
-        ///<summary>This changes the phase difference between the left and right low-frequency oscillator's. At zero degrees the two low-frequency oscillators are synchronized. Range [-180 .. +180] Default: 0</summary>
-        FlangerPhase = 0x0002,
-
-        ///<summary>These select which internal signals are added together to produce the output. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0</summary>
-        FrequencyShifterLeftDirection = 0x0002,
-        ///<summary>These select which internal signals are added together to produce the output. Unit: (0) Down, (1) Up, (2) Off Range [0 .. 2] Default: 0</summary>
-        FrequencyShifterRightDirection = 0x0003,
-
-        ///<summary>Sets the vocal morpher 4-band formant filter A, used to impose vocal tract effects upon the input signal. The vocal morpher is not necessarily intended for use on voice signals; it is primarily intended for pitched noise effects, vocal-like wind effects, etc. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 0, "Phoneme A"</summary>
-        VocalMorpherPhonemeA = 0x0001,
-        ///<summary>This is used to adjust the pitch of phoneme filter A in 1-semitone increments. Unit: Semitones Range [-24 .. +24] Default: 0</summary>
-        VocalMorpherPhonemeACoarseTuning = 0x0002,
-        ///<summary>Sets the vocal morpher 4-band formant filter B, used to impose vocal tract effects upon the input signal. The vocal morpher is not necessarily intended for use on voice signals; it is primarily intended for pitched noise effects, vocal-like wind effects, etc. Unit: Use enum EfxFormantFilterSettings Range [0 .. 29] Default: 10, "Phoneme ER"</summary>
-        VocalMorpherPhonemeB = 0x0003,
-        ///<summary>This is used to adjust the pitch of phoneme filter B in 1-semitone increments. Unit: Semitones Range [-24 .. +24] Default: 0</summary>
-        VocalMorpherPhonemeBCoarseTuning = 0x0004,
-        ///<summary>This controls the shape of the low-frequency oscillator used to morph between the two phoneme filters. Unit: (0) Sinusoid, (1) Triangle, (2) Sawtooth Range [0 .. 2] Default: 0</summary>
-        VocalMorpherWaveform = 0x0005,
-
-        ///<summary>This sets the number of semitones by which the pitch is shifted. There are 12 semitones per octave. Unit: Semitones Range [-12 .. +12] Default: +12</summary>
-        PitchShifterCoarseTune = 0x0001,
-        ///<summary>This sets the number of cents between Semitones a pitch is shifted. A Cent is 1/100th of a Semitone. Unit: Cents Range [-50 .. +50] Default: 0</summary>
-        PitchShifterFineTune = 0x0002,
-
-        ///<summary>This controls which waveform is used as the carrier signal. Traditional ring modulator and tremolo effects generally use a sinusoidal carrier. Unit: (0) Sinusoid, (1) Sawtooth, (2) Square Range [0 .. 2] Default: 0</summary>
-        RingModulatorWaveform = 0x0003,
-
-        ///<summary>Enabling this will result in audio exhibiting smaller variation in intensity between the loudest and quietest portions. Unit: (0) Off, (1) On Range [0 .. 1] Default: 1</summary>
-        CompressorOnoff = 0x0001,
-
-        ///<summary>When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property Air Absorption HF. Unit: (0) False, (1) True Range [False, True] Default: True</summary>
-        ReverbDecayHFLimit = 0x000D,
-
-        ///<summary>When this flag is set, the high-frequency decay time automatically stays below a limit value that's derived from the setting of the property AirAbsorptionGainHF. Unit: (0) False, (1) True Range [False, True] Default: True</summary>
-        EaxReverbDecayHFLimit = 0x0017,
-
-        /// <summary>Used with the enum EfxEffectType as it's parameter.</summary>
-        EffectType = 0x8001,
-    }
-
-    ///<summary>Vocal morpher effect parameters. If both parameters are set to the same phoneme, that determines the filtering effect that will be heard. If these two parameters are set to different phonemes, the filtering effect will morph between the two settings at a rate specified by EfxEffectf.VocalMorpherRate.</summary>
-    public enum EfxFormantFilterSettings : int
-    {
-        VocalMorpherPhonemeA = 0,
-        VocalMorpherPhonemeE = 1,
-        VocalMorpherPhonemeI = 2,
-        VocalMorpherPhonemeO = 3,
-        VocalMorpherPhonemeU = 4,
-        VocalMorpherPhonemeAA = 5,
-        VocalMorpherPhonemeAE = 6,
-        VocalMorpherPhonemeAH = 7,
-        VocalMorpherPhonemeAO = 8,
-        VocalMorpherPhonemeEH = 9,
-        VocalMorpherPhonemeER = 10,
-        VocalMorpherPhonemeIH = 11,
-        VocalMorpherPhonemeIY = 12,
-        VocalMorpherPhonemeUH = 13,
-        VocalMorpherPhonemeUW = 14,
-        VocalMorpherPhonemeB = 15,
-        VocalMorpherPhonemeD = 16,
-        VocalMorpherPhonemeF = 17,
-        VocalMorpherPhonemeG = 18,
-        VocalMorpherPhonemeJ = 19,
-        VocalMorpherPhonemeK = 20,
-        VocalMorpherPhonemeL = 21,
-        VocalMorpherPhonemeM = 22,
-        VocalMorpherPhonemeN = 23,
-        VocalMorpherPhonemeP = 24,
-        VocalMorpherPhonemeR = 25,
-        VocalMorpherPhonemeS = 26,
-        VocalMorpherPhonemeT = 27,
-        VocalMorpherPhonemeV = 28,
-        VocalMorpherPhonemeZ = 29,
-    }
-
-    ///<summary>Effect type definitions to be used with EfxEffecti.EffectType.</summary>  
-    public enum EfxEffectType : int
-    {
-        ///<summary>No Effect, disable. This Effect type is used when an Effect object is initially created.</summary>
-        Null = 0x0000,
-        ///<summary>The Reverb effect is the standard Effects Extension's environmental reverberation effect. It is available on all Generic Software and Generic Hardware devices.</summary>
-        Reverb = 0x0001,
-        ///<summary>The Chorus effect essentially replays the input audio accompanied by another slightly delayed version of the signal, creating a "doubling" effect.</summary>
-        Chorus = 0x0002,
-        ///<summary>The Distortion effect simulates turning up (overdriving) the gain stage on a guitar amplifier or adding a distortion pedal to an instrument's output.</summary>
-        Distortion = 0x0003,
-        ///<summary>The Echo effect generates discrete, delayed instances of the input signal.</summary>
-        Echo = 0x0004,
-        ///<summary>The Flanger effect creates a "tearing" or "whooshing" sound, like a jet flying overhead.</summary>
-        Flanger = 0x0005,
-        ///<summary>The Frequency shifter is a single-sideband modulator, which translates all the component frequencies of the input signal by an equal amount.</summary>
-        FrequencyShifter = 0x0006,
-        ///<summary>The Vocal morpher consists of a pair of 4-band formant filters, used to impose vocal tract effects upon the input signal.</summary>
-        VocalMorpher = 0x0007,
-        ///<summary>The Pitch shifter applies time-invariant pitch shifting to the input signal, over a one octave range and controllable at a semi-tone and cent resolution.</summary>
-        PitchShifter = 0x0008,
-        ///<summary>The Ring modulator multiplies an input signal by a carrier signal in the time domain, resulting in tremolo or inharmonic effects.</summary>
-        RingModulator = 0x0009,
-        ///<summary>The Auto-wah effect emulates the sound of a wah-wah pedal used with an electric guitar, or a mute on a brass instrument.</summary>
-        Autowah = 0x000A,
-        ///<summary>The Compressor will boost quieter portions of the audio, while louder portions will stay the same or may even be reduced.</summary>
-        Compressor = 0x000B,
-        ///<summary>The Equalizer is very flexible, providing tonal control over four different adjustable frequency ranges.</summary>
-        Equalizer = 0x000C,
-        ///<summary>The EAX Reverb has a more advanced parameter set than EfxEffectType.Reverb, but is only natively supported on devices that support the EAX 3.0 or above.</summary>
-        EaxReverb = 0x8000,
-    }
-
-    #endregion Effect
-
-    #region Auxiliary Effect Slot
-
-    ///<summary>A list of valid Int32 AuxiliaryEffectSlot/GetAuxiliaryEffectSlot parameters</summary>
-    public enum EfxAuxiliaryi : int
-    {
-        /// <summary>This property is used to attach an Effect object to the Auxiliary Effect Slot object. After the attachment, the Auxiliary Effect Slot object will contain the effect type and have the same effect parameters that were stored in the Effect object. Any Sources feeding the Auxiliary Effect Slot will immediate feed the new effect type and new effect parameters.</summary>
-        EffectslotEffect = 0x0001,
-
-        /// <summary>This property is used to enable or disable automatic send adjustments based on the physical positions of the sources and the listener. This property should be enabled when an application wishes to use a reverb effect to simulate the environment surrounding a listener or a collection of Sources. Range [False, True] Default: True </summary>
-        EffectslotAuxiliarySendAuto = 0x0003,
-    }
-
-    ///<summary>A list of valid 32-bits Float AuxiliaryEffectSlot/GetAuxiliaryEffectSlot parameters</summary>
-    public enum EfxAuxiliaryf : int
-    {
-        /// <summary>This property is used to specify an output level for the Auxiliary Effect Slot. Setting the gain to 0.0f mutes the output. Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        EffectslotGain = 0x0002,
-    }
-
-    #endregion Auxiliary Effect Slot
-
-    #region Filter Object
-
-    ///<summary>A list of valid 32-bits Float Filter/GetFilter parameters</summary>
-    public enum EfxFilterf : int
-    {
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        LowpassGain = 0x0001,
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        LowpassGainHF = 0x0002,
-
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        HighpassGain = 0x0001,
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        HighpassGainLF = 0x0002,
-
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        BandpassGain = 0x0001,
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        BandpassGainLF = 0x0002,
-        ///<summary>Range [0.0f .. 1.0f] Default: 1.0f</summary>
-        BandpassGainHF = 0x0003,
-    }
-
-    ///<summary>A list of valid Int32 Filter/GetFilter parameters</summary>
-    public enum EfxFilteri : int
-    {
-        /// <summary>Used with the enum EfxFilterType as Parameter to select a filter logic.</summary>
-        FilterType = 0x8001,
-    }
-
-    ///<summary>Filter type definitions to be used with EfxFilteri.FilterType.</summary>
-    public enum EfxFilterType : int
-    {
-        ///<summary>No Filter, disable. This Filter type is used when a Filter object is initially created.</summary>
-        Null = 0x0000,
-        /// <summary>A low-pass filter is used to remove high frequency content from a signal.</summary>
-        Lowpass = 0x0001,
-        ///<summary>Currently not implemented. A high-pass filter is used to remove low frequency content from a signal.</summary>
-        Highpass = 0x0002,
-        ///<summary>Currently not implemented. A band-pass filter is used to remove high and low frequency content from a signal.</summary>
-        Bandpass = 0x0003,
-    }
-
-    #endregion Filter Object
-}
diff --git a/Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionPresets.cs b/Source/Compatibility/Audio/OpenAL/AL/EffectsExtensionPresets.cs
deleted file mode 100644 (file)
index 3cc16af..0000000
+++ /dev/null
@@ -1,367 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* EfxPresets.cs
- * C headers: \OpenAL 1.1 SDK\include\ "efx.h", "efx-creative.h", "Efx-Util.h"
- * Spec: Effects Extension Guide.pdf (bundled with OpenAL SDK)
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-
-
-namespace OpenTK.Audio
-{
-    public partial class EffectsExtension
-    {
-        // Todo: Add documentation
-        // Todo: CLS compliance.
-
-#pragma warning disable 1591
-
-        [CLSCompliant(false)]
-        public struct EaxReverb
-        {
-            public uint Environment;            // TODO: EAX-EFX conversion
-            public float EnvironmentSize;       // TODO: EAX-EFX conversion
-            public float EnvironmentDiffusion;  // TODO: EAX-EFX conversion
-            public int Room;                    // TODO: EAX-EFX conversion
-            public int RoomHF;                  // TODO: EAX-EFX conversion
-            public int RoomLF;                  // TODO: EAX-EFX conversion
-            public float DecayTime;
-            public float DecayHFRatio;
-            public float DecayLFRatio;
-            public int Reflections;             // TODO: EAX-EFX conversion
-            public float ReflectionsDelay;
-            public Vector3 ReflectionsPan;
-            public int Reverb;                  // TODO: EAX-EFX conversion
-            public float ReverbDelay;
-            public Vector3 ReverbPan;
-            public float EchoTime;
-            public float EchoDepth;
-            public float ModulationTime;
-            public float ModulationDepth;
-            public float AirAbsorptionHF;
-            public float HFReference;
-            public float LFReference;
-            public float RoomRolloffFactor;
-            public uint Flags;                  // TODO: EAX-EFX conversion
-
-            public EaxReverb(uint environment,
-                              float environmentSize,
-                              float environmentDiffusion,
-                              int room,
-                              int roomHF,
-                              int roomLF,
-                              float decayTime,
-                              float decayHFRatio,
-                              float decayLFRatio,
-                              int reflections,
-                              float reflectionsDelay,
-                              float reflectionsPanX,
-                              float reflectionsPanY,
-                              float reflectionsPanZ,
-                              int reverb,
-                              float reverbDelay,
-                              float reverbPanX,
-                              float reverbPanY,
-                              float reverbPanZ,
-                              float echoTime,
-                              float echoDepth,
-                              float modulationTime,
-                              float modulationDepth,
-                              float airAbsorptionHF,
-                              float hfReference,
-                              float lfReference,
-                              float roomRolloffFactor,
-                              uint flags)
-            {
-                Environment = environment;
-                EnvironmentSize = environmentSize;
-                EnvironmentDiffusion = environmentDiffusion;
-                Room = room;
-                RoomHF = roomHF;
-                RoomLF = roomLF;
-                DecayTime = decayTime;
-                DecayHFRatio = decayHFRatio;
-                DecayLFRatio = decayLFRatio;
-                Reflections = reflections;
-                ReflectionsDelay = reflectionsDelay;
-                ReflectionsPan = new Vector3(reflectionsPanX, reflectionsPanY, reflectionsPanZ);
-                Reverb = reverb;
-                ReverbDelay = reverbDelay;
-                ReverbPan = new Vector3(reverbPanX, reverbPanY, reverbPanZ);
-                EchoTime = echoTime;
-                EchoDepth = echoDepth;
-                ModulationTime = modulationTime;
-                ModulationDepth = modulationDepth;
-                AirAbsorptionHF = airAbsorptionHF;
-                HFReference = hfReference;
-                LFReference = lfReference;
-                RoomRolloffFactor = roomRolloffFactor;
-                Flags = flags;
-            }
-
-        }
-
-        // TODO: CLS compliance.
-        [CLSCompliant(false)]
-        public static void GetEaxFromEfxEax(ref EaxReverb input, out EfxEaxReverb output)
-        {
-            output.AirAbsorptionGainHF = 0.995f; // input.AirAbsorptionHF  * somegain?
-            output.RoomRolloffFactor = input.RoomRolloffFactor;
-
-            output.Density = 1f; // todo, currently default
-            output.Diffusion = 1f; // todo, currently default
-
-            output.DecayTime = input.DecayTime;
-            output.DecayHFLimit = 1; // todo, currently default
-            output.DecayHFRatio = input.DecayHFRatio;
-            output.DecayLFRatio = input.DecayLFRatio;
-
-            output.EchoDepth = input.EchoDepth;
-            output.EchoTime = input.EchoTime;
-
-            output.Gain = 0.32f; // todo, currently default
-            output.GainHF = 0.89f; // todo, currently default
-            output.GainLF = 1f;// todo, currently default
-
-            output.LFReference = input.LFReference;
-            output.HFReference = input.HFReference;
-
-            output.LateReverbDelay = input.ReverbDelay;
-            output.LateReverbGain = 1.26f; // todo, currently default
-            output.LateReverbPan = input.ReverbPan;
-
-            output.ModulationDepth = input.ModulationDepth;
-            output.ModulationTime = input.ModulationTime;
-
-            output.ReflectionsDelay = input.ReflectionsDelay;
-            output.ReflectionsGain = 0.05f; // todo, currently default
-            output.ReflectionsPan = input.ReflectionsPan;
-        }
-
-        public struct EfxEaxReverb
-        {
-            public float Density;
-            public float Diffusion;
-            public float Gain;
-            public float GainHF;
-            public float GainLF;
-            public float DecayTime;
-            public float DecayHFRatio;
-            public float DecayLFRatio;
-            public float ReflectionsGain;
-            public float ReflectionsDelay;
-            public Vector3 ReflectionsPan;
-            public float LateReverbGain;
-            public float LateReverbDelay;
-            public Vector3 LateReverbPan;
-            public float EchoTime;
-            public float EchoDepth;
-            public float ModulationTime;
-            public float ModulationDepth;
-            public float AirAbsorptionGainHF;
-            public float HFReference;
-            public float LFReference;
-            public float RoomRolloffFactor;
-            public int DecayHFLimit;
-        }
-
-        /*
-                     public struct _EAXOBSTRUCTIONPROPERTIES
-                     {
-                         public int lObstruction;
-                         public float flObstructionLFRatio;
-                     }
-                     _EAXOBSTRUCTIONPROPERTIES EAXOBSTRUCTIONPROPERTIES;//, *LPEAXOBSTRUCTIONPROPERTIES;
-
-                     public struct _EAXOCCLUSIONPROPERTIES
-                     {
-                         public int lOcclusion;
-                         public float flOcclusionLFRatio;
-                         public float flOcclusionRoomRatio;
-                         public float flOcclusionDirectRatio;
-                     }
-                     _EAXOCCLUSIONPROPERTIES EAXOCCLUSIONPROPERTIES;//, *LPEAXOCCLUSIONPROPERTIES;
-
-                     public struct _EAXEXCLUSIONPROPERTIES
-                     {
-                         public int lExclusion;
-                         public float flExclusionLFRatio;
-                     }
-                     _EAXEXCLUSIONPROPERTIES EAXEXCLUSIONPROPERTIES;//, *LPEAXEXCLUSIONPROPERTIES;
-
-                     public struct _EFXLOWPASSFILTER
-                     {
-                         public float flGain;
-                         public float flGainHF;
-                     }
-                     _EFXLOWPASSFILTER EFXLOWPASSFILTER;//, *LPEFXLOWPASSFILTER;
-
-       
-                     void ConvertReverbParameters(EAXREVERBPROPERTIES *pEAXProp, EFXEAXREVERBPROPERTIES *pEFXEAXReverb);
-                     void ConvertObstructionParameters(EAXOBSTRUCTIONPROPERTIES *pObProp, EFXLOWPASSFILTER *pDirectLowPassFilter);
-                     void ConvertExclusionParameters(EAXEXCLUSIONPROPERTIES *pExProp, EFXLOWPASSFILTER *pSendLowPassFilter);
-                     void ConvertOcclusionParameters(EAXOCCLUSIONPROPERTIES *pOcProp, EFXLOWPASSFILTER *pDirectLowPassFilter, EFXLOWPASSFILTER *pSendLowPassFilter);
-                             */
-
-        // TODO: CLS compliance.
-        ///<summary>EAX Reverb Presets in legacy format - use ConvertReverbParameters() to convert to EFX EAX Reverb Presets for use with the OpenAL Effects Extension.</summary>
-        [CLSCompliant(false)]
-        public static class ReverbPresets
-        {
-            // CASTLE PRESETS
-
-            public static EaxReverb CastleSmallRoom = new EaxReverb(26, 8.3f, 0.890f, -1000, -800, -2000, 1.22f, 0.83f, 0.31f, -100, 0.022f, 0f, 0f, 0f, 600, 0.011f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleShortPassage = new EaxReverb(26, 8.3f, 0.890f, -1000, -1000, -2000, 2.32f, 0.83f, 0.31f, -100, 0.007f, 0f, 0f, 0f, 200, 0.023f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleMediumroom = new EaxReverb(26, 8.3f, 0.930f, -1000, -1100, -2000, 2.04f, 0.83f, 0.46f, -400, 0.022f, 0f, 0f, 0f, 400, 0.011f, 0f, 0f, 0f, 0.155f, 0.030f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleLongpassage = new EaxReverb(26, 8.3f, 0.890f, -1000, -800, -2000, 3.42f, 0.83f, 0.31f, -100, 0.007f, 0f, 0f, 0f, 300, 0.023f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleLargeroom = new EaxReverb(26, 8.3f, 0.820f, -1000, -1100, -1800, 2.53f, 0.83f, 0.50f, -700, 0.034f, 0f, 0f, 0f, 200, 0.016f, 0f, 0f, 0f, 0.185f, 0.070f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleHall = new EaxReverb(26, 8.3f, 0.810f, -1000, -1100, -1500, 3.14f, 0.79f, 0.62f, -1500, 0.056f, 0f, 0f, 0f, 100, 0.024f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleCupboard = new EaxReverb(26, 8.3f, 0.890f, -1000, -1100, -2000, 0.67f, 0.87f, 0.31f, 300, 0.010f, 0f, 0f, 0f, 1100, 0.007f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-            public static EaxReverb CastleCourtyard = new EaxReverb(26, 8.3f, 0.420f, -1000, -700, -1400, 2.13f, 0.61f, 0.23f, -1300, 0.160f, 0f, 0f, 0f, -300, 0.036f, 0f, 0f, 0f, 0.250f, 0.370f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb CastleAlcove = new EaxReverb(26, 8.3f, 0.890f, -1000, -600, -2000, 1.64f, 0.87f, 0.31f, 00, 0.007f, 0f, 0f, 0f, 300, 0.034f, 0f, 0f, 0f, 0.138f, 0.080f, 0.250f, 0f, -5f, 5168.6f, 139.5f, 0f, 0x20);
-
-            // FACTORY PRESETS
-
-            public static EaxReverb FactoryAlcove = new EaxReverb(26, 1.8f, 0.590f, -1200, -200, -600, 3.14f, 0.65f, 1.31f, 300, 0.010f, 0f, 0f, 0f, 000, 0.038f, 0f, 0f, 0f, 0.114f, 0.100f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryShortpassage = new EaxReverb(26, 1.8f, 0.640f, -1200, -200, -600, 2.53f, 0.65f, 1.31f, 0, 0.010f, 0f, 0f, 0f, 200, 0.038f, 0f, 0f, 0f, 0.135f, 0.230f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryMediumroom = new EaxReverb(26, 1.9f, 0.820f, -1200, -200, -600, 2.76f, 0.65f, 1.31f, -1100, 0.022f, 0f, 0f, 0f, 300, 0.023f, 0f, 0f, 0f, 0.174f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryLongpassage = new EaxReverb(26, 1.8f, 0.640f, -1200, -200, -600, 4.06f, 0.65f, 1.31f, 0, 0.020f, 0f, 0f, 0f, 200, 0.037f, 0f, 0f, 0f, 0.135f, 0.230f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryLargeroom = new EaxReverb(26, 1.9f, 0.750f, -1200, -300, -400, 4.24f, 0.51f, 1.31f, -1500, 0.039f, 0f, 0f, 0f, 100, 0.023f, 0f, 0f, 0f, 0.231f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryHall = new EaxReverb(26, 1.9f, 0.750f, -1000, -300, -400, 7.43f, 0.51f, 1.31f, -2400, 0.073f, 0f, 0f, 0f, -100, 0.027f, 0f, 0f, 0f, 0.250f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryCupboard = new EaxReverb(26, 1.7f, 0.630f, -1200, -200, -600, 0.49f, 0.65f, 1.31f, 200, 0.010f, 0f, 0f, 0f, 600, 0.032f, 0f, 0f, 0f, 0.107f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactoryCourtyard = new EaxReverb(26, 1.7f, 0.570f, -1000, -1000, -400, 2.32f, 0.29f, 0.56f, -1300, 0.140f, 0f, 0f, 0f, -800, 0.039f, 0f, 0f, 0f, 0.250f, 0.290f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-            public static EaxReverb FactorySmallroom = new EaxReverb(26, 1.8f, 0.820f, -1000, -200, -600, 1.72f, 0.65f, 1.31f, -300, 0.010f, 0f, 0f, 0f, 500, 0.024f, 0f, 0f, 0f, 0.119f, 0.070f, 0.250f, 0f, -5f, 3762.6f, 362.5f, 0f, 0x20);
-
-            // ICE PALACE PRESETS
-
-            public static EaxReverb IcepalaceAlcove = new EaxReverb(26, 2.7f, 0.840f, -1000, -500, -1100, 2.76f, 1.46f, 0.28f, 100, 0.010f, 0f, 0f, 0f, -100, 0.030f, 0f, 0f, 0f, 0.161f, 0.090f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceShortpassage = new EaxReverb(26, 2.7f, 0.750f, -1000, -500, -1100, 1.79f, 1.46f, 0.28f, -600, 0.010f, 0f, 0f, 0f, 100, 0.019f, 0f, 0f, 0f, 0.177f, 0.090f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceMediumroom = new EaxReverb(26, 2.7f, 0.870f, -1000, -500, -700, 2.22f, 1.53f, 0.32f, -800, 0.039f, 0f, 0f, 0f, 100, 0.027f, 0f, 0f, 0f, 0.186f, 0.120f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceLongpassage = new EaxReverb(26, 2.7f, 0.770f, -1000, -500, -800, 3.01f, 1.46f, 0.28f, -200, 0.012f, 0f, 0f, 0f, 200, 0.025f, 0f, 0f, 0f, 0.186f, 0.040f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceLargeroom = new EaxReverb(26, 2.9f, 0.810f, -1000, -500, -700, 3.14f, 1.53f, 0.32f, -1200, 0.039f, 0f, 0f, 0f, 000, 0.027f, 0f, 0f, 0f, 0.214f, 0.110f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceHall = new EaxReverb(26, 2.9f, 0.760f, -1000, -700, -500, 5.49f, 1.53f, 0.38f, -1900, 0.054f, 0f, 0f, 0f, -400, 0.052f, 0f, 0f, 0f, 0.226f, 0.110f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceCupboard = new EaxReverb(26, 2.7f, 0.830f, -1000, -600, -1300, 0.76f, 1.53f, 0.26f, 100, 0.012f, 0f, 0f, 0f, 600, 0.016f, 0f, 0f, 0f, 0.143f, 0.080f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceCourtyard = new EaxReverb(26, 2.9f, 0.590f, -1000, -1100, -1000, 2.04f, 1.20f, 0.38f, -1000, 0.173f, 0f, 0f, 0f, -1000, 0.043f, 0f, 0f, 0f, 0.235f, 0.480f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-            public static EaxReverb IcepalaceSmallroom = new EaxReverb(26, 2.7f, 0.840f, -1000, -500, -1100, 1.51f, 1.53f, 0.27f, -100, 0.010f, 0f, 0f, 0f, 300, 0.011f, 0f, 0f, 0f, 0.164f, 0.140f, 0.250f, 0f, -5f, 12428.5f, 99.6f, 0f, 0x20);
-
-            // SPACE STATION PRESETS
-
-            public static EaxReverb SpacestationAlcove = new EaxReverb(26, 1.5f, 0.780f, -1000, -300, -100, 1.16f, 0.81f, 0.55f, 300, 0.007f, 0f, 0f, 0f, 000, 0.018f, 0f, 0f, 0f, 0.192f, 0.210f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationMediumroom = new EaxReverb(26, 1.5f, 0.750f, -1000, -400, -100, 3.01f, 0.50f, 0.55f, -800, 0.034f, 0f, 0f, 0f, 100, 0.035f, 0f, 0f, 0f, 0.209f, 0.310f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationShortpassage = new EaxReverb(26, 1.5f, 0.870f, -1000, -400, -100, 3.57f, 0.50f, 0.55f, 0, 0.012f, 0f, 0f, 0f, 100, 0.016f, 0f, 0f, 0f, 0.172f, 0.200f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationLongpassage = new EaxReverb(26, 1.9f, 0.820f, -1000, -400, -100, 4.62f, 0.62f, 0.55f, 0, 0.012f, 0f, 0f, 0f, 200, 0.031f, 0f, 0f, 0f, 0.250f, 0.230f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationLargeroom = new EaxReverb(26, 1.8f, 0.810f, -1000, -400, -100, 3.89f, 0.38f, 0.61f, -1000, 0.056f, 0f, 0f, 0f, -100, 0.035f, 0f, 0f, 0f, 0.233f, 0.280f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationHall = new EaxReverb(26, 1.9f, 0.870f, -1000, -400, -100, 7.11f, 0.38f, 0.61f, -1500, 0.100f, 0f, 0f, 0f, -400, 0.047f, 0f, 0f, 0f, 0.250f, 0.250f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationCupboard = new EaxReverb(26, 1.4f, 0.560f, -1000, -300, -100, 0.79f, 0.81f, 0.55f, 300, 0.007f, 0f, 0f, 0f, 500, 0.018f, 0f, 0f, 0f, 0.181f, 0.310f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-            public static EaxReverb SpacestationSmallroom = new EaxReverb(26, 1.5f, 0.700f, -1000, -300, -100, 1.72f, 0.82f, 0.55f, -200, 0.007f, 0f, 0f, 0f, 300, 0.013f, 0f, 0f, 0f, 0.188f, 0.260f, 0.250f, 0f, -5f, 3316.1f, 458.2f, 0f, 0x20);
-
-            // WOODEN GALLEON PRESETS
-
-            public static EaxReverb WoodenAlcove = new EaxReverb(26, 7.5f, 1f, -1000, -1800, -1000, 1.22f, 0.62f, 0.91f, 100, 0.012f, 0f, 0f, 0f, -300, 0.024f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenShortpassage = new EaxReverb(26, 7.5f, 1f, -1000, -1800, -1000, 1.75f, 0.50f, 0.87f, -100, 0.012f, 0f, 0f, 0f, -400, 0.024f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenMediumroom = new EaxReverb(26, 7.5f, 1f, -1000, -2000, -1100, 1.47f, 0.42f, 0.82f, -100, 0.049f, 0f, 0f, 0f, -100, 0.029f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenLongpassage = new EaxReverb(26, 7.5f, 1f, -1000, -2000, -1000, 1.99f, 0.40f, 0.79f, 000, 0.020f, 0f, 0f, 0f, -700, 0.036f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenLargeroom = new EaxReverb(26, 7.5f, 1f, -1000, -2100, -1100, 2.65f, 0.33f, 0.82f, -100, 0.066f, 0f, 0f, 0f, -200, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenHall = new EaxReverb(26, 7.5f, 1f, -1000, -2200, -1100, 3.45f, 0.30f, 0.82f, -100, 0.088f, 0f, 0f, 0f, -200, 0.063f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenCupboard = new EaxReverb(26, 7.5f, 1f, -1000, -1700, -1000, 0.56f, 0.46f, 0.91f, 100, 0.012f, 0f, 0f, 0f, 100, 0.028f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenSmallroom = new EaxReverb(26, 7.5f, 1f, -1000, -1900, -1000, 0.79f, 0.32f, 0.87f, 00, 0.032f, 0f, 0f, 0f, -100, 0.029f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-            public static EaxReverb WoodenCourtyard = new EaxReverb(26, 7.5f, 0.650f, -1000, -2200, -1000, 1.79f, 0.35f, 0.79f, -500, 0.123f, 0f, 0f, 0f, -2000, 0.032f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 4705f, 99.6f, 0f, 0x3f);
-
-            // SPORTS PRESETS
-
-            public static EaxReverb SportEmptystadium = new EaxReverb(26, 7.2f, 1f, -1000, -700, -200, 6.26f, 0.51f, 1.10f, -2400, 0.183f, 0f, 0f, 0f, -800, 0.038f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20);
-            public static EaxReverb SportSquashcourt = new EaxReverb(26, 7.5f, 0.750f, -1000, -1000, -200, 2.22f, 0.91f, 1.16f, -700, 0.007f, 0f, 0f, 0f, -200, 0.011f, 0f, 0f, 0f, 0.126f, 0.190f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20);
-            public static EaxReverb SportSmallswimmingpool = new EaxReverb(26, 36.2f, 0.700f, -1000, -200, -100, 2.76f, 1.25f, 1.14f, -400, 0.020f, 0f, 0f, 0f, -200, 0.030f, 0f, 0f, 0f, 0.179f, 0.150f, 0.895f, 0.190f, -5f, 5000f, 250f, 0f, 0x0);
-            public static EaxReverb SportLargeswimmingpool = new EaxReverb(26, 36.2f, 0.820f, -1000, -200, 0, 5.49f, 1.31f, 1.14f, -700, 0.039f, 0f, 0f, 0f, -600, 0.049f, 0f, 0f, 0f, 0.222f, 0.550f, 1.159f, 0.210f, -5f, 5000f, 250f, 0f, 0x0);
-            public static EaxReverb SportGymnasium = new EaxReverb(26, 7.5f, 0.810f, -1000, -700, -100, 3.14f, 1.06f, 1.35f, -800, 0.029f, 0f, 0f, 0f, -500, 0.045f, 0f, 0f, 0f, 0.146f, 0.140f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20);
-            public static EaxReverb SportFullstadium = new EaxReverb(26, 7.2f, 1f, -1000, -2300, -200, 5.25f, 0.17f, 0.80f, -2000, 0.188f, 0f, 0f, 0f, -1100, 0.038f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20);
-            public static EaxReverb SportStadimtannoy = new EaxReverb(26, 3f, 0.780f, -1000, -500, -600, 2.53f, 0.88f, 0.68f, -1100, 0.230f, 0f, 0f, 0f, -600, 0.063f, 0f, 0f, 0f, 0.250f, 0.200f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20);
-
-            // PREFAB PRESETS
-
-            public static EaxReverb PrefabWorkshop = new EaxReverb(26, 1.9f, 1f, -1000, -1700, -800, 0.76f, 1f, 1f, 0, 0.012f, 0f, 0f, 0f, 100, 0.012f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x0);
-            public static EaxReverb PrefabSchoolroom = new EaxReverb(26, 1.86f, 0.690f, -1000, -400, -600, 0.98f, 0.45f, 0.18f, 300, 0.017f, 0f, 0f, 0f, 300, 0.015f, 0f, 0f, 0f, 0.095f, 0.140f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20);
-            public static EaxReverb PrefabPractiseroom = new EaxReverb(26, 1.86f, 0.870f, -1000, -800, -600, 1.12f, 0.56f, 0.18f, 200, 0.010f, 0f, 0f, 0f, 300, 0.011f, 0f, 0f, 0f, 0.095f, 0.140f, 0.250f, 0f, -5f, 7176.9f, 211.2f, 0f, 0x20);
-            public static EaxReverb PrefabOuthouse = new EaxReverb(26, 80.3f, 0.820f, -1000, -1900, -1600, 1.38f, 0.38f, 0.35f, -100, 0.024f, 0f, 0f, -0f, -400, 0.044f, 0f, 0f, 0f, 0.121f, 0.170f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0);
-            public static EaxReverb PrefabCaravan = new EaxReverb(26, 8.3f, 1f, -1000, -2100, -1800, 0.43f, 1.50f, 1f, 0, 0.012f, 0f, 0f, 0f, 600, 0.012f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f);
-
-            // DOME AND PIPE PRESETS
-
-            public static EaxReverb DomeTomb = new EaxReverb(26, 51.8f, 0.790f, -1000, -900, -1300, 4.18f, 0.21f, 0.10f, -825, 0.030f, 0f, 0f, 0f, 450, 0.022f, 0f, 0f, 0f, 0.177f, 0.190f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x0);
-            public static EaxReverb DomeSaintPauls = new EaxReverb(26, 50.3f, 0.870f, -1000, -900, -1300, 10.48f, 0.19f, 0.10f, -1500, 0.090f, 0f, 0f, 0f, 200, 0.042f, 0f, 0f, 0f, 0.250f, 0.120f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x3f);
-            public static EaxReverb PipeSmall = new EaxReverb(26, 50.3f, 1f, -1000, -900, -1300, 5.04f, 0.10f, 0.10f, -600, 0.032f, 0f, 0f, 0f, 800, 0.015f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x3f);
-            public static EaxReverb PipeLongthin = new EaxReverb(26, 1.6f, 0.910f, -1000, -700, -1100, 9.21f, 0.18f, 0.10f, -300, 0.010f, 0f, 0f, 0f, -300, 0.022f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x0);
-            public static EaxReverb PipeLarge = new EaxReverb(26, 50.3f, 1f, -1000, -900, -1300, 8.45f, 0.10f, 0.10f, -800, 0.046f, 0f, 0f, 0f, 400, 0.032f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x3f);
-            public static EaxReverb PipeResonant = new EaxReverb(26, 1.3f, 0.910f, -1000, -700, -1100, 6.81f, 0.18f, 0.10f, -300, 0.010f, 0f, 0f, 0f, 00, 0.022f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 2854.4f, 20f, 0f, 0x0);
-
-            // OUTDOORS PRESETS
-
-            public static EaxReverb OutdoorsBackyard = new EaxReverb(26, 80.3f, 0.450f, -1000, -1200, -600, 1.12f, 0.34f, 0.46f, -700, 0.069f, 0f, 0f, -0f, -300, 0.023f, 0f, 0f, 0f, 0.218f, 0.340f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0);
-            public static EaxReverb OutdoorsRollingplains = new EaxReverb(26, 80.3f, 0f, -1000, -3900, -400, 2.13f, 0.21f, 0.46f, -1500, 0.300f, 0f, 0f, -0f, -700, 0.019f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0);
-            public static EaxReverb OutdoorsDeepcanyon = new EaxReverb(26, 80.3f, 0.740f, -1000, -1500, -400, 3.89f, 0.21f, 0.46f, -1000, 0.223f, 0f, 0f, -0f, -900, 0.019f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0);
-            public static EaxReverb OutdoorsCreek = new EaxReverb(26, 80.3f, 0.350f, -1000, -1500, -600, 2.13f, 0.21f, 0.46f, -800, 0.115f, 0f, 0f, -0f, -1400, 0.031f, 0f, 0f, 0f, 0.218f, 0.340f, 0.250f, 0f, -5f, 4399.1f, 242.9f, 0f, 0x0);
-            public static EaxReverb OutdoorsValley = new EaxReverb(26, 80.3f, 0.280f, -1000, -3100, -1600, 2.88f, 0.26f, 0.35f, -1700, 0.263f, 0f, 0f, -0f, -800, 0.100f, 0f, 0f, 0f, 0.250f, 0.340f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0);
-
-            // MOOD PRESETS
-
-            public static EaxReverb MoodHeaven = new EaxReverb(26, 19.6f, 0.940f, -1000, -200, -700, 5.04f, 1.12f, 0.56f, -1230, 0.020f, 0f, 0f, 0f, 200, 0.029f, 0f, 0f, 0f, 0.250f, 0.080f, 2.742f, 0.050f, -2f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb MoodHell = new EaxReverb(26, 100f, 0.570f, -1000, -900, -700, 3.57f, 0.49f, 2f, -10000, 0.020f, 0f, 0f, 0f, 300, 0.030f, 0f, 0f, 0f, 0.110f, 0.040f, 2.109f, 0.520f, -5f, 5000f, 139.5f, 0f, 0x40);
-            public static EaxReverb MoodMemory = new EaxReverb(26, 8f, 0.850f, -1000, -400, -900, 4.06f, 0.82f, 0.56f, -2800, 0f, 0f, 0f, 0f, 100, 0f, 0f, 0f, 0f, 0.250f, 0f, 0.474f, 0.450f, -10f, 5000f, 250f, 0f, 0x0);
-
-            // DRIVING SIMULATION PRESETS
-
-            public static EaxReverb DrivingCommentator = new EaxReverb(26, 3f, 0f, 1000, -500, -600, 2.42f, 0.88f, 0.68f, -1400, 0.093f, 0f, 0f, 0f, -1200, 0.017f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -10f, 5000f, 250f, 0f, 0x20);
-            public static EaxReverb DrivingPitgarage = new EaxReverb(26, 1.9f, 0.590f, -1000, -300, -500, 1.72f, 0.93f, 0.87f, -500, 0f, 0f, 0f, 0f, 200, 0.016f, 0f, 0f, 0f, 0.250f, 0.110f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x0);
-            public static EaxReverb DrivingIncarRacer = new EaxReverb(26, 1.1f, 0.800f, -1000, 0, -200, 0.17f, 2f, 0.41f, 500, 0.007f, 0f, 0f, 0f, -300, 0.015f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10268.2f, 251f, 0f, 0x20);
-            public static EaxReverb DrivingIncarSports = new EaxReverb(26, 1.1f, 0.800f, -1000, -400, 0, 0.17f, 0.75f, 0.41f, 0, 0.010f, 0f, 0f, 0f, -500, 0f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10268.2f, 251f, 0f, 0x20);
-            public static EaxReverb DrivingIncarLuxury = new EaxReverb(26, 1.6f, 1f, -1000, -2000, -600, 0.13f, 0.41f, 0.46f, -200, 0.010f, 0f, 0f, 0f, 400, 0.010f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10268.2f, 251f, 0f, 0x20);
-            public static EaxReverb DrivingFullgrandstand = new EaxReverb(26, 8.3f, 1f, -1000, -1100, -400, 3.01f, 1.37f, 1.28f, -900, 0.090f, 0f, 0f, 0f, -1500, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10420.2f, 250f, 0f, 0x1f);
-            public static EaxReverb DrivingEmptygrandstand = new EaxReverb(26, 8.3f, 1f, -1000, 0, -200, 4.62f, 1.75f, 1.40f, -1363, 0.090f, 0f, 0f, 0f, -1200, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 10420.2f, 250f, 0f, 0x1f);
-            public static EaxReverb DrivingTunnel = new EaxReverb(26, 3.1f, 0.810f, -1000, -800, -100, 3.42f, 0.94f, 1.31f, -300, 0.051f, 0f, 0f, 0f, -300, 0.047f, 0f, 0f, 0f, 0.214f, 0.050f, 0.250f, 0f, -5f, 5000f, 155.3f, 0f, 0x20);
-
-            // CITY PRESETS
-
-            public static EaxReverb CityStreets = new EaxReverb(26, 3f, 0.780f, -1000, -300, -100, 1.79f, 1.12f, 0.91f, -1100, 0.046f, 0f, 0f, 0f, -1400, 0.028f, 0f, 0f, 0f, 0.250f, 0.200f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20);
-            public static EaxReverb CitySubway = new EaxReverb(26, 3f, 0.740f, -1000, -300, -100, 3.01f, 1.23f, 0.91f, -300, 0.046f, 0f, 0f, 0f, 200, 0.028f, 0f, 0f, 0f, 0.125f, 0.210f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x20);
-            public static EaxReverb CityMuseum = new EaxReverb(26, 80.3f, 0.820f, -1000, -1500, -1500, 3.28f, 1.40f, 0.57f, -1200, 0.039f, 0f, 0f, -0f, -100, 0.034f, 0f, 0f, 0f, 0.130f, 0.170f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0);
-            public static EaxReverb CityLibrary = new EaxReverb(26, 80.3f, 0.820f, -1000, -1100, -2100, 2.76f, 0.89f, 0.41f, -900, 0.029f, 0f, 0f, -0f, -100, 0.020f, 0f, 0f, 0f, 0.130f, 0.170f, 0.250f, 0f, -5f, 2854.4f, 107.5f, 0f, 0x0);
-            public static EaxReverb CityUnderpass = new EaxReverb(26, 3f, 0.820f, -1000, -700, -100, 3.57f, 1.12f, 0.91f, -800, 0.059f, 0f, 0f, 0f, -100, 0.037f, 0f, 0f, 0f, 0.250f, 0.140f, 0.250f, 0f, -7f, 5000f, 250f, 0f, 0x20);
-            public static EaxReverb CityAbandoned = new EaxReverb(26, 3f, 0.690f, -1000, -200, -100, 3.28f, 1.17f, 0.91f, -700, 0.044f, 0f, 0f, 0f, -1100, 0.024f, 0f, 0f, 0f, 0.250f, 0.200f, 0.250f, 0f, -3f, 5000f, 250f, 0f, 0x20);
-
-            // MISC ROOMS
-
-            public static EaxReverb Generic = new EaxReverb(0, 7.5f, 1f, -1000, -100, 0, 1.49f, 0.83f, 1f, -2602, 0.007f, 0f, 0f, 0f, 200, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Paddedcell = new EaxReverb(1, 1.4f, 1f, -1000, -6000, 0, 0.17f, 0.10f, 1f, -1204, 0.001f, 0f, 0f, 0f, 207, 0.002f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Room = new EaxReverb(2, 1.9f, 1f, -1000, -454, 0, 0.40f, 0.83f, 1f, -1646, 0.002f, 0f, 0f, 0f, 53, 0.003f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Bathroom = new EaxReverb(3, 1.4f, 1f, -1000, -1200, 0, 1.49f, 0.54f, 1f, -370, 0.007f, 0f, 0f, 0f, 1030, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Livingroom = new EaxReverb(4, 2.5f, 1f, -1000, -6000, 0, 0.50f, 0.10f, 1f, -1376, 0.003f, 0f, 0f, 0f, -1104, 0.004f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Stoneroom = new EaxReverb(5, 11.6f, 1f, -1000, -300, 0, 2.31f, 0.64f, 1f, -711, 0.012f, 0f, 0f, 0f, 83, 0.017f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Auditorium = new EaxReverb(6, 21.6f, 1f, -1000, -476, 0, 4.32f, 0.59f, 1f, -789, 0.020f, 0f, 0f, 0f, -289, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Concerthall = new EaxReverb(7, 19.6f, 1f, -1000, -500, 0, 3.92f, 0.70f, 1f, -1230, 0.020f, 0f, 0f, 0f, -02, 0.029f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Cave = new EaxReverb(8, 14.6f, 1f, -1000, 0, 0, 2.91f, 1.30f, 1f, -602, 0.015f, 0f, 0f, 0f, -302, 0.022f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb Arena = new EaxReverb(9, 36.2f, 1f, -1000, -698, 0, 7.24f, 0.33f, 1f, -1166, 0.020f, 0f, 0f, 0f, 16, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Hangar = new EaxReverb(10, 50.3f, 1f, -1000, -1000, 0, 10.05f, 0.23f, 1f, -602, 0.020f, 0f, 0f, 0f, 198, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Carpettedhallway = new EaxReverb(11, 1.9f, 1f, -1000, -4000, 0, 0.30f, 0.10f, 1f, -1831, 0.002f, 0f, 0f, 0f, -1630, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Hallway = new EaxReverb(12, 1.8f, 1f, -1000, -300, 0, 1.49f, 0.59f, 1f, -1219, 0.007f, 0f, 0f, 0f, 441, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Stonecorridor = new EaxReverb(13, 13.5f, 1f, -1000, -237, 0, 2.70f, 0.79f, 1f, -1214, 0.013f, 0f, 0f, 0f, 395, 0.020f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Alley = new EaxReverb(14, 7.5f, 0.300f, -1000, -270, 0, 1.49f, 0.86f, 1f, -1204, 0.007f, 0f, 0f, 0f, -4, 0.011f, 0f, 0f, 0f, 0.125f, 0.950f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Forest = new EaxReverb(15, 38f, 0.300f, -1000, -3300, 0, 1.49f, 0.54f, 1f, -2560, 0.162f, 0f, 0f, 0f, -229, 0.088f, 0f, 0f, 0f, 0.125f, 1f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb City = new EaxReverb(16, 7.5f, 0.500f, -1000, -800, 0, 1.49f, 0.67f, 1f, -2273, 0.007f, 0f, 0f, 0f, -1691, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Mountains = new EaxReverb(17, 100f, 0.270f, -1000, -2500, 0, 1.49f, 0.21f, 1f, -2780, 0.300f, 0f, 0f, 0f, -1434, 0.100f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb Quarry = new EaxReverb(18, 17.5f, 1f, -1000, -1000, 0, 1.49f, 0.83f, 1f, -10000, 0.061f, 0f, 0f, 0f, 500, 0.025f, 0f, 0f, 0f, 0.125f, 0.700f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Plain = new EaxReverb(19, 42.5f, 0.210f, -1000, -2000, 0, 1.49f, 0.50f, 1f, -2466, 0.179f, 0f, 0f, 0f, -1926, 0.100f, 0f, 0f, 0f, 0.250f, 1f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Parkinglot = new EaxReverb(20, 8.3f, 1f, -1000, 0, 0, 1.65f, 1.50f, 1f, -1363, 0.008f, 0f, 0f, 0f, -1153, 0.012f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb Sewerpipe = new EaxReverb(21, 1.7f, 0.800f, -1000, -1000, 0, 2.81f, 0.14f, 1f, 429, 0.014f, 0f, 0f, 0f, 1023, 0.021f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Underwater = new EaxReverb(22, 1.8f, 1f, -1000, -4000, 0, 1.49f, 0.10f, 1f, -449, 0.007f, 0f, 0f, 0f, 1700, 0.011f, 0f, 0f, 0f, 0.250f, 0f, 1.180f, 0.348f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Drugged = new EaxReverb(23, 1.9f, 0.500f, -1000, 0, 0, 8.39f, 1.39f, 1f, -115, 0.002f, 0f, 0f, 0f, 985, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 1f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb Dizzy = new EaxReverb(24, 1.8f, 0.600f, -1000, -400, 0, 17.23f, 0.56f, 1f, -1713, 0.020f, 0f, 0f, 0f, -613, 0.030f, 0f, 0f, 0f, 0.250f, 1f, 0.810f, 0.310f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb Psychotic = new EaxReverb(25, 1f, 0.500f, -1000, -151, 0, 7.56f, 0.91f, 1f, -626, 0.020f, 0f, 0f, 0f, 774, 0.030f, 0f, 0f, 0f, 0.250f, 0f, 4f, 1f, -5f, 5000f, 250f, 0f, 0x1f);
-            public static EaxReverb Dustyroom = new EaxReverb(26, 1.8f, 0.560f, -1000, -200, -300, 1.79f, 0.38f, 0.21f, -600, 0.002f, 0f, 0f, 0f, 200, 0.006f, 0f, 0f, 0f, 0.202f, 0.050f, 0.250f, 0f, -10f, 13046f, 163.3f, 0f, 0x20);
-            public static EaxReverb Chapel = new EaxReverb(26, 19.6f, 0.840f, -1000, -500, 0, 4.62f, 0.64f, 1.23f, -700, 0.032f, 0f, 0f, 0f, -200, 0.049f, 0f, 0f, 0f, 0.250f, 0f, 0.250f, 0.110f, -5f, 5000f, 250f, 0f, 0x3f);
-            public static EaxReverb Smallwaterroom = new EaxReverb(26, 36.2f, 0.700f, -1000, -698, 0, 1.51f, 1.25f, 1.14f, -100, 0.020f, 0f, 0f, 0f, 300, 0.030f, 0f, 0f, 0f, 0.179f, 0.150f, 0.895f, 0.190f, -7f, 5000f, 250f, 0f, 0x0);
-        }
-    }
-}
diff --git a/Source/Compatibility/Audio/OpenAL/AL/XRamExtension.cs b/Source/Compatibility/Audio/OpenAL/AL/XRamExtension.cs
deleted file mode 100644 (file)
index d32208c..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* XRamExtension.cs
- * C header: \OpenAL 1.1 SDK\include\xram.h
- * Spec: ?
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details (MIT)
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Audio
-{
-
-    ///<summary>The X-Ram Extension is provided on the top-end Sound Blaster X-Fi solutions (Sound Blaster X-Fi Fatal1ty, Sound Blaster X-Fi Elite Pro, or later). These products feature 64MB of X-Ram that can only be used for audio purposes, which can be controlled by this Extension.</summary>
-    [CLSCompliant(true)]
-    public sealed class XRamExtension
-    {
-        #region Instance state
-
-        private bool _valid = false;
-
-        /// <summary>Returns True if the X-Ram Extension has been found and could be initialized.</summary>
-        public bool IsInitialized
-        {
-            get { return _valid; }
-        }
-
-        #endregion Instance state
-
-        #region X-RAM Function pointer definitions
-
-        // [CLSCompliant(false)]
-        private delegate bool Delegate_SetBufferMode(int n, ref uint buffers, int value);
-        //typedef ALboolean (__cdecl *EAXSetBufferMode)(ALsizei n, ALuint *buffers, ALint value);
-
-        // [CLSCompliant( false )]
-        private delegate int Delegate_GetBufferMode(uint buffer, IntPtr value);
-        //typedef ALenum    (__cdecl *EAXGetBufferMode)(ALuint buffer, ALint *value);
-
-        //[CLSCompliant(false)]
-        private Delegate_SetBufferMode Imported_SetBufferMode;
-        //[CLSCompliant(false)]
-        private Delegate_GetBufferMode Imported_GetBufferMode;
-
-        #endregion X-RAM Function pointer definitions
-
-        #region X-RAM Tokens
-
-        private int AL_EAX_RAM_SIZE, AL_EAX_RAM_FREE,
-                    AL_STORAGE_AUTOMATIC, AL_STORAGE_HARDWARE, AL_STORAGE_ACCESSIBLE;
-
-        #endregion X-RAM Tokens
-
-        #region Constructor / Extension Loading
-
-        public XRamExtension()
-        { // Query if Extension supported and retrieve Tokens/Pointers if it is.
-            _valid = false;
-            if (AL.IsExtensionPresent("EAX-RAM") == false)
-                return;
-
-            AL_EAX_RAM_SIZE = AL.GetEnumValue("AL_EAX_RAM_SIZE");
-            AL_EAX_RAM_FREE = AL.GetEnumValue("AL_EAX_RAM_FREE");
-            AL_STORAGE_AUTOMATIC = AL.GetEnumValue("AL_STORAGE_AUTOMATIC");
-            AL_STORAGE_HARDWARE = AL.GetEnumValue("AL_STORAGE_HARDWARE");
-            AL_STORAGE_ACCESSIBLE = AL.GetEnumValue("AL_STORAGE_ACCESSIBLE");
-
-            // Console.WriteLine("RamSize: {0} RamFree: {1} StorageAuto: {2} StorageHW: {3} StorageAccess: {4}",AL_EAX_RAM_SIZE,AL_EAX_RAM_FREE,AL_STORAGE_AUTOMATIC,AL_STORAGE_HARDWARE,AL_STORAGE_ACCESSIBLE);
-
-            if (AL_EAX_RAM_SIZE == 0 ||
-                 AL_EAX_RAM_FREE == 0 ||
-                 AL_STORAGE_AUTOMATIC == 0 ||
-                 AL_STORAGE_HARDWARE == 0 ||
-                 AL_STORAGE_ACCESSIBLE == 0)
-            {
-                Debug.WriteLine("X-Ram: Token values could not be retrieved.");
-                return;
-            }
-
-            // Console.WriteLine("Free Ram: {0} / {1}",GetRamFree( ),GetRamSize( ));
-
-            try
-            {
-                Imported_GetBufferMode = (Delegate_GetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXGetBufferMode"), typeof(Delegate_GetBufferMode));
-                Imported_SetBufferMode = (Delegate_SetBufferMode)Marshal.GetDelegateForFunctionPointer(AL.GetProcAddress("EAXSetBufferMode"), typeof(Delegate_SetBufferMode));
-            }
-            catch (Exception e)
-            {
-                Debug.WriteLine("X-Ram: Attempt to marshal function pointers with AL.GetProcAddress failed. " + e.ToString());
-                return;
-            }
-
-            _valid = true;
-        }
-
-        #endregion Constructor / Extension Loading
-
-        #region Public Methods
-
-        /// <summary>Query total amount of X-RAM in bytes.</summary>
-        public int GetRamSize
-        {
-            get
-            {
-                return AL.Get((ALGetInteger)AL_EAX_RAM_SIZE);
-            }
-        }
-
-        /// <summary>Query free X-RAM available in bytes.</summary>
-        public int GetRamFree
-        {
-            get
-            {
-                return AL.Get((ALGetInteger)AL_EAX_RAM_FREE);
-            }
-        }
-
-        /// <summary>This enum is used to abstract the need of using AL.GetEnumValue() with the Extension. The values do NOT correspond to AL_STORAGE_* tokens!</summary>
-        public enum XRamStorage : byte
-        {
-            /// <summary>Put an Open AL Buffer into X-RAM if memory is available, otherwise use host RAM.  This is the default mode.</summary>
-            Automatic = 0,
-            /// <summary>Force an Open AL Buffer into X-RAM, good for non-streaming buffers.</summary>
-            Hardware = 1,
-            /// <summary>Force an Open AL Buffer into 'accessible' (currently host) RAM, good for streaming buffers.</summary>
-            Accessible = 2,
-        }
-
-        /// <summary>This function is used to set the storage Mode of an array of OpenAL Buffers.</summary>
-        /// <param name="n">The number of OpenAL Buffers pointed to by buffer.</param>
-        /// <param name="buffer">An array of OpenAL Buffer handles.</param>
-        /// <param name="mode">The storage mode that should be used for all the given buffers. Should be the value of one of the following enum names: XRamStorage.Automatic, XRamStorage.Hardware, XRamStorage.Accessible</param>
-        /// <returns>True if all the Buffers were successfully set to the requested storage mode, False otherwise.</returns>
-        [CLSCompliant(false)]
-        public bool SetBufferMode(int n, ref uint buffer, XRamStorage mode)
-        {
-            switch (mode)
-            {
-                case XRamStorage.Accessible:
-                    return Imported_SetBufferMode(n, ref buffer, AL_STORAGE_ACCESSIBLE);
-                case XRamStorage.Hardware:
-                    return Imported_SetBufferMode(n, ref buffer, AL_STORAGE_HARDWARE);
-                default:
-                    return Imported_SetBufferMode(n, ref buffer, AL_STORAGE_AUTOMATIC);
-            }
-        }
-
-        /// <summary>This function is used to set the storage Mode of an array of OpenAL Buffers.</summary>
-        /// <param name="n">The number of OpenAL Buffers pointed to by buffer.</param>
-        /// <param name="buffer">An array of OpenAL Buffer handles.</param>
-        /// <param name="mode">The storage mode that should be used for all the given buffers. Should be the value of one of the following enum names: XRamStorage.Automatic, XRamStorage.Hardware, XRamStorage.Accessible</param>
-        /// <returns>True if all the Buffers were successfully set to the requested storage mode, False otherwise.</returns>
-        [CLSCompliant(true)]
-        public bool SetBufferMode(int n, ref int buffer, XRamStorage mode)
-        {
-            uint temp = (uint)buffer;
-            return SetBufferMode(n, ref temp, mode);
-        }
-
-        /// <summary>This function is used to retrieve the storage Mode of a single OpenAL Buffer.</summary>
-        /// <param name="buffer">The handle of an OpenAL Buffer.</param>
-        /// <returns>The current Mode of the Buffer.</returns>
-        [CLSCompliant(false)]
-        public XRamStorage GetBufferMode(ref uint buffer)
-        {
-            int tempresult = Imported_GetBufferMode(buffer, IntPtr.Zero); // IntPtr.Zero due to the parameter being unused/reserved atm
-
-            if (tempresult == AL_STORAGE_ACCESSIBLE)
-                return XRamStorage.Accessible;
-            if (tempresult == AL_STORAGE_HARDWARE)
-                return XRamStorage.Hardware;
-            // default:
-            return XRamStorage.Automatic;
-        }
-
-        /// <summary>This function is used to retrieve the storage Mode of a single OpenAL Buffer.</summary>
-        /// <param name="buffer">The handle of an OpenAL Buffer.</param>
-        /// <returns>The current Mode of the Buffer.</returns>
-        [CLSCompliant(true)]
-        public XRamStorage GetBufferMode(ref int buffer)
-        {
-            uint temp = (uint)buffer;
-            return GetBufferMode(ref temp);
-        }
-
-        #endregion Public Methods
-    }
-
-}
-
diff --git a/Source/Compatibility/Audio/OpenAL/Alc/Alc.cs b/Source/Compatibility/Audio/OpenAL/Alc/Alc.cs
deleted file mode 100644 (file)
index a772450..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* AlcFunctions.cs
- * C header: \OpenAL 1.1 SDK\include\Alc.h
- * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Runtime.InteropServices;
-using System.Security;
-
-/* Type Mapping
-// 8-bit boolean 
-typedef char ALCboolean;
- * byte
-// character 
-typedef char ALCchar;
- * byte
-// signed 8-bit 2's complement integer 
-typedef char ALCbyte;
- * byte
-
-// unsigned 8-bit integer 
-typedef unsigned char ALCubyte;
- * ubyte
-
-// signed 16-bit 2's complement integer 
-typedef short ALCshort;
- * short
-
-// unsigned 16-bit integer 
-typedef unsigned short ALCushort;
- * ushort
-
-// unsigned 32-bit integer 
-typedef unsigned int ALCuint;
- * uint
-  
-// signed 32-bit 2's complement integer 
-typedef int ALCint;
- * int
-// non-negative 32-bit binary integer size
-typedef int ALCsizei;
- * int
-// enumerated 32-bit value
-typedef int ALCenum;
- * int
-
-// 32-bit IEEE754 floating-point
-typedef float ALCfloat;
- * float
-
-// 64-bit IEEE754 floating-point
-typedef double ALCdouble;
- * double
-// void type (for opaque pointers only)
-typedef void ALCvoid;
- * void
- * ALCdevice
- * ALCcontext *context
- * IntPtr
-*/
-
-namespace OpenTK.Audio
-{
-
-    /// <summary>Alc = Audio Library Context</summary>
-    public static class Alc
-    {
-        #region Constants
-
-        private const string Lib = AL.Lib;
-        private const CallingConvention Style = CallingConvention.Cdecl;
-
-        #endregion Constants
-
-        #region Context Management
-
-        #region CreateContext
-
-        /// <summary>This function creates a context using a specified device.</summary>
-        /// <param name="device">a pointer to a device</param>
-        /// <param name="attrlist">a pointer to a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC</param>
-        /// <returns>Returns a pointer to the new context (NULL on failure). The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcCreateContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity]
-        [CLSCompliant(false)]
-        unsafe public static extern ContextHandle CreateContext([In] IntPtr device, [In] int* attrlist);
-        // ALC_API ALCcontext *    ALC_APIENTRY alcCreateContext( ALCdevice *device, const ALCint* attrlist );
-
-        /// <summary>This function creates a context using a specified device.</summary>
-        /// <param name="device">a pointer to a device</param>
-        /// <param name="attriblist">an array of a set of attributes: ALC_FREQUENCY, ALC_MONO_SOURCES, ALC_REFRESH, ALC_STEREO_SOURCES, ALC_SYNC</param>
-        /// <returns>Returns a pointer to the new context (NULL on failure).</returns>
-        /// <remarks>The attribute list can be NULL, or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values.</remarks>
-        public static ContextHandle CreateContext(IntPtr device, int[] attriblist)
-        {
-            unsafe
-            {
-                fixed (int* attriblist_ptr = attriblist)
-                {
-                    return CreateContext(device, attriblist_ptr);
-                }
-            }
-        }
-
-        #endregion
-
-        /// <summary>This function makes a specified context the current context.</summary>
-        /// <param name="context">A pointer to the new context.</param>
-        /// <returns>Returns True on success, or False on failure.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcMakeContextCurrent", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool MakeContextCurrent([In] ContextHandle context);
-        // ALC_API ALCboolean      ALC_APIENTRY alcMakeContextCurrent( ALCcontext *context );
-
-        /// <summary>This function tells a context to begin processing. When a context is suspended, changes in OpenAL state will be accepted but will not be processed. alcSuspendContext can be used to suspend a context, and then all the OpenAL state changes can be applied at once, followed by a call to alcProcessContext to apply all the state changes immediately. In some cases, this procedure may be more efficient than application of properties in a non-suspended state. In some implementations, process and suspend calls are each a NOP.</summary>
-        /// <param name="context">a pointer to the new context</param>
-        [DllImport(Alc.Lib, EntryPoint = "alcProcessContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void ProcessContext([In] ContextHandle context);
-        // ALC_API void            ALC_APIENTRY alcProcessContext( ALCcontext *context );
-
-        /// <summary>This function suspends processing on a specified context. When a context is suspended, changes in OpenAL state will be accepted but will not be processed. A typical use of alcSuspendContext would be to suspend a context, apply all the OpenAL state changes at once, and then call alcProcessContext to apply all the state changes at once. In some cases, this procedure may be more efficient than application of properties in a non-suspended state. In some implementations, process and suspend calls are each a NOP.</summary>
-        /// <param name="context">a pointer to the context to be suspended.</param>
-        [DllImport(Alc.Lib, EntryPoint = "alcSuspendContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void SuspendContext([In] ContextHandle context);
-        // ALC_API void            ALC_APIENTRY alcSuspendContext( ALCcontext *context );
-
-        /// <summary>This function destroys a context.</summary>
-        /// <param name="context">a pointer to the new context.</param>
-        [DllImport(Alc.Lib, EntryPoint = "alcDestroyContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void DestroyContext([In] ContextHandle context);
-        // ALC_API void            ALC_APIENTRY alcDestroyContext( ALCcontext *context );
-
-        /// <summary>This function retrieves the current context.</summary>
-        /// <returns>Returns a pointer to the current context.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcGetCurrentContext", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern ContextHandle GetCurrentContext();
-        // ALC_API ALCcontext *    ALC_APIENTRY alcGetCurrentContext( void );
-
-        /// <summary>This function retrieves a context's device pointer.</summary>
-        /// <param name="context">a pointer to a context.</param>
-        /// <returns>Returns a pointer to the specified context's device.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcGetContextsDevice", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern IntPtr GetContextsDevice([In] ContextHandle context);
-        // ALC_API ALCdevice*      ALC_APIENTRY alcGetContextsDevice( ALCcontext *context );
-
-        #endregion Context Management
-
-        #region Device Management
-
-        /// <summary>This function opens a device by name.</summary>
-        /// <param name="devicename">a null-terminated string describing a device.</param>
-        /// <returns>Returns a pointer to the opened device. The return value will be NULL if there is an error.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcOpenDevice", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern IntPtr OpenDevice([In] string devicename);
-        // ALC_API ALCdevice *     ALC_APIENTRY alcOpenDevice( const ALCchar *devicename );
-
-        /// <summary>This function closes a device by name.</summary>
-        /// <param name="device">a pointer to an opened device</param>
-        /// <returns>True will be returned on success or False on failure. Closing a device will fail if the device contains any contexts or buffers.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcCloseDevice", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool CloseDevice([In] IntPtr device);
-        // ALC_API ALCboolean      ALC_APIENTRY alcCloseDevice( ALCdevice *device );
-
-        #endregion Device Management
-
-        #region Error support.
-
-        /// <summary>This function retrieves the current context error state.</summary>
-        /// <param name="device">a pointer to the device to retrieve the error state from</param>
-        /// <returns>Errorcode Int32.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcGetError", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern AlcError GetError([In] IntPtr device);
-        // ALC_API ALCenum         ALC_APIENTRY alcGetError( ALCdevice *device );
-
-        #endregion Error support.
-
-        #region Extension support.
-
-        /// <summary>This function queries if a specified context extension is available.</summary>
-        /// <param name="device">a pointer to the device to be queried for an extension.</param>
-        /// <param name="extname">a null-terminated string describing the extension.</param>
-        /// <returns>Returns True if the extension is available, False if the extension is not available.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcIsExtensionPresent", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern bool IsExtensionPresent([In] IntPtr device, [In] string extname);
-        // ALC_API ALCboolean      ALC_APIENTRY alcIsExtensionPresent( ALCdevice *device, const ALCchar *extname );
-
-        /// <summary>This function retrieves the address of a specified context extension function.</summary>
-        /// <param name="device">a pointer to the device to be queried for the function.</param>
-        /// <param name="funcname">a null-terminated string describing the function.</param>
-        /// <returns>Returns the address of the function, or NULL if it is not found.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcGetProcAddress", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern IntPtr GetProcAddress([In] IntPtr device, [In] string funcname);
-        // ALC_API void  *         ALC_APIENTRY alcGetProcAddress( ALCdevice *device, const ALCchar *funcname );
-
-        /// <summary>This function retrieves the enum value for a specified enumeration name.</summary>
-        /// <param name="device">a pointer to the device to be queried.</param>
-        /// <param name="enumname">a null terminated string describing the enum value.</param>
-        /// <returns>Returns the enum value described by the enumName string. This is most often used for querying an enum value for an ALC extension.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcGetEnumValue", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern int GetEnumValue([In] IntPtr device, [In] string enumname);
-        // ALC_API ALCenum         ALC_APIENTRY alcGetEnumValue( ALCdevice *device, const ALCchar *enumname );
-
-        #endregion Extension support.
-
-        #region Query functions
-
-        [DllImport(Alc.Lib, EntryPoint = "alcGetString", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        private static extern IntPtr GetStringPrivate([In] IntPtr device, AlcGetString param);
-        // ALC_API const ALCchar * ALC_APIENTRY alcGetString( ALCdevice *device, ALCenum param );
-
-        /// <summary>This function returns pointers to strings related to the context.</summary>
-        /// <remarks>
-        /// ALC_DEFAULT_DEVICE_SPECIFIER will return the name of the default output device.
-        /// ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER will return the name of the default capture device.
-        /// ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details.
-        /// ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied.
-        /// ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character.
-        /// </remarks>
-        /// <param name="device">a pointer to the device to be queried.</param>
-        /// <param name="param">an attribute to be retrieved: ALC_DEFAULT_DEVICE_SPECIFIER, ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER, ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_EXTENSIONS</param>
-        /// <returns>A string containing the name of the Device.</returns>
-        public static string GetString(IntPtr device, AlcGetString param)
-        {
-            return Marshal.PtrToStringAnsi(GetStringPrivate(device, param));
-        }
-
-        /// <summary>This function returns a List of strings related to the context.</summary>
-        /// <remarks>
-        /// ALC_DEVICE_SPECIFIER will return the name of the specified output device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied. A list is a pointer to a series of strings separated by NULL characters, with the list terminated by two NULL characters. See Enumeration Extension for more details.
-        /// ALC_CAPTURE_DEVICE_SPECIFIER will return the name of the specified capture device if a pointer is supplied, or will return a list of all available devices if a NULL device pointer is supplied.
-        /// ALC_EXTENSIONS returns a list of available context extensions, with each extension separated by a space and the list terminated by a NULL character.
-        /// </remarks>
-        /// <param name="device">a pointer to the device to be queried.</param>
-        /// <param name="param">an attribute to be retrieved: ALC_DEVICE_SPECIFIER, ALC_CAPTURE_DEVICE_SPECIFIER, ALC_ALL_DEVICES_SPECIFIER</param>
-        /// <returns>A List of strings containing the names of the Devices.</returns>
-        public static IList<string> GetString(IntPtr device, AlcGetStringList param)
-        {
-            List<string> result = new List<string>();
-            IntPtr t = GetStringPrivate(IntPtr.Zero, (AlcGetString)param);
-            System.Text.StringBuilder sb = new System.Text.StringBuilder();
-            byte b;
-            int offset = 0;
-            do
-            {
-                b = Marshal.ReadByte(t, offset++);
-                if (b != 0)
-                    sb.Append((char)b);
-                if (b == 0)
-                {
-                    result.Add(sb.ToString());
-                    if (Marshal.ReadByte(t, offset) == 0) // offset already properly increased through ++
-                        break; // 2x null
-                    else
-                        sb.Remove(0, sb.Length); // 1x null
-                }
-            } while (true);
-
-            return (IList<string>)result;
-        }
-
-        [DllImport(Alc.Lib, EntryPoint = "alcGetIntegerv", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        unsafe static extern void GetInteger(IntPtr device, AlcGetInteger param, int size, int* data);
-        // ALC_API void            ALC_APIENTRY alcGetIntegerv( ALCdevice *device, ALCenum param, ALCsizei size, ALCint *buffer );
-
-        /// <summary>This function returns integers related to the context.</summary>
-        /// <param name="device">a pointer to the device to be queried.</param>
-        /// <param name="param">an attribute to be retrieved: ALC_MAJOR_VERSION, ALC_MINOR_VERSION, ALC_ATTRIBUTES_SIZE, ALC_ALL_ATTRIBUTES</param>
-        /// <param name="size">the size of the destination buffer provided, in number of integers.</param>
-        /// <param name="data">a pointer to the buffer to be returned</param>
-        public static void GetInteger(IntPtr device, AlcGetInteger param, int size, out int data)
-        {
-            unsafe
-            {
-                fixed (int* data_ptr = &data)
-                {
-                    GetInteger(device, param, size, data_ptr);
-                }
-            }
-        }
-
-        /// <summary>This function returns integers related to the context.</summary>
-        /// <param name="device">a pointer to the device to be queried.</param>
-        /// <param name="param">an attribute to be retrieved: ALC_MAJOR_VERSION, ALC_MINOR_VERSION, ALC_ATTRIBUTES_SIZE, ALC_ALL_ATTRIBUTES</param>
-        /// <param name="size">the size of the destination buffer provided, in number of integers.</param>
-        /// <param name="data">a pointer to the buffer to be returned</param>
-        public static void GetInteger(IntPtr device, AlcGetInteger param, int size, int[] data)
-        {
-            unsafe
-            {
-                fixed (int* data_ptr = data)
-                {
-                    GetInteger(device, param, size, data_ptr);
-                }
-            }
-        }
-
-        #endregion Query functions
-
-        #region Capture functions
-
-        /// <summary>This function opens a capture device by name. </summary>
-        /// <param name="devicename">a pointer to a device name string.</param>
-        /// <param name="frequency">the frequency that the buffer should be captured at.</param>
-        /// <param name="format">the requested capture buffer format.</param>
-        /// <param name="buffersize">the size of the capture buffer in samples, not bytes.</param>
-        /// <returns>Returns the capture device pointer, or NULL on failure.</returns>
-        [CLSCompliant(false), DllImport(Alc.Lib, EntryPoint = "alcCaptureOpenDevice", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern IntPtr CaptureOpenDevice(string devicename, uint frequency, ALFormat format, int buffersize);
-
-        /// <summary>This function opens a capture device by name. </summary>
-        /// <param name="devicename">a pointer to a device name string.</param>
-        /// <param name="frequency">the frequency that the buffer should be captured at.</param>
-        /// <param name="format">the requested capture buffer format.</param>
-        /// <param name="buffersize">the size of the capture buffer in samples, not bytes.</param>
-        /// <returns>Returns the capture device pointer, or NULL on failure.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcCaptureOpenDevice", ExactSpelling = true, CallingConvention = Alc.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern IntPtr CaptureOpenDevice(string devicename, int frequency, ALFormat format, int buffersize);
-
-        // ALC_API ALCdevice*      ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
-
-        /// <summary>This function closes the specified capture device.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        /// <returns>Returns True if the close operation was successful, False on failure.</returns>
-        [DllImport(Alc.Lib, EntryPoint = "alcCaptureCloseDevice", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool CaptureCloseDevice([In] IntPtr device);
-        // ALC_API ALCboolean      ALC_APIENTRY alcCaptureCloseDevice( ALCdevice *device );
-
-        /// <summary>This function begins a capture operation.</summary>
-        /// <remarks>alcCaptureStart will begin recording to an internal ring buffer of the size specified when opening the capture device. The application can then retrieve the number of samples currently available using the ALC_CAPTURE_SAPMPLES token with alcGetIntegerv. When the application determines that enough samples are available for processing, then it can obtain them with a call to alcCaptureSamples.</remarks>
-        /// <param name="device">a pointer to a capture device.</param>
-        [DllImport(Alc.Lib, EntryPoint = "alcCaptureStart", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void CaptureStart([In] IntPtr device);
-        // ALC_API void            ALC_APIENTRY alcCaptureStart( ALCdevice *device );
-
-        /// <summary>This function stops a capture operation.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        [DllImport(Alc.Lib, EntryPoint = "alcCaptureStop", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void CaptureStop([In] IntPtr device);
-        // ALC_API void            ALC_APIENTRY alcCaptureStop( ALCdevice *device );
-
-        /// <summary>This function completes a capture operation, and does not block.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        /// <param name="buffer">a pointer to a buffer, which must be large enough to accommodate the number of samples.</param>
-        /// <param name="samples">the number of samples to be retrieved.</param>
-        [DllImport(Alc.Lib, EntryPoint = "alcCaptureSamples", ExactSpelling = true, CallingConvention = Alc.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern void CaptureSamples(IntPtr device, IntPtr buffer, int samples);
-        // ALC_API void            ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
-
-        /// <summary>This function completes a capture operation, and does not block.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        /// <param name="buffer">a reference to a buffer, which must be large enough to accommodate the number of samples.</param>
-        /// <param name="samples">the number of samples to be retrieved.</param>
-        public static void CaptureSamples<T>(IntPtr device, ref T buffer, int samples)
-            where T : struct
-        {
-            GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
-            try
-            {
-                CaptureSamples(device, handle.AddrOfPinnedObject(), samples);
-            }
-            finally
-            {
-                handle.Free();
-            }
-        }
-
-        /// <summary>This function completes a capture operation, and does not block.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        /// <param name="buffer">a buffer, which must be large enough to accommodate the number of samples.</param>
-        /// <param name="samples">the number of samples to be retrieved.</param>
-        public static void CaptureSamples<T>(IntPtr device, T[] buffer, int samples)
-            where T : struct
-        {
-            CaptureSamples(device, ref buffer[0], samples);
-        }
-
-        /// <summary>This function completes a capture operation, and does not block.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        /// <param name="buffer">a buffer, which must be large enough to accommodate the number of samples.</param>
-        /// <param name="samples">the number of samples to be retrieved.</param>
-        public static void CaptureSamples<T>(IntPtr device, T[,] buffer, int samples)
-            where T : struct
-        {
-            CaptureSamples(device, ref buffer[0, 0], samples);
-        }
-
-        /// <summary>This function completes a capture operation, and does not block.</summary>
-        /// <param name="device">a pointer to a capture device.</param>
-        /// <param name="buffer">a buffer, which must be large enough to accommodate the number of samples.</param>
-        /// <param name="samples">the number of samples to be retrieved.</param>
-        public static void CaptureSamples<T>(IntPtr device, T[,,] buffer, int samples)
-            where T : struct
-        {
-            CaptureSamples(device, ref buffer[0, 0, 0], samples);
-        }
-
-        #endregion Capture functions
-
-    }
-
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Audio/OpenAL/Alc/AlcEnums.cs b/Source/Compatibility/Audio/OpenAL/Alc/AlcEnums.cs
deleted file mode 100644 (file)
index 9c1dba7..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* AlcTokens.cs
- * C header: \OpenAL 1.1 SDK\include\Alc.h
- * Spec: http://www.openal.org/openal_webstf/specs/OpenAL11Specification.pdf
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-
-namespace OpenTK.Audio
-{
-    /// <summary>
-    /// Defines available context attributes.
-    /// </summary>
-    public enum AlcContextAttributes : int
-    {
-        ///<summary>Followed by System.Int32 Hz</summary>
-        Frequency = 0x1007,
-
-        ///<summary>Followed by System.Int32 Hz</summary>
-        Refresh = 0x1008,
-
-        ///<summary>Followed by AlBoolean.True, or AlBoolean.False</summary>
-        Sync = 0x1009,
-
-        ///<summary>Followed by System.Int32 Num of requested Mono (3D) Sources</summary>
-        MonoSources = 0x1010,
-
-        ///<summary>Followed by System.Int32 Num of requested Stereo Sources</summary>
-        StereoSources = 0x1011,
-
-        /// <summary>(EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2</summary>
-        EfxMaxAuxiliarySends = 0x20003,
-    }
-
-    /// <summary>
-    /// Defines OpenAL context errors.
-    /// </summary>
-    public enum AlcError : int
-    {
-        ///<summary>There is no current error.</summary>
-        NoError = 0,
-
-        ///<summary>No Device. The device handle or specifier names an inaccessible driver/server.</summary>
-        InvalidDevice = 0xA001,
-
-        ///<summary>Invalid context ID. The Context argument does not name a valid context.</summary>
-        InvalidContext = 0xA002,
-
-        ///<summary>Bad enum. A token used is not valid, or not applicable.</summary>
-        InvalidEnum = 0xA003,
-
-        ///<summary>Bad value. A value (e.g. Attribute) is not valid, or not applicable.</summary>
-        InvalidValue = 0xA004,
-
-        ///<summary>Out of memory. Unable to allocate memory.</summary>
-        OutOfMemory = 0xA005,
-    }
-
-    /// <summary>
-    /// Defines available parameters for <see cref="OpenTK.Audio.Alc.GetString(IntPtr, AlcGetString)"/>.
-    /// </summary>
-    public enum AlcGetString : int
-    {
-        ///<summary>The specifier string for the default device.</summary>
-        DefaultDeviceSpecifier = 0x1004,
-
-        ///<summary>A list of available context extensions separated by spaces.</summary>
-        Extensions = 0x1006,
-
-        ///<summary>The name of the default capture device</summary>
-        CaptureDefaultDeviceSpecifier = 0x311, // ALC_EXT_CAPTURE extension.
-
-        /// <summary>a list of the default devices.</summary>
-        DefaultAllDevicesSpecifier = 0x1012,
-
-        // duplicates from AlcGetStringList:
-
-        ///<summary>Will only return the first Device, not a list. Use AlcGetStringList.CaptureDeviceSpecifier. ALC_EXT_CAPTURE_EXT </summary>
-        CaptureDeviceSpecifier = 0x310,
-
-        ///<summary>Will only return the first Device, not a list. Use AlcGetStringList.DeviceSpecifier</summary>
-        DeviceSpecifier = 0x1005,
-
-        /// <summary>Will only return the first Device, not a list. Use AlcGetStringList.AllDevicesSpecifier</summary>
-        AllDevicesSpecifier = 0x1013,
-    }
-
-    /// <summary>
-    /// Defines available parameters for <see cref="OpenTK.Audio.Alc.GetString(IntPtr, AlcGetStringList)"/>.
-    /// </summary>
-    public enum AlcGetStringList : int
-    {
-        ///<summary>The name of the specified capture device, or a list of all available capture devices if no capture device is specified. ALC_EXT_CAPTURE_EXT </summary>
-        CaptureDeviceSpecifier = 0x310,
-
-        ///<summary>The specifier strings for all available devices. ALC_ENUMERATION_EXT</summary>
-        DeviceSpecifier = 0x1005,
-
-        /// <summary>The specifier strings for all available devices. ALC_ENUMERATE_ALL_EXT</summary>
-        AllDevicesSpecifier = 0x1013,
-    }
-
-    /// <summary>
-    /// Defines available parameters for <see cref="OpenTK.Audio.Alc.GetInteger(IntPtr, AlcGetInteger, int, out int)"/>.
-    /// </summary>
-    public enum AlcGetInteger : int
-    {
-        ///<summary>The specification revision for this implementation (major version). NULL is an acceptable device.</summary>
-        MajorVersion = 0x1000,
-
-        ///<summary>The specification revision for this implementation (minor version). NULL is an acceptable device.</summary>
-        MinorVersion = 0x1001,
-
-        ///<summary>The size (number of ALCint values) required for a zero-terminated attributes list, for the current context. NULL is an invalid device.</summary>
-        AttributesSize = 0x1002,
-
-        ///<summary>Expects a destination of ALC_ATTRIBUTES_SIZE, and provides an attribute list for the current context of the specified device. NULL is an invalid device.</summary>
-        AllAttributes = 0x1003,
-
-        ///<summary>The number of capture samples available. NULL is an invalid device.</summary>
-        CaptureSamples = 0x312,
-
-        /// <summary>(EFX Extension) This property can be used by the application to retrieve the Major version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv.</summary>
-        EfxMajorVersion = 0x20001,
-
-        /// <summary>(EFX Extension) This property can be used by the application to retrieve the Minor version number of the Effects Extension supported by this OpenAL implementation. As this is a Context property is should be retrieved using alcGetIntegerv.</summary>
-        EfxMinorVersion = 0x20002,
-
-        /// <summary>(EFX Extension) This Context property can be passed to OpenAL during Context creation (alcCreateContext) to request a maximum number of Auxiliary Sends desired on each Source. It is not guaranteed that the desired number of sends will be available, so an application should query this property after creating the context using alcGetIntergerv. Default: 2</summary>
-        EfxMaxAuxiliarySends = 0x20003,
-    }
-}
diff --git a/Source/Compatibility/Audio/OpenAL/Alut/Alut.cs b/Source/Compatibility/Audio/OpenAL/Alut/Alut.cs
deleted file mode 100644 (file)
index 24fc82d..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* AlutFunctions.cs
- * C header: \freealut-1.1.0-src\include\AL\Alut.h
- * Spec: http://www.openal.org/openal_webstf/specs/alut.html
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.Security;
-
-namespace OpenTK.Audio
-{
-
-    /// <summary>Alut, FreeAlut = Free Audio Library Utilities</summary>
-    [Obsolete("Use OpenTK.Audio.AudioContext and OpenTK.Audio.Alc instead.")]
-    public static class Alut
-    {
-        #region Constants
-
-        private const string Lib = "alut.dll";
-        private const CallingConvention Style = CallingConvention.Cdecl;
-
-        #endregion Constants
-
-        #region Init/Exit
-
-        /// <summary>Alut.Init initializes the ALUT internals and creates an OpenAL context on the default device and makes it the current OpenAL context. If you want something more complex than that (e.g. running on a non-default device or opening multiple contexts on multiple devices), you can use alutInitWithoutContext  instead. alutInit examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL  pointers in settings where no useful information can be obtained from argc and argv.</summary>
-        /// <param name="argcp">Application Main Parameters. Can be IntPtr.Zero.</param>
-        /// <param name="argv">Application Main Parameters. Can be IntPtr.Zero.</param>
-        /// <returns>Success.</returns>
-        [DllImport(Alut.Lib, EntryPoint = "alutInit", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool Init([In] IntPtr argcp, [In] IntPtr argv);
-        // ALUT_API ALboolean ALUT_APIENTRY alutInit (int *argcp, char **argv);
-
-        /// <summary>Parameterless function for convenience. Internally passes IntPtr.Zero as parameters.</summary>
-        /// <returns>Success.</returns>
-        public static bool Init() // overload for convenience
-        {
-            return Init(IntPtr.Zero, IntPtr.Zero);
-        }
-
-        /// <summary>Alut.InitWithoutContext initializes the ALUT internals. It does not create any OpenAL context or device, so this has to be done via the usual ALC calls. alutInitWithoutContext examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv.</summary>
-        /// <param name="argcp">Application Main Parameters</param>
-        /// <param name="argv">Application Main Parameters</param>
-        /// <returns>Success.</returns>
-        [DllImport(Alut.Lib, EntryPoint = "alutInitWithoutContext", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool InitWithoutContext([In] IntPtr argcp, [In] IntPtr argv);
-        // ALUT_API ALboolean ALUT_APIENTRY alutInitWithoutContext (int *argcp, char **argv);
-
-        /// <summary>Alut.InitWithoutContext initializes the ALUT internals. It does not create any OpenAL context or device, so this has to be done via the usual ALC calls. alutInitWithoutContext examines the commandline arguments passed to it and remove those it recognizes. It is acceptable to pass two NULL pointers in settings where no useful information can be obtained from argc and argv.</summary>
-        /// <returns>Success.</returns>
-        public static bool InitWithoutContext() // overload for convenience
-        {
-            return InitWithoutContext(IntPtr.Zero, IntPtr.Zero);
-        }
-
-        /// <summary>When the application has finished playing audio, it should shut down ALUT using Alut.Exit. This closes any OpenAL device/context that ALUT may have created in alutInit (but not any that the application created using ALC). After calling alutExit, you may subsequently call alutInit or alutInitWithoutContext again. Note that under well-behaved operating systems, it should be acceptable to simply exit from your program without bothering to call alutExit, relying on the OS to clean up after you. However, it is dangerous to rely on this behavior if portable operation is expected.</summary>
-        /// <returns>Success.</returns>
-        [DllImport(Alut.Lib, EntryPoint = "alutExit", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern bool Exit();
-        // ALUT_API ALboolean ALUT_APIENTRY alutExit (void);
-
-        #endregion Init/Exit
-
-        #region Error Checking
-
-        /// <summary>Any ALUT routine that fails will return AL_FALSE / AL_NONE / NULL and set the global error state. If a subsequent error occurs while there is still an error recorded internally, the second error will simply be ignored. Calling alutGetError will reset the error code to ALUT_ERROR_NO_ERROR. Note that the error state is not cleared by other successful ALUT calls. Alut.GetError can be called in any ALUT state and will never fail.</summary>
-        /// <returns><see cref="AlutError"/></returns>
-        [DllImport(Alut.Lib, EntryPoint = "alutGetError", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern AlutError GetError();
-        // ALUT_API ALenum ALUT_APIENTRY alutGetError (void);
-
-        [DllImport(Alut.Lib, EntryPoint = "alutGetErrorString", ExactSpelling = true, CallingConvention = Alut.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        private static extern IntPtr GetErrorStringPrivate(AlutError error);
-        // ALUT_API const char *ALUT_APIENTRY alutGetErrorString (ALenum error);
-
-        /// <summary>Alut.GetErrorString can be used to convert an error code into a human-readable description. The precise text of these descriptions may vary from implementation to implementation and should not be relied upon by the application.</summary>
-        /// <param name="error">Retrieve first occured error with Alut.GetError</param>
-        /// <returns>A human-readable description of the Error.</returns>
-        public static string GetErrorString(AlutError error)
-        {
-            return Marshal.PtrToStringAnsi(GetErrorStringPrivate(error));
-        }
-
-        #endregion Error Checking
-
-        #region File Loading
-
-        /// <summary>Alut.CreateBufferFromFile tries to guess the sound buffer format by looking at the filename and/or the file contents and loads the sound buffer into an OpenAL buffer.</summary>
-        /// <param name="filename">The file to be loaded</param>
-        /// <returns>OpenAL Buffer, 0 on failure.</returns>
-        [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferFromFile", ExactSpelling = true, CallingConvention = Alut.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        public static extern uint CreateBufferFromFile([In] string filename);
-        // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFile (const char *fileName); 
-
-        /// <summary>Alut.CreateBufferFromFileImage tries to guess the sound buffer format by looking at the contents of the memory region given as parameters and loads the sound buffer into an OpenAL buffer.</summary>
-        /// <param name="buffer">A Pointer to the sound buffer in memory.</param>
-        /// <param name="length">Size in Bytes of the sound buffer.</param>
-        /// <returns>OpenAL Buffer, 0 on failure.</returns>
-        [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferFromFileImage", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern uint CreateBufferFromFileImage([In] IntPtr buffer, int length);
-        // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFileImage (const ALvoid *buffer, ALsizei length);
-
-
-        /// <summary>Alut.CreateBufferHelloWorld returns a handle to an OpenAL buffer containing the sound of someone saying 'Hello, world!'.</summary>
-        /// <returns>OpenAL Buffer, 0 on failure.</returns>
-        [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferHelloWorld", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern uint CreateBufferHelloWorld();
-        //ALUT_API ALuint ALUT_APIENTRY alutCreateBufferHelloWorld (void);
-
-        /// <summary>Alut.CreateBufferWaveform returns a handle to an OpenAL buffer containing a snippet of audio with the specified waveshape at the specified frequency (in hertz), phase (in degrees: -180 to +180) and duration (in seconds).</summary>
-        /// <param name="waveshape"></param>
-        /// <param name="frequency">Frequency in hertz [Hz].</param>
-        /// <param name="phase">Phase (in degrees: -180 to +180)</param>
-        /// <param name="duration">Duration (in seconds)</param>
-        /// <returns>OpenAL Buffer, 0 on failure.</returns>
-        [CLSCompliant(false), DllImport(Alut.Lib, EntryPoint = "alutCreateBufferWaveform", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern uint CreateBufferWaveform(AlutWaveform waveshape, float frequency, float phase, float duration);
-        // ALUT_API ALuint ALUT_APIENTRY alutCreateBufferWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration);
-
-        // Warning: these leak memory if not properly free'd
-        // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFile (const char *fileName, ALenum *format, ALsizei *size, ALfloat *frequency);
-        // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFileImage (const ALvoid *buffer, ALsizei length, ALenum *format, ALsizei *size, ALfloat *frequency);
-        // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryHelloWorld (ALenum *format, ALsizei *size, ALfloat *frequency);
-        // ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration, ALenum *format, ALsizei *size, ALfloat *freq);
-
-        #endregion File Loading
-
-        #region Misc
-        [DllImport(Alut.Lib, EntryPoint = "alutGetMIMETypes", ExactSpelling = true, CallingConvention = Alut.Style, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity()]
-        private static extern IntPtr GetMIMETypesPrivate(AlutLoader loader);
-        // ALUT_API const char *ALUT_APIENTRY alutGetMIMETypes (ALenum loader); 
-
-        /// <summary>Alut.GetMIMETypes returns a comma-separated list of supported MIME types for the given loader type, e.g. something like "audio/basic,audio/mpeg,audio/x-wav". 
-        /// It is possible that AlutLoader.Memory loaders will be unable to support some file types that AlutLoader.Buffer loaders can support (although the reverse is never the case). Furthermore, it is possible that for some file types (notably audio/x-wav) the support may be only for a few sub-formats. For example, an implementation may advertise that audio/x-wav is supported when in fact it only supports uncompressed (i.e. PCM) WAV files and not any of the compressed subformats. In this event, the various ALUT loaders may return an error and set ALUT_ERROR_UNSUPPORTED_FILE_SUBTYPE rather than ALUT_ERROR_UNSUPPORTED_FILE_TYPE which would indicate that no files of this type are allowed.
-        /// </summary>
-        /// <param name="loader"><see cref="AlutLoader"/></param>
-        /// <returns>A comma-separated list of supported MIME types.</returns>
-        public static string GetMIMETypes(AlutLoader loader)
-        {
-            return Marshal.PtrToStringAnsi(GetMIMETypesPrivate(loader));
-        }
-
-        /// <summary>Alut.GetMajorVersion returns the major version number of the ALUT in use, which will match the major version number of the corresponding ALUT specification document. Can be compared using AlutVersions.</summary>
-        /// <returns>Major Version Number.</returns>
-        [DllImport(Alut.Lib, EntryPoint = "alutGetMajorVersion", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern int GetMajorVersion();
-        // ALUT_API ALint ALUT_APIENTRY alutGetMajorVersion (void);
-
-        /// <summary>Alut.GetMinorVersion returns the minor version number of the ALUT in use, which will match the minor version number of the corresponding ALUT specification document. Can be compared using AlutVersions.</summary>
-        /// <returns>Minor Version Number.</returns>
-        [DllImport(Alut.Lib, EntryPoint = "alutGetMinorVersion", ExactSpelling = true, CallingConvention = Alut.Style), SuppressUnmanagedCodeSecurity()]
-        public static extern int GetMinorVersion();
-        // ALUT_API ALint ALUT_APIENTRY alutGetMinorVersion (void);
-
-        /*
-        /// <summary>Alut.Sleep will delay the execution of the current thread for at least the given amount of seconds. It will only return earlier if a signal has been delivered to the thread, but this does not count as an error. Note that sleeping for zero seconds will give other runnable threads a chance to run.
-        /// Having a general utility function like the following in an audio-related toolkit might seem strange at first, but sleeping is a common task in a lot of audio demos and it can't be done portably without cluttering the source code with #ifdefs.
-        /// </summary>
-        /// <param name="duration">Number of seconds. May not be negative.</param>
-        /// <returns>Success.</returns>
-        [DllImport( Alut.Lib, EntryPoint = "alutSleep", ExactSpelling = true, CallingConvention = Alut.Style ), SuppressUnmanagedCodeSecurity( )]
-        public static extern bool Sleep( float duration );
-        // ALUT_API ALboolean ALUT_APIENTRY alutSleep (ALfloat duration);
-        */
-        #endregion Misc
-    }
-
-}
diff --git a/Source/Compatibility/Audio/OpenAL/Alut/AlutEnums.cs b/Source/Compatibility/Audio/OpenAL/Alut/AlutEnums.cs
deleted file mode 100644 (file)
index 4555fd1..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#region --- OpenTK.OpenAL License ---
-/* AlutTokens.cs
- * C header: \freealut-1.1.0-src\include\AL\Alut.h
- * Spec: http://www.openal.org/openal_webstf/specs/alut.html
- * Copyright (c) 2008 Christoph Brandtner and Stefanos Apostolopoulos
- * See license.txt for license details
- * http://www.OpenTK.net */
-#endregion
-
-using System;
-
-namespace OpenTK.Audio
-{
-    /// <summary>
-    /// Defines the version of the Alut library.
-    /// </summary>
-    public enum AlutVersions : int
-    {
-        /// <summary>Defines the A in OpenAL A.B</summary>
-        ApiMajorVersion = 1,
-        /// <summary>Defines the B in OpenAL A.B</summary>
-        ApiMinorVersion = 1,
-    }
-
-    /// <summary>
-    /// Defines available alut error codes.
-    /// </summary>
-    public enum AlutError : int
-    {
-        /// <summary>No ALUT error found.</summary>
-        NoError = 0,
-        /// <summary>ALUT ran out of memory.</summary>
-        OutOfMemory = 0x200,
-        /// <summary>ALUT was given an invalid enumeration token.</summary>
-        InvalidEnum = 0x201,
-        /// <summary>ALUT was given an invalid value.</summary>
-        InvalidValue = 0x202,
-        /// <summary>The operation is invalid in the current ALUT state.</summary>
-        InvalidOperation = 0x203,
-        /// <summary>There is no current AL context.</summary>
-        NoCurrentContext = 0x204,
-        /// <summary>There was already an AL error on entry to an ALUT function.</summary>
-        AlErrorOnEntry = 0x205,
-        /// <summary>There was already an ALC error on entry to an ALUT function.</summary>
-        AlcErrorOnEntry = 0x206,
-        /// <summary>There was an error opening the ALC device.</summary>
-        OpenDevice = 0x207,
-        /// <summary>There was an error closing the ALC device.</summary>
-        CloseDevice = 0x208,
-        /// <summary>There was an error creating an ALC context.</summary>
-        CreateContext = 0x209,
-        /// <summary>Could not change the current ALC context.</summary>
-        MakeContextCurrent = 0x20A,
-        /// <summary>There was an error destroying the ALC context.</summary>
-        DestroyContext = 0x20B,
-        /// <summary>There was an error generating an AL buffer.</summary>
-        GenBuffers = 0x20C,
-        /// <summary>There was an error passing buffer buffer to AL.</summary>
-        BufferData = 0x20D,
-        /// <summary>I/O error, consult errno for more details.</summary>
-        IoError = 0x20E,
-        /// <summary>Unsupported file type.</summary>
-        UnsupportedFileType = 0x20F,
-        /// <summary>Unsupported mode within an otherwise usable file type.</summary>
-        UnsupportedFileSubtype = 0x210,
-        /// <summary>The sound buffer was corrupt or truncated.</summary>
-        CorruptOrTruncatedData = 0x211,
-    }
-
-    /// <summary>
-    /// Defines available alut waveform types.
-    /// </summary>
-    public enum AlutWaveform : int
-    {
-        /// <summary>A sine waveform</summary>
-        Sine = 0x100,
-        /// <summary>A square waveform</summary>
-        Square = 0x101,
-        /// <summary>A sawtooth waveform</summary>
-        SawTooth = 0x102,
-        /// <summary>A waveform containing white noise</summary>
-        WhiteNoise = 0x103,
-        /// <summary>A waveform containing an impusle</summary>
-        Impulse = 0x104,
-    }
-
-    /// <summary>
-    /// Defines parameters for alut loaders.
-    /// </summary>
-    public enum AlutLoader : int
-    {
-        ///<summary>For the loaders returning sound buffer in an OpenAL buffer, e.g. Alut.CreateBufferFromFile and Alut.CreateBufferFromFileImage</summary>
-        Buffer = 0x300,
-        ///<summary>For the loaders returning sound buffer in a newly allocated memory region, e.g. Alut.LoadMemoryFromFile and Alut.LoadMemoryFromFileImage.</summary>
-        Memory = 0x301,
-    }
-
-}
diff --git a/Source/Compatibility/Audio/Sound.cs b/Source/Compatibility/Audio/Sound.cs
deleted file mode 100644 (file)
index 1986326..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace OpenTK.Audio
-{
-#if false
-    /// <summary>Defines methods to load and hold sound buffer.</summary>
-    public class Sound<SampleType> : IDisposable
-    {
-        bool disposed;
-        SoundReader<SampleType> reader;
-        SoundData<SampleType> data;
-
-        public Sound(Stream s)
-        {
-            if (s == null) throw new ArgumentNullException("s", "Must be a valid System.IO.Stream.");
-
-            reader = SoundReader.Create(s);
-        }
-
-        public Sound(string filename)
-        {
-            if (String.IsNullOrEmpty(filename)) throw new ArgumentNullException("s", "Must be a valid System.IO.Stream.");
-
-            reader = SoundReader.Create(filename);
-        }
-
-        #region --- Public Members ---
-
-        public SoundData ReadSamples(int count)
-        {
-            if (count <= 0) throw new ArgumentOutOfRangeException("count", "Must be larger than zero.");
-            throw new NotImplementedException();
-        }
-
-        public SoundData ReadToEnd()
-        {
-            return reader.ReadToEnd();
-        }
-
-        public SoundData SoundData { get { return data; } }
-
-        public void WriteToBuffer(int buffer, int length)
-        {
-            if (buffer == 0) throw new ArgumentOutOfRangeException("buffer", "May not be zero.");
-        }
-
-        #endregion
-
-        #region --- IDisposable Members ---
-
-        /// <summary>Disposes of the sound buffer.</summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        private void Dispose(bool manual)
-        {
-            if (!disposed)
-            {
-                if (manual)
-                    reader.Dispose();
-                disposed = true;
-            }
-        }
-
-        ~Sound()
-        {
-            this.Dispose(false);
-        }
-
-        #endregion
-    }
-#endif
-}
diff --git a/Source/Compatibility/Audio/SoundData.cs b/Source/Compatibility/Audio/SoundData.cs
deleted file mode 100644 (file)
index 7bb4c50..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Audio
-{
-    /// <summary>Encapsulates a pointer to a decoded sound buffer.</summary>
-    public class SoundData
-    {
-        byte[] buffer;
-        SoundFormat format;
-
-        #region --- Constructors ---
-
-        /// <internal />
-        /// <summary>Constructs a new SoundData object.</summary>
-        /// <param name="format">The SoundFormat of these SoundData.</param>
-        /// <param name="data">An array of PCM buffer.</param>
-        internal SoundData(SoundFormat format, byte[] data)
-        {
-            if (data == null) throw new ArgumentNullException("buffer", "Must be a valid array of samples.");
-            if (data.Length == 0) throw new ArgumentOutOfRangeException("buffer", "Data length must be higher than 0.");
-
-            this.SoundFormat = format;
-
-            buffer = new byte[data.Length];
-            Array.Copy(data, buffer, data.Length);
-        }
-
-        #endregion
-
-        /// <summary>Gets the raw PCM buffer.</summary>
-        public byte[] Data { get { return buffer; } internal set { buffer = value; } }
-
-        /// <summary>Gets the SoundFormat of the SoundData.</summary>
-        public SoundFormat SoundFormat { get { return format; } internal set { format = value; } }
-    }    
-}
diff --git a/Source/Compatibility/Audio/SoundFormat.cs b/Source/Compatibility/Audio/SoundFormat.cs
deleted file mode 100644 (file)
index 6733081..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-
-using System;
-
-namespace OpenTK.Audio
-{
-    /// <summary>Describes the format of the SoundData.</summary>
-    public struct SoundFormat
-    {
-        #region --- Constructors ---
-
-        /// <summary>Constructs a new SoundFormat.</summary>
-        public SoundFormat(int channels, int bitsPerSample, int sampleRate)
-        {
-            if (sampleRate <= 0) throw new ArgumentOutOfRangeException("sampleRate", "Must be higher than 0.");
-
-            SampleFormat = 0;
-
-            switch (channels)
-            {
-                case 1:
-                    if (bitsPerSample == 8) SampleFormat = SampleFormat.Mono8;
-                    else if (bitsPerSample == 16) SampleFormat = SampleFormat.Mono16;
-                    break;
-
-                case 2:
-                    if (bitsPerSample == 8) SampleFormat = SampleFormat.Stereo8;
-                    else if (bitsPerSample == 16) SampleFormat = SampleFormat.Stereo16;
-                    break;
-            }
-            SampleRate = sampleRate;
-        }
-
-        #endregion
-
-        #region --- Public Members ---
-
-        /// <summary>Describes the SampleFormat of the SoundData.</summary>
-        public readonly SampleFormat SampleFormat;
-
-        /// <summary>Describes the sample rate (frequency) of the SoundData.</summary>
-        public readonly int SampleRate;
-
-        /// <summary>Gets the SampleFormat of the buffer as an OpenTK.Audio.ALFormat enumeration.</summary>
-        public OpenTK.Audio.ALFormat SampleFormatAsOpenALFormat
-        {
-            get
-            {
-                switch (SampleFormat)
-                {
-                    case SampleFormat.Mono8: return OpenTK.Audio.ALFormat.Mono8;
-                    case SampleFormat.Mono16: return OpenTK.Audio.ALFormat.Mono16;
-                    case SampleFormat.Stereo8: return OpenTK.Audio.ALFormat.Stereo8;
-                    case SampleFormat.Stereo16: return OpenTK.Audio.ALFormat.Stereo16;
-                    default: throw new NotSupportedException("Unknown PCM SampleFormat.");
-                }
-            }
-        }
-
-        #endregion
-    }
-
-    #region public enum SampleFormat
-
-    /// <summary>Defines the available formats for SoundData.</summary>
-    public enum SampleFormat
-    {
-        /// <summary>8 bits per sample, 1 channel.</summary>
-        Mono8 = OpenTK.Audio.ALFormat.Mono8,
-        /// <summary>16 bits per sample, 1 channel.</summary>
-        Mono16 = OpenTK.Audio.ALFormat.Mono16,
-        /// <summary>8 bits per sample, 2 channels.</summary>
-        Stereo8 = OpenTK.Audio.ALFormat.Stereo8,
-        /// <summary>16 bits per sample, 2 channels.</summary>
-        Stereo16 = OpenTK.Audio.ALFormat.Stereo16
-    }
-
-    #endregion
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Audio/WaveReader.cs b/Source/Compatibility/Audio/WaveReader.cs
deleted file mode 100644 (file)
index 18942e5..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing details.
- */
-#endregion
-
-using System;
-using System.IO;
-
-using OpenTK.Audio;
-using System.Diagnostics;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Audio
-{
-    internal sealed class WaveReader : AudioReader
-       {
-        SoundData decoded_data;
-
-               //RIFF header
-               string signature;
-               int riff_chunck_size;
-               string format;
-                       
-               //WAVE header
-               string format_signature;
-               int format_chunk_size;
-               short audio_format;
-               short channels;
-               int sample_rate;
-               int byte_rate;
-               short block_align;
-               short bits_per_sample;
-                       
-               //DATA header
-               string data_signature;
-               int data_chunk_size;
-
-        BinaryReader reader;
-
-        internal WaveReader() { }
-
-        internal WaveReader(Stream s)
-        {
-            if (s == null) throw new ArgumentNullException();
-            if (!s.CanRead) throw new ArgumentException("Cannot read from specified Stream.");
-
-            reader = new BinaryReader(s);
-            this.Stream = s;
-        }
-
-#if false
-               /// <summary>
-               /// Writes the WaveSound's data to the specified OpenAL buffer in the correct format.
-               /// </summary>
-               /// <param name="bid">
-               /// A <see cref="System.UInt32"/>
-               /// </param>
-        public void WriteToBuffer(uint bid)
-        {
-            unsafe
-            {
-                //fix the array as a byte
-                fixed (byte* p_Data = _Data)
-                {
-                    if (Channels == 1)
-                    {
-                        if (BitsPerSample == 16)
-                        {
-                            Console.Write("Uploading 16-bit mono data to OpenAL...");
-                            AL.BufferData(bid, ALFormat.Mono16, (IntPtr)p_Data, _Data.Length, SampleRate);
-                        }
-                        else
-                        {
-                            if (BitsPerSample == 8)
-                            {
-                                Console.Write("Uploading 8-bit mono data to OpenAL...");
-                                AL.BufferData(bid, ALFormat.Mono8, (IntPtr)p_Data, _Data.Length, SampleRate);
-                            }
-                        }
-
-                    }
-                    else
-                    {
-                        if (Channels == 2)
-                        {
-                            if (BitsPerSample == 16)
-                            {
-                                Console.Write("Uploading 16-bit stereo data to OpenAL...");
-                                AL.BufferData(bid, ALFormat.Stereo16, (IntPtr)p_Data, _Data.Length, SampleRate);
-                            }
-                            else
-                            {
-                                if (BitsPerSample == 8)
-                                {
-                                    Console.Write("Uploading 8-bit stereo data to OpenAL...");
-                                    AL.BufferData(bid, ALFormat.Stereo8, (IntPtr)p_Data, _Data.Length, SampleRate);
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-               /// <summary>
-               /// Writes all relevent information about the WaveSound to the console window.
-               /// </summary>
-               public void DumpParamsToConsole()
-               {                       
-                       Console.WriteLine("AudioFormat:" + AudioFormat);
-                       Console.WriteLine("Channels:" + Channels);
-                       Console.WriteLine("SampleRate:" + SampleRate);
-                       Console.WriteLine("ByteRate:" + ByteRate);
-                       Console.WriteLine("BlockAlign:" + BlockAlign);
-                       Console.WriteLine("BitsPerSample:" + BitsPerSample);
-               }
-               
-               /// <value>
-               /// Returns the WaveSound's raw sound data as an array of bytes.
-               /// </value>
-               public byte[] Data
-               {
-                       get
-                       {
-                               return _Data;
-                       }
-               }
-#endif
-
-        #region --- Public Members ---
-
-        #region public override bool Supports(Stream s)
-
-        /// <summary>
-        /// Checks whether the specified stream contains valid WAVE/RIFF buffer.
-        /// </summary>
-        /// <param name="s">The System.IO.Stream to check.</param>
-        /// <returns>True if the stream is a valid WAVE/RIFF file; false otherwise.</returns>
-        public override bool Supports(Stream s)
-        {
-            BinaryReader reader = new BinaryReader(s);
-            return this.ReadHeaders(reader);
-        }
-
-        #endregion
-
-        #region public override SoundData ReadSamples(int samples)
-
-        /// <summary>
-        /// Reads and decodes the specified number of samples from the sound stream.
-        /// </summary>
-        /// <param name="samples">The number of samples to read and decode.</param>
-        /// <returns>An OpenTK.Audio.SoundData object that contains the decoded buffer.</returns>
-        public override SoundData ReadSamples(long samples)
-        {
-            if (samples > reader.BaseStream.Length - reader.BaseStream.Position)
-                samples = reader.BaseStream.Length - reader.BaseStream.Position;
-
-            //while (samples > decoded_data.Data.Length * (bits_per_sample / 8))
-            //    Array.Resize<byte>(ref decoded_data.Data, decoded_data.Data.Length * 2);
-
-            decoded_data = new SoundData(new SoundFormat(channels, bits_per_sample, sample_rate),
-                                                         reader.ReadBytes((int)samples));
-
-            return decoded_data;
-        }
-
-        #endregion
-
-        #region public override SoundData ReadToEnd()
-
-        /// <summary>
-        /// Reads and decodes the sound stream.
-        /// </summary>
-        /// <returns>An OpenTK.Audio.SoundData object that contains the decoded buffer.</returns>
-        public override SoundData ReadToEnd()
-        {
-            try
-            {
-                //read the buffer into a byte array, even if the format is 16 bit
-                //decoded_data = new byte[data_chunk_size];
-
-                decoded_data = new SoundData(new SoundFormat(channels, bits_per_sample, sample_rate),
-                                                             reader.ReadBytes((int)reader.BaseStream.Length));
-                
-                Debug.WriteLine("decoded!");
-
-                //return new SoundData(decoded_data, new SoundFormat(channels, bits_per_sample, sample_rate));
-                return decoded_data;
-            }
-            catch (AudioReaderException)
-            {
-                reader.Close();
-                throw;
-            }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- Protected Members ---
-
-        protected override Stream Stream
-        {
-            get { return base.Stream; }
-            set
-            {
-                base.Stream = value;
-                if (!ReadHeaders(reader))
-                    throw new AudioReaderException("Invalid WAVE/RIFF file: invalid or corrupt signature.");
-
-                Debug.Write(String.Format("Opened WAVE/RIFF file: ({0}, {1}, {2}, {3}) ", sample_rate.ToString(), bits_per_sample.ToString(),
-                                          channels.ToString(), audio_format.ToString()));
-            }
-        }
-
-        #endregion
-
-        #region --- Private Members ---
-
-        // Tries to read the WAVE/RIFF headers, and returns true if they are valid.
-        bool ReadHeaders(BinaryReader reader)
-        {
-            // Don't explicitly call reader.Close()/.Dispose(), as that will close the inner stream.
-            // There's no such danger if the BinaryReader isn't explicitly destroyed.
-
-            // RIFF header
-            signature = new string(reader.ReadChars(4));
-            if (signature != "RIFF")
-                return false;
-
-            riff_chunck_size = reader.ReadInt32();
-
-            format = new string(reader.ReadChars(4));
-            if (format != "WAVE")
-                return false;
-
-            // WAVE header
-            format_signature = new string(reader.ReadChars(4));
-            if (format_signature != "fmt ")
-                return false;
-
-            format_chunk_size = reader.ReadInt32();
-            audio_format = reader.ReadInt16();
-            channels = reader.ReadInt16();
-            sample_rate = reader.ReadInt32();
-            byte_rate = reader.ReadInt32();
-            block_align = reader.ReadInt16();
-            bits_per_sample = reader.ReadInt16();
-
-            data_signature = new string(reader.ReadChars(4));
-            if (data_signature != "data")
-                return false;
-
-            data_chunk_size = reader.ReadInt32();
-
-            return true;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Fonts/DisplayListTextHandle.cs b/Source/Compatibility/Fonts/DisplayListTextHandle.cs
deleted file mode 100644 (file)
index 44395d5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics
-{
-    [Obsolete()]
-    class DisplayListTextHandle : TextHandle
-    {
-        public DisplayListTextHandle(int handle) : base(handle) { }
-
-        public override string ToString()
-        {
-            return String.Format("TextHandle (display list): {0}", Handle);
-        }
-
-        protected override void Dispose(bool manual)
-        {
-            if (!disposed)
-            {
-                if (manual)
-                {
-                    GL.DeleteLists(Handle, 1);
-                }
-                disposed = true;
-            }
-        }
-    }
-}
diff --git a/Source/Compatibility/Fonts/DisplayListTextPrinter.cs b/Source/Compatibility/Fonts/DisplayListTextPrinter.cs
deleted file mode 100644 (file)
index 2db546e..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Provides text printing through OpenGL 1.1 Display Lists.
-    /// </summary>
-    [Obsolete()]
-    class DisplayListTextPrinter : ITextPrinterImplementation
-    {
-        #region IPrinter Members
-
-        public TextHandle Load(Vector2[] vertices, ushort[] indices, int index_count)
-        {
-            DisplayListTextHandle handle = new DisplayListTextHandle(GL.GenLists(1));
-
-            GL.NewList(handle.Handle, ListMode.Compile);
-
-            this.Draw(vertices, indices, index_count);
-
-            GL.EndList();
-
-            return handle;
-        }
-
-        public void Draw(TextHandle handle)
-        {
-            GL.CallList(handle.Handle);
-        }
-
-        public void Draw(Vector2[] vertices, ushort[] indices, int index_count)
-        {
-            GL.Begin(BeginMode.Triangles);
-
-            for (int i = 0; i < index_count; i++)
-            //foreach (ushort index in indices)
-            {
-                GL.TexCoord2(vertices[indices[i] + 1]);
-                GL.Vertex2(vertices[indices[i]]);
-            }
-
-            GL.End();
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Fonts/Glyph.cs b/Source/Compatibility/Fonts/Glyph.cs
deleted file mode 100644 (file)
index 8cbb83c..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics
-{
-    using Graphics = System.Drawing.Graphics;
-
-    /// <summary>
-    /// Represents a single character of a specific Font.
-    /// </summary>
-    [Obsolete]
-    struct Glyph : IPackable<Glyph>
-    {
-        char character;
-        Font font;
-        SizeF size;
-
-        #region --- Constructors ---
-
-        // Constructs a new Glyph that represents the given character and Font.
-        public Glyph(char c, Font f, SizeF s)
-        {
-            if (f == null)
-                throw new ArgumentNullException("f", "You must specify a valid font");
-            character = c;
-            font = f;
-            size = s;
-        }
-
-        #endregion
-
-        #region --- Public Methods ---
-
-        #region public char Character
-
-        /// <summary>
-        /// Gets the character represented by this Glyph.
-        /// </summary>
-        public char Character
-        {
-            get { return character; }
-            private set { character = value; }
-        }
-
-        #endregion
-
-        #region public Font Font
-
-        /// <summary>
-        ///  Gets the Font of this Glyph.
-        /// </summary>
-        public Font Font
-        {
-            get { return font; }
-            private set
-            {
-                if (value == null)
-                    throw new ArgumentNullException("Font", "Glyph font cannot be null");
-
-                font = value;
-            }
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Checks whether the given object is equal (memberwise) to the current Glyph.
-        /// </summary>
-        /// <param name="obj">The obj to check.</param>
-        /// <returns>True, if the object is identical to the current Glyph.</returns>
-        public override bool Equals(object obj)
-        {
-            if (obj is Glyph)
-                return this.Equals((Glyph)obj);
-            return base.Equals(obj);
-        }
-
-        #endregion
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Describes this Glyph object.
-        /// </summary>
-        /// <returns>Returns a System.String describing this Glyph.</returns>
-        public override string ToString()
-        {
-            return String.Format("'{0}', {1} {2}, {3} {4}, ({5}, {6})", Character, Font.Name, font.Style, font.Size, font.Unit, Width, Height);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Calculates the hashcode for this Glyph.
-        /// </summary>
-        /// <returns>A System.Int32 containing a hashcode that uniquely identifies this Glyph.</returns>
-        public override int GetHashCode()
-        {
-            return character.GetHashCode() ^ font.GetHashCode() ^ size.GetHashCode();
-        }
-
-        #endregion
-
-        #region public SizeF Size
-
-        /// <summary>
-        /// Gets the size of this Glyph.
-        /// </summary>
-        public SizeF Size { get { return size; } }
-
-        #endregion
-
-        #region public RectangleF Rectangle
-
-        /// <summary>
-        /// Gets the bounding box of this Glyph.
-        /// </summary>
-        public RectangleF Rectangle { get { return new RectangleF(PointF.Empty, Size); } }
-
-        #endregion
-
-        #endregion
-
-        #region --- IPackable<T> Members ---
-
-        /// <summary>
-        /// Gets an integer representing the width of the Glyph in pixels.
-        /// </summary>
-        public int Width
-        {
-            get
-            {
-                return (int)System.Math.Ceiling(size.Width);
-            }
-        }
-
-        /// <summary>
-        /// Gets an integer representing the height of the Glyph in pixels.
-        /// </summary>
-        public int Height
-        {
-            get
-            {
-                return (int)System.Math.Ceiling(size.Height);
-            }
-        }
-
-        #endregion
-
-        #region --- IEquatable<Glyph> Members ---
-
-        /// <summary>
-        /// Compares the current Glyph with the given Glyph.
-        /// </summary>
-        /// <param name="other">The Glyph to compare to.</param>
-        /// <returns>True if both Glyphs represent the same character of the same Font, false otherwise.</returns>
-        public bool Equals(Glyph other)
-        {
-            return Character == other.Character && Font == other.Font && Size == other.Size;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Fonts/IFont.cs b/Source/Compatibility/Fonts/IFont.cs
deleted file mode 100644 (file)
index d73ddbb..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-
-namespace OpenTK.Graphics
-{
-    [Obsolete]
-    public interface IFont : IDisposable
-    {
-        void LoadGlyphs(string glyphs);
-        float Height { get; }
-        void MeasureString(string str, out float width, out float height);
-    }
-}
diff --git a/Source/Compatibility/Fonts/IPrinterImplementation.cs b/Source/Compatibility/Fonts/IPrinterImplementation.cs
deleted file mode 100644 (file)
index 5f51a45..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines the interface for TextPrinter implementations.
-    /// </summary>
-    [Obsolete("Use ITextOutputProvider instead")]
-    [CLSCompliant(false)]
-    public interface ITextPrinterImplementation
-    {
-        /// <summary>
-        /// Caches a text fragment for future use.
-        /// </summary>
-        /// <param name="vertices">The vertex array for the text fragment.</param>
-        /// <param name="indices">The index array for the text fragment. Please use the indexCount parameter
-        /// instead of indices.Count, as the indices array may be larger than necessary for performance reasons.</param>
-        /// <param name="indexCount">The actual number of indices in the text fragment.</param>
-        /// <returns>A TextHandle that can be used to draw the text fragment.</returns>
-        TextHandle Load(Vector2[] vertices, ushort[] indices, int indexCount);
-
-        /// <summary>
-        /// Draws the specified cached text fragment.
-        /// </summary>
-        /// <param name="handle">The TextHandle corresponding to the desired text fragment.</param>
-        void Draw(TextHandle handle);
-
-        /// <summary>
-        /// Draws a text fragment, without caching.
-        /// </summary>
-        /// <param name="vertices">The vertex array for the text fragment.</param>
-        /// <param name="indices">The index array for the text fragment. Please use the indexCount parameter
-        /// instead of indices.Count, as the indices array may be larger than necessary for performance reasons.</param>
-        /// <param name="indexCount">The actual number of indices in the text fragment.</param>
-        void Draw(Vector2[] vertices, ushort[] indices, int indexCount);
-    }
-}
diff --git a/Source/Compatibility/Fonts/TextHandle.cs b/Source/Compatibility/Fonts/TextHandle.cs
deleted file mode 100644 (file)
index e730c7b..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Represents a handle to cached text.
-    /// </summary>
-    [Obsolete("Use TextPrinter.Print instead")]
-    public class TextHandle : IDisposable
-    {
-        internal string Text;
-        internal System.Drawing.Font GdiPFont;
-
-        /// <summary>
-        /// Constructs a new TextHandle,
-        /// </summary>
-        /// <param name="handle"></param>
-        internal TextHandle(int handle)
-        {
-            Handle = handle;
-        }
-
-        internal TextHandle(string text, System.Drawing.Font font)
-        {
-            Text = text;
-            GdiPFont = font;
-        }
-
-        private int handle;
-        [CLSCompliant(false)]
-        protected TextureFont font;
-        protected bool disposed;
-
-        /// <summary>
-        /// Gets the handle of the cached text run. Call the OpenTK.Graphics.ITextPrinter.Draw() method
-        /// to draw the text represented by this TextHandle.
-        /// </summary>
-        public int Handle
-        {
-            get { return handle; }
-            protected set { handle = value; }
-        }
-
-        /// <summary>
-        /// Gets the TextureFont used for this text run.
-        /// </summary>
-        public TextureFont Font
-        {
-            get { return font; }
-            internal set { font = value; }
-        }
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current TextHandle.
-        /// </summary>
-        /// <returns>a System.String that descibes the current TextHandle.</returns>
-        public override string ToString()
-        {
-            return String.Format("TextHandle: {0}", Handle);
-        }
-
-        #endregion
-
-        #region --- IDisposable Members ---
-
-        /// <summary>
-        /// Frees the resource consumed by the TextHandle.
-        /// </summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-        protected virtual void Dispose(bool manual) { }
-        ~TextHandle() { this.Dispose(false); }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Fonts/TextureFont.cs b/Source/Compatibility/Fonts/TextureFont.cs
deleted file mode 100644 (file)
index b8d434f..0000000
+++ /dev/null
@@ -1,563 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing.Text;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.Runtime.InteropServices;
-using System.Diagnostics;
-
-using OpenTK.Graphics.OpenGL;
-using OpenTK.Platform;
-
-namespace OpenTK.Graphics
-{
-    using Graphics = System.Drawing.Graphics;
-    using PixelFormat = OpenTK.Graphics.OpenGL.PixelFormat;
-    using System.Text.RegularExpressions;
-
-    [Obsolete("Use System.Drawing.Font instead")]
-    public class TextureFont : IFont
-    {
-        internal Font font;
-        Dictionary<char, RectangleF> loaded_glyphs = new Dictionary<char, RectangleF>(64);
-
-        Bitmap bmp;
-        Graphics gfx;
-        // TODO: We need to be able to use multiple font sheets.
-        static int texture;
-        static TexturePacker<Glyph> pack;
-        static int texture_width, texture_height;
-        static readonly StringFormat default_string_format = StringFormat.GenericTypographic; // Check the constructor, too, for additional flags.
-        static readonly StringFormat load_glyph_string_format = StringFormat.GenericDefault;
-        static SizeF maximum_graphics_size;
-
-        int[] data = new int[256];  // Used to upload the glyph buffer to the OpenGL texture.
-
-        object upload_lock = new object();
-
-        static readonly char[] newline_characters = new char[] { '\n', '\r' };
-
-        #region --- Constructor ---
-
-        /// <summary>
-        /// Constructs a new TextureFont, using the specified System.Drawing.Font.
-        /// </summary>
-        /// <param name="font">The System.Drawing.Font to use.</param>
-        public TextureFont(Font font)
-        {
-            if (font == null)
-                throw new ArgumentNullException("font", "Argument to TextureFont constructor cannot be null.");
-
-            this.font = font;
-
-            bmp = new Bitmap(font.Height * 2, font.Height * 2);
-            gfx = Graphics.FromImage(bmp);
-            maximum_graphics_size = gfx.ClipBounds.Size;
-
-            // Adjust font rendering mode. Small sizes look blurry without gridfitting, so turn
-            // that on. Increasing contrast also seems to help.
-            if (font.Size <= 18.0f)
-            {
-                gfx.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
-                //gfx.TextContrast = 11;
-            }
-            else
-            {
-                gfx.TextRenderingHint = TextRenderingHint.AntiAlias;
-                //gfx.TextContrast = 0;
-            }
-
-            default_string_format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces;
-        }
-
-        /// <summary>
-        /// Constructs a new TextureFont, using the specified parameters.
-        /// </summary>
-        /// <param name="family">The System.Drawing.FontFamily to use for the typeface.</param>
-        /// <param name="emSize">The em size to use for the typeface.</param>
-        public TextureFont(FontFamily family, float emSize)
-            : this(new Font(family, emSize))
-        { }
-
-        /// <summary>
-        /// Constructs a new TextureFont, using the specified parameters.
-        /// </summary>
-        /// <param name="family">The System.Drawing.FontFamily to use for the typeface.</param>
-        /// <param name="emSize">The em size to use for the typeface.</param>
-        /// <param name="style">The style to use for the typeface.</param>
-        public TextureFont(FontFamily family, float emSize, FontStyle style)
-            : this(new Font(family, emSize, style))
-        { }
-
-        #endregion
-
-        #region --- Public Methods ---
-
-        #region public void LoadGlyphs(string glyphs)
-
-        /// <summary>
-        /// Prepares the specified glyphs for rendering.
-        /// </summary>
-        /// <param name="glyphs">The glyphs to prepare for rendering.</param>
-        public void LoadGlyphs(string glyphs)
-        {
-            RectangleF rect = new RectangleF();
-            foreach (char c in glyphs)
-            {
-                if (Char.IsWhiteSpace(c))
-                    continue;
-
-                try
-                {
-                    if (!loaded_glyphs.ContainsKey(c))
-                        LoadGlyph(c, out rect);
-                }
-                catch (Exception e)
-                {
-                    Debug.Print(e.ToString());
-                    throw;
-                }
-            }
-        }
-
-        #endregion
-
-        #region public void LoadGlyph(char glyph)
-
-        /// <summary>
-        /// Prepares the specified glyph for rendering.
-        /// </summary>
-        /// <param name="glyph">The glyph to prepare for rendering.</param>
-        public void LoadGlyph(char glyph)
-        {
-            RectangleF rect = new RectangleF();
-            if (!loaded_glyphs.ContainsKey(glyph))
-                LoadGlyph(glyph, out rect);
-        }
-
-        #endregion
-
-        #region public bool GlyphData(char glyph, out float width, out float height, out RectangleF textureRectangle, out int texture)
-
-        /// <summary>
-        /// Returns the characteristics of a loaded glyph.
-        /// </summary>
-        /// <param name="glyph">The character corresponding to this glyph.</param>
-        /// <param name="width">The width of this glyph.</param>
-        /// <param name="height">The height of this glyph (line spacing).</param>
-        /// <param name="textureRectangle">The bounding box of the texture buffer of this glyph.</param>
-        /// <param name="texture">The handle to the texture that contains this glyph.</param>
-        /// <returns>True if the glyph has been loaded, false otherwise.</returns>
-        /// <seealso cref="LoadGlyphs"/>
-        public bool GlyphData(char glyph, out float width, out float height, out RectangleF textureRectangle, out int texture)
-        {
-            if (loaded_glyphs.TryGetValue(glyph, out textureRectangle))
-            {
-                width = textureRectangle.Width * texture_width;
-                height = textureRectangle.Height * texture_height;
-                texture = TextureFont.texture;
-                return true;
-            }
-            width = height = texture = 0;
-            return false;
-        }
-
-        #endregion
-
-        #region public float Height
-
-        /// <summary>
-        /// Gets a float indicating the default line spacing of this font.
-        /// </summary>
-        public float Height
-        {
-            get { return font.Height; }
-        }
-
-        #endregion
-
-        #region public float Width
-
-        /// <summary>
-        /// Gets a float indicating the default size of this font, in points.
-        /// </summary>
-        public float Width
-        {
-            get { return font.SizeInPoints; }
-        }
-
-        #endregion
-
-        #region public void MeasureString(string str, out float width, out float height, bool accountForOverhangs)
-
-        /// <summary>
-        /// Measures the width of the specified string.
-        /// </summary>
-        /// <param name="str">The string to measure.</param>
-        /// <param name="width">The measured width.</param>
-        /// <param name="height">The measured height.</param>
-        /// <param name="accountForOverhangs">If true, adds space to account for glyph overhangs. Set to true if you wish to measure a complete string. Set to false if you wish to perform layout on adjacent strings.</param>
-        [Obsolete("Returns invalid results - use MeasureText() instead")]
-        public void MeasureString(string str, out float width, out float height, bool accountForOverhangs)
-        {
-            System.Drawing.StringFormat format = accountForOverhangs ? System.Drawing.StringFormat.GenericDefault : System.Drawing.StringFormat.GenericTypographic;
-
-            System.Drawing.SizeF size = gfx.MeasureString(str, font, 16384, format);
-            height = size.Height;
-            width = size.Width;
-        }
-
-        #endregion
-
-        #region public void MeasureString(string str, out float width, out float height)
-
-        /// <summary>
-        /// Measures the width of the specified string.
-        /// </summary>
-        /// <param name="str">The string to measure.</param>
-        /// <param name="width">The measured width.</param>
-        /// <param name="height">The measured height.</param>
-        /// <seealso cref="MeasureString(string, out float, out float, bool)"/>
-        [Obsolete("Returns invalid results - use MeasureText() instead")]
-        public void MeasureString(string str, out float width, out float height)
-        {
-            MeasureString(str, out width, out height, true);
-        }
-
-        #endregion
-
-        #region public RectangleF MeasureText(string text)
-
-        /// <summary>
-        /// Calculates size information for the specified text.
-        /// </summary>
-        /// <param name="text">The string to measure.</param>
-        /// <returns>A RectangleF containing the bounding box for the specified text.</returns>
-        public RectangleF MeasureText(string text)
-        {
-            return MeasureText(text, SizeF.Empty, default_string_format, null);
-        }
-
-        #endregion
-
-        #region public RectangleF MeasureText(string text, SizeF bounds)
-
-        /// <summary>
-        /// Calculates size information for the specified text.
-        /// </summary>
-        /// <param name="text">The string to measure.</param>
-        /// <param name="bounds">A SizeF structure containing the maximum desired width and height of the text. Default is SizeF.Empty.</param>
-        /// <returns>A RectangleF containing the bounding box for the specified text.</returns>
-        public RectangleF MeasureText(string text, SizeF bounds)
-        {
-            return MeasureText(text, bounds, default_string_format, null);
-        }
-
-        #endregion
-
-        #region public RectangleF MeasureText(string text, SizeF bounds, StringFormat format)
-
-        /// <summary>
-        /// Calculates size information for the specified text.
-        /// </summary>
-        /// <param name="text">The string to measure.</param>
-        /// <param name="bounds">A SizeF structure containing the maximum desired width and height of the text. Pass SizeF.Empty to disable wrapping calculations. A width or height of 0 disables the relevant calculation.</param>
-        /// <param name="format">A StringFormat object which specifies the measurement format of the string. Pass null to use the default StringFormat (StringFormat.GenericTypographic).</param>
-        /// <returns>A RectangleF containing the bounding box for the specified text.</returns>
-        public RectangleF MeasureText(string text, SizeF bounds, StringFormat format)
-        {
-            return MeasureText(text, bounds, format, null);
-        }
-
-        #endregion
-
-        #region public RectangleF MeasureText(string text, SizeF bounds, StringFormat format, IList<RectangleF> ranges)
-
-        IntPtr[] regions = new IntPtr[GdiPlus.MaxMeasurableCharacterRanges];
-        CharacterRange[] characterRanges = new CharacterRange[GdiPlus.MaxMeasurableCharacterRanges];
-
-        /// <summary>
-        /// Calculates size information for the specified text.
-        /// </summary>
-        /// <param name="text">The string to measure.</param>
-        /// <param name="bounds">A SizeF structure containing the maximum desired width and height of the text. Pass SizeF.Empty to disable wrapping calculations. A width or height of 0 disables the relevant calculation.</param>
-        /// <param name="format">A StringFormat object which specifies the measurement format of the string. Pass null to use the default StringFormat (StringFormat.GenericDefault).</param>
-        /// <param name="ranges">Fills the specified IList of RectangleF structures with position information for individual characters. If this argument is null, these calculations are skipped.</param>
-        /// <returns>A RectangleF containing the bounding box for the specified text.</returns>
-        public RectangleF MeasureText(string text, SizeF bounds, StringFormat format, List<RectangleF> ranges)
-        {
-            if (String.IsNullOrEmpty(text))
-                return RectangleF.Empty;
-
-            if (bounds == SizeF.Empty)
-                bounds = maximum_graphics_size;
-
-            if (format == null)
-                format = default_string_format;
-
-            // TODO: What should we do in this case?
-            if (ranges == null)
-                ranges = new List<RectangleF>();
-
-            ranges.Clear();
-
-            PointF origin = PointF.Empty;
-            SizeF size = SizeF.Empty;
-
-            IntPtr native_graphics = GdiPlus.GetNativeGraphics(gfx);
-            IntPtr native_font = GdiPlus.GetNativeFont(font);
-            IntPtr native_string_format = GdiPlus.GetNativeStringFormat(format);
-
-            RectangleF layoutRect = new RectangleF(PointF.Empty, bounds);
-
-            int height = 0;
-
-            // It seems that the mere presence of \n and \r characters
-            // is enough for Mono to botch the layout (even if these
-            // characters are not processed.) We'll need to find a
-            // different way to perform layout on Mono, probably
-            // through Pango.
-            // Todo: This workaround  allocates memory.
-            //if (Configuration.RunningOnMono)
-            {
-                string[] lines = text.Replace("\r", String.Empty).Split(newline_characters);
-                foreach (string s in lines)
-                {
-                    ranges.AddRange(GetCharExtents(
-                        s, height, 0, s.Length, layoutRect,
-                        native_graphics, native_font, native_string_format));
-                    height += font.Height;
-                }
-            }
-
-            return new RectangleF(ranges[0].X, ranges[0].Y, ranges[ranges.Count - 1].Right, ranges[ranges.Count - 1].Bottom);
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- Private Methods ---
-
-        #region private void PrepareTexturePacker()
-
-        /// <summary>
-        /// Calculates the optimal size for the font texture and TexturePacker, and creates both.
-        /// </summary>
-        private void PrepareTexturePacker()
-        {
-            // Calculate the size of the texture packer. We want a power-of-two size
-            // that is less than 1024 (supported in Geforce256-era cards), but large
-            // enough to hold at least 256 (16*16) font glyphs.
-            // TODO: Find the actual card limits, maybe?
-            int size = (int)(font.Size * 16);
-            size = (int)System.Math.Pow(2.0, System.Math.Ceiling(System.Math.Log((double)size, 2.0)));
-            if (size > 1024)
-                size = 1024;
-
-            texture_width = size;
-            texture_height = size;
-            pack = new TexturePacker<Glyph>(texture_width, texture_height);
-
-            GL.GenTextures(1, out texture);
-            GL.BindTexture(TextureTarget.Texture2D, texture);
-            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear);
-            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear);
-            if (GL.SupportsExtension("Version12"))
-            {
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge);
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge);
-            }
-            else
-            {
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.Clamp);
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.Clamp);
-            }
-
-            GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Alpha, texture_width, texture_height, 0,
-                OpenTK.Graphics.PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero);
-        }
-
-        #endregion
-
-        #region private void LoadGlyph(char c, out RectangleF rectangle)
-
-        // Adds the specified caharacter to the texture packer.
-        private void LoadGlyph(char c, out RectangleF rectangle)
-        {
-            if (pack == null)
-                PrepareTexturePacker();
-
-            RectangleF glyph_rect = MeasureText(c.ToString(), SizeF.Empty, load_glyph_string_format);
-            SizeF glyph_size = new SizeF(glyph_rect.Right, glyph_rect.Bottom);  // We need to do this, since the origin might not be (0, 0)
-            Glyph g = new Glyph(c, font, glyph_size);
-            Rectangle rect;
-
-            try
-            {
-                pack.Add(g, out rect);
-            }
-            catch (InvalidOperationException expt)
-            {
-                // TODO: The TexturePacker is full, create a new font sheet.
-                Trace.WriteLine(expt);
-                throw;
-            }
-
-            GL.BindTexture(TextureTarget.Texture2D, texture);
-
-            gfx.Clear(System.Drawing.Color.Transparent);
-            gfx.DrawString(g.Character.ToString(), g.Font, System.Drawing.Brushes.White, 0.0f, 0.0f, default_string_format);
-
-            BitmapData bitmap_data = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly,
-                System.Drawing.Imaging.PixelFormat.Format32bppArgb);
-            
-            GL.PushClientAttrib(ClientAttribMask.ClientPixelStoreBit);
-            try
-            {
-                GL.PixelStore(PixelStoreParameter.UnpackAlignment, 1.0f);
-                GL.PixelStore(PixelStoreParameter.UnpackRowLength, bmp.Width);
-                GL.TexSubImage2D(TextureTarget.Texture2D, 0, (int)rect.Left, (int)rect.Top,
-                    rect.Width, rect.Height,
-                    OpenTK.Graphics.PixelFormat.Rgba,
-                    PixelType.UnsignedByte, bitmap_data.Scan0);
-            }
-            finally
-            {
-                GL.PopClientAttrib();
-            }
-
-            bmp.UnlockBits(bitmap_data);
-
-            rectangle = RectangleF.FromLTRB(
-                rect.Left / (float)texture_width,
-                rect.Top / (float)texture_height,
-                rect.Right / (float)texture_width,
-                rect.Bottom / (float)texture_height);
-
-            loaded_glyphs.Add(g.Character, rectangle);
-        }
-
-        #endregion
-
-        #region GetCharExtents
-
-        // Gets the bounds of each character in a line of text.
-        // The line is processed in blocks of 32 characters (GdiPlus.MaxMeasurableCharacterRanges).
-        IEnumerable<RectangleF> GetCharExtents(string text, int height, int line_start, int line_length,
-            RectangleF layoutRect, IntPtr native_graphics, IntPtr native_font, IntPtr native_string_format)
-        {
-            RectangleF rect = new RectangleF();
-            int line_end = line_start + line_length;
-            while (line_start < line_end)
-            {
-                //if (text[line_start] == '\n' || text[line_start] == '\r')
-                //{
-                //    line_start++;
-                //    continue;
-                //}
-
-                int num_characters = (line_end - line_start) > GdiPlus.MaxMeasurableCharacterRanges ?
-                    GdiPlus.MaxMeasurableCharacterRanges :
-                    line_end - line_start;
-                int status = 0;
-
-                for (int i = 0; i < num_characters; i++)
-                {
-                    characterRanges[i] = new CharacterRange(line_start + i, 1);
-
-                    IntPtr region;
-                    status = GdiPlus.CreateRegion(out region);
-                    regions[i] = region;
-                    Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-                }
-
-                status = GdiPlus.SetStringFormatMeasurableCharacterRanges(native_string_format, num_characters, characterRanges);
-                Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-
-                status = GdiPlus.MeasureCharacterRanges(native_graphics, text, text.Length,
-                                                native_font, ref layoutRect, native_string_format, num_characters, regions);
-                Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-
-                for (int i = 0; i < num_characters; i++)
-                {
-                    GdiPlus.GetRegionBounds(regions[i], native_graphics, ref rect);
-                    Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-                    GdiPlus.DeleteRegion(regions[i]);
-                    Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-
-                    rect.Y += height;
-                    yield return rect;
-                }
-
-                line_start += num_characters;
-            }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- Internal Methods ---
-
-        #region internal int Texture
-
-        /// <summary>
-        /// Gets the handle to the texture were this font resides.
-        /// </summary>
-        internal int Texture
-        {
-            get { return TextureFont.texture; }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- IDisposable Members ---
-
-        bool disposed;
-
-        /// <summary>
-        /// Releases all resources used by this OpenTK.Graphics.TextureFont.
-        /// </summary>
-        public void Dispose()
-        {
-            GC.SuppressFinalize(this);
-            Dispose(true);
-        }
-
-        private void Dispose(bool manual)
-        {
-            if (!disposed)
-            {
-                pack = null;
-                if (manual)
-                {
-                    GL.DeleteTextures(1, ref texture);
-                    font.Dispose();
-                    gfx.Dispose();
-                }
-
-                disposed = true;
-            }
-        }
-
-        /// <summary>
-        /// Finalizes this TextureFont.
-        /// </summary>
-        ~TextureFont()
-        {
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Fonts/VboTextPrinter.cs b/Source/Compatibility/Fonts/VboTextPrinter.cs
deleted file mode 100644 (file)
index 15333dd..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Runtime.InteropServices;
-
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Provides text printing through OpenGL 1.5 vertex buffer objects.
-    /// </summary>
-    [Obsolete]
-    class VboTextPrinter : ITextPrinterImplementation
-    {
-        static int allocated_handles;
-        static int vector2_size = Marshal.SizeOf(new Vector2());
-
-        #region --- IPrinter Members ---
-
-        public TextHandle Load(Vector2[] vertices, ushort[] indices, int index_count)
-        {
-            VboTextHandle handle = new VboTextHandle(++allocated_handles);
-
-            GL.GenBuffers(1, out handle.vbo_id);
-            GL.BindBuffer(BufferTarget.ArrayBuffer, handle.vbo_id);
-            GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)(vertices.Length * vector2_size), vertices,
-                          BufferUsageHint.StaticDraw);
-            GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
-
-            GL.GenBuffers(1, out handle.ebo_id);
-            GL.BindBuffer(BufferTarget.ElementArrayBuffer, handle.ebo_id);
-            GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(indices.Length * sizeof(ushort)), indices,
-                          BufferUsageHint.StaticDraw);
-            GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0);
-
-            handle.element_count = indices.Length;
-            return handle;
-        }
-
-        public void Draw(TextHandle handle)
-        {
-            VboTextHandle vbo = (VboTextHandle)handle;
-
-            //GL.PushClientAttrib(ClientAttribMask.ClientVertexArrayBit);
-
-            //GL.EnableClientState(EnableCap.TextureCoordArray);
-            GL.EnableClientState(EnableCap.VertexArray);
-
-            GL.BindBuffer(BufferTarget.ArrayBuffer, vbo.vbo_id);
-            GL.BindBuffer(BufferTarget.ElementArrayBuffer, vbo.ebo_id);
-
-            GL.TexCoordPointer(2, TexCoordPointerType.Float, vector2_size, (IntPtr)vector2_size);
-            GL.VertexPointer(2, VertexPointerType.Float, vector2_size, IntPtr.Zero);
-
-            GL.DrawElements(BeginMode.Triangles, vbo.element_count, DrawElementsType.UnsignedShort, IntPtr.Zero);
-            //GL.DrawArrays(BeginMode.LineLoop, 0, vbo.element_count);
-
-            GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
-            GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0);
-
-            GL.DisableClientState(EnableCap.VertexArray);
-            //GL.DisableClientState(EnableCap.TextureCoordArray);
-
-            //GL.PopClientAttrib();
-        }
-
-        public void Draw(Vector2[] vertices, ushort[] indices, int index_count)
-        {
-            throw new NotImplementedException();
-        }
-
-        #endregion
-    }
-
-    #region class VboTextHandle : TextHandle
-
-    /// <summary>
-    /// Contains the necessary information to print text through the VboTextPrinter implementation.
-    /// </summary>
-    [Obsolete]
-    class VboTextHandle : TextHandle
-    {
-        public VboTextHandle(int handle) : base(handle) { }
-
-        internal int vbo_id;    // vertex buffer object id.
-        internal int ebo_id;    // index buffer object id.
-        internal int element_count;     // Number of elements in the ebo.
-
-        public override string ToString()
-        {
-            return String.Format("TextHandle (vbo): {0} ({1} element(s), vbo id: {2}, ebo id: {3}",
-                Handle, element_count / 6, vbo_id, ebo_id);
-        }
-    }
-
-    #endregion
-}
diff --git a/Source/Compatibility/Graphics/AlphaTexture2D.cs b/Source/Compatibility/Graphics/AlphaTexture2D.cs
deleted file mode 100644 (file)
index 35044d0..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using System.Drawing.Imaging;
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Encapsulates an OpenGL texture.
-    /// </summary>
-    [Obsolete]
-    class AlphaTexture2D : Texture2D
-    {
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Texture.
-        /// </summary>
-        public AlphaTexture2D(int width, int height)
-            : base(width, height)
-        { }
-
-        #endregion
-
-        #region Protected Members
-
-        protected override PixelInternalFormat InternalFormat
-        {
-            get { return PixelInternalFormat.Alpha; }
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/GL/ErrorHelper.cs b/Source/Compatibility/Graphics/GL/ErrorHelper.cs
deleted file mode 100644 (file)
index 13d40d4..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Diagnostics;
-
-namespace OpenTK.Graphics
-{
-    // Used in debug-mode only, for automatic OpenGL error-checking.
-    //
-    // Works like this: an instance is created before each OpenGL function is called.
-    // The constructor resets the OpenGL error state. Once the native function returns,
-    // the error state is checked again, raising the relevant exceptions.
-    //
-    // A using-region is used to ensure Dispose() is called.
-    //
-    // Make sure that no error checking is added to the GetError function,
-    // as that would cause infinite recursion!
-    [Obsolete]
-    struct ErrorHelper : IDisposable
-    {
-        #region Fields
-
-        static readonly object SyncRoot = new object();
-        static readonly Dictionary<GraphicsContext, List<ErrorCode>> ContextErrors =
-            new Dictionary<GraphicsContext, List<ErrorCode>>();
-        readonly GraphicsContext Context;
-
-        #endregion
-
-        #region Constructors
-
-        public ErrorHelper(IGraphicsContext context)
-        {
-            if (context == null)
-                throw new GraphicsContextMissingException();
-
-            Context = (GraphicsContext)context;
-            lock (SyncRoot)
-            {
-                if (!ContextErrors.ContainsKey(Context))
-                    ContextErrors.Add(Context, new List<ErrorCode>());
-            }
-            ResetErrors();
-        }
-
-        #endregion
-
-        #region Public Members
-
-        // Retrieve all OpenGL errors to clear the error list.
-        // See http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/geterror.html
-        [Conditional("DEBUG")]
-        internal void ResetErrors()
-        {
-            if (Context.ErrorChecking)
-            {
-                while (GL.GetError() != ErrorCode.NoError)
-                { }
-            }
-        }
-
-        // Retrieve all OpenGL errors and throw an exception if anything other than NoError is returned.
-        [Conditional("DEBUG")]
-        internal void CheckErrors()
-        {
-            if (Context.ErrorChecking)
-            {
-                List<ErrorCode> error_list = ContextErrors[Context];
-                error_list.Clear();
-                ErrorCode error;
-                do
-                {
-                    error = GL.GetError();
-                    error_list.Add(error);
-                } while (error != ErrorCode.NoError);
-
-                if (error_list.Count != 1)
-                {
-                    StringBuilder sb = new StringBuilder();
-                    foreach (ErrorCode e in error_list)
-                    {
-                        if (e != ErrorCode.NoError)
-                        {
-                            sb.Append(e.ToString());
-                            sb.Append(", ");
-                        }
-                        else
-                            break;
-                    }
-                    sb.Remove(sb.Length - 2, 2); // Remove the last comma
-
-                    throw new GraphicsErrorException(sb.ToString());
-                }
-            }
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        public void Dispose()
-        {
-            CheckErrors();
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/GL/GL.cs b/Source/Compatibility/Graphics/GL/GL.cs
deleted file mode 100644 (file)
index 9fef7f1..0000000
+++ /dev/null
@@ -1,144350 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace OpenTK.Graphics
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 3019
-    #pragma warning disable 1591
-    #pragma warning disable 1572
-    #pragma warning disable 1573
-
-    static partial class GL
-    {
-
-        public static partial class GL_3dfx
-        {
-            [AutoGenerated(Category = "3DfxTbuffer", Version = "1.2", EntryPoint = "glTbufferMask3DFX")]
-            public static 
-            void TbufferMask(Int32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTbufferMask3DFX((UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "3DfxTbuffer", Version = "1.2", EntryPoint = "glTbufferMask3DFX")]
-            public static 
-            void TbufferMask(UInt32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTbufferMask3DFX((UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Amd
-        {
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glBeginPerfMonitorAMD")]
-            public static 
-            void BeginPerfMonitor(Int32 monitor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginPerfMonitorAMD((UInt32)monitor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glBeginPerfMonitorAMD")]
-            public static 
-            void BeginPerfMonitor(UInt32 monitor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginPerfMonitorAMD((UInt32)monitor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationIndexedAMD")]
-            public static 
-            void BlendEquationIndexed(Int32 buf, AmdDrawBuffersBlend mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendEquationIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationIndexedAMD")]
-            public static 
-            void BlendEquationIndexed(UInt32 buf, AmdDrawBuffersBlend mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendEquationIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationSeparateIndexedAMD")]
-            public static 
-            void BlendEquationSeparateIndexed(Int32 buf, AmdDrawBuffersBlend modeRGB, AmdDrawBuffersBlend modeAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendEquationSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)modeRGB, (AmdDrawBuffersBlend)modeAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendEquationSeparateIndexedAMD")]
-            public static 
-            void BlendEquationSeparateIndexed(UInt32 buf, AmdDrawBuffersBlend modeRGB, AmdDrawBuffersBlend modeAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendEquationSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)modeRGB, (AmdDrawBuffersBlend)modeAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncIndexedAMD")]
-            public static 
-            void BlendFuncIndexed(Int32 buf, AmdDrawBuffersBlend src, AmdDrawBuffersBlend dst)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendFuncIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)src, (AmdDrawBuffersBlend)dst);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncIndexedAMD")]
-            public static 
-            void BlendFuncIndexed(UInt32 buf, AmdDrawBuffersBlend src, AmdDrawBuffersBlend dst)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendFuncIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)src, (AmdDrawBuffersBlend)dst);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncSeparateIndexedAMD")]
-            public static 
-            void BlendFuncSeparateIndexed(Int32 buf, AmdDrawBuffersBlend srcRGB, AmdDrawBuffersBlend dstRGB, AmdDrawBuffersBlend srcAlpha, AmdDrawBuffersBlend dstAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendFuncSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)srcRGB, (AmdDrawBuffersBlend)dstRGB, (AmdDrawBuffersBlend)srcAlpha, (AmdDrawBuffersBlend)dstAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdDrawBuffersBlend", Version = "2.0", EntryPoint = "glBlendFuncSeparateIndexedAMD")]
-            public static 
-            void BlendFuncSeparateIndexed(UInt32 buf, AmdDrawBuffersBlend srcRGB, AmdDrawBuffersBlend dstRGB, AmdDrawBuffersBlend srcAlpha, AmdDrawBuffersBlend dstAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendFuncSeparateIndexedAMD((UInt32)buf, (AmdDrawBuffersBlend)srcRGB, (AmdDrawBuffersBlend)dstRGB, (AmdDrawBuffersBlend)srcAlpha, (AmdDrawBuffersBlend)dstAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")]
-            public static 
-            unsafe void DeletePerfMonitors(Int32 n, [Out] Int32* monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")]
-            public static 
-            void DeletePerfMonitors(Int32 n, [Out] Int32[] monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* monitors_ptr = monitors)
-                    {
-                        Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")]
-            public static 
-            void DeletePerfMonitors(Int32 n, [Out] out Int32 monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* monitors_ptr = &monitors)
-                    {
-                        Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                        monitors = *monitors_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")]
-            public static 
-            void DeletePerfMonitors(Int32 n, [Out] out UInt32 monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* monitors_ptr = &monitors)
-                    {
-                        Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                        monitors = *monitors_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")]
-            public static 
-            unsafe void DeletePerfMonitors(Int32 n, [Out] UInt32* monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glDeletePerfMonitorsAMD")]
-            public static 
-            void DeletePerfMonitors(Int32 n, [Out] UInt32[] monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* monitors_ptr = monitors)
-                    {
-                        Delegates.glDeletePerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glEndPerfMonitorAMD")]
-            public static 
-            void EndPerfMonitor(Int32 monitor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndPerfMonitorAMD((UInt32)monitor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glEndPerfMonitorAMD")]
-            public static 
-            void EndPerfMonitor(UInt32 monitor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndPerfMonitorAMD((UInt32)monitor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")]
-            public static 
-            unsafe void GenPerfMonitors(Int32 n, [Out] Int32* monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")]
-            public static 
-            void GenPerfMonitors(Int32 n, [Out] Int32[] monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* monitors_ptr = monitors)
-                    {
-                        Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")]
-            public static 
-            void GenPerfMonitors(Int32 n, [Out] out Int32 monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* monitors_ptr = &monitors)
-                    {
-                        Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                        monitors = *monitors_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")]
-            public static 
-            void GenPerfMonitors(Int32 n, [Out] out UInt32 monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* monitors_ptr = &monitors)
-                    {
-                        Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                        monitors = *monitors_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")]
-            public static 
-            unsafe void GenPerfMonitors(Int32 n, [Out] UInt32* monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGenPerfMonitorsAMD")]
-            public static 
-            void GenPerfMonitors(Int32 n, [Out] UInt32[] monitors)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* monitors_ptr = monitors)
-                    {
-                        Delegates.glGenPerfMonitorsAMD((Int32)n, (UInt32*)monitors_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounterData(Int32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] Int32* data, [Out] Int32* bytesWritten)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data, (Int32*)bytesWritten);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounterData(Int32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] Int32[] data, [Out] Int32* bytesWritten)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")]
-            public static 
-            void GetPerfMonitorCounterData(Int32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] out Int32 data, [Out] out Int32 bytesWritten)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    fixed (Int32* bytesWritten_ptr = &bytesWritten)
-                    {
-                        Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten_ptr);
-                        data = *data_ptr;
-                        bytesWritten = *bytesWritten_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")]
-            public static 
-            void GetPerfMonitorCounterData(UInt32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] out UInt32 data, [Out] out Int32 bytesWritten)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* data_ptr = &data)
-                    fixed (Int32* bytesWritten_ptr = &bytesWritten)
-                    {
-                        Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten_ptr);
-                        data = *data_ptr;
-                        bytesWritten = *bytesWritten_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounterData(UInt32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32* data, [Out] Int32* bytesWritten)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data, (Int32*)bytesWritten);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterDataAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounterData(UInt32 monitor, AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32[] data, [Out] Int32* bytesWritten)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (UInt32* data_ptr = data)
-                {
-                    Delegates.glGetPerfMonitorCounterDataAMD((UInt32)monitor, (AmdPerformanceMonitor)pname, (Int32)dataSize, (UInt32*)data_ptr, (Int32*)bytesWritten);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo(Int32 group, Int32 counter, AmdPerformanceMonitor pname, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo<T3>(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterInfoAMD")]
-            public static 
-            void GetPerfMonitorCounterInfo(UInt32 group, UInt32 counter, AmdPerformanceMonitor pname, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCounterInfoAMD((UInt32)group, (UInt32)counter, (AmdPerformanceMonitor)pname, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounters(Int32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] Int32* counters)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounters(Int32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] Int32[] counters)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Int32* counters_ptr = counters)
-                {
-                    Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")]
-            public static 
-            void GetPerfMonitorCounters(Int32 group, [Out] out Int32 numCounters, [Out] out Int32 maxActiveCounters, Int32 counterSize, [Out] out Int32 counters)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* numCounters_ptr = &numCounters)
-                    fixed (Int32* maxActiveCounters_ptr = &maxActiveCounters)
-                    fixed (Int32* counters_ptr = &counters)
-                    {
-                        Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters_ptr, (Int32*)maxActiveCounters_ptr, (Int32)counterSize, (UInt32*)counters_ptr);
-                        numCounters = *numCounters_ptr;
-                        maxActiveCounters = *maxActiveCounters_ptr;
-                        counters = *counters_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounters(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32* counters)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounters(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32[] counters)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (UInt32* counters_ptr = counters)
-                {
-                    Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters, (Int32*)maxActiveCounters, (Int32)counterSize, (UInt32*)counters_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCountersAMD")]
-            public static 
-            void GetPerfMonitorCounters(UInt32 group, [Out] out Int32 numCounters, [Out] out Int32 maxActiveCounters, Int32 counterSize, [Out] out UInt32 counters)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* numCounters_ptr = &numCounters)
-                    fixed (Int32* maxActiveCounters_ptr = &maxActiveCounters)
-                    fixed (UInt32* counters_ptr = &counters)
-                    {
-                        Delegates.glGetPerfMonitorCountersAMD((UInt32)group, (Int32*)numCounters_ptr, (Int32*)maxActiveCounters_ptr, (Int32)counterSize, (UInt32*)counters_ptr);
-                        numCounters = *numCounters_ptr;
-                        maxActiveCounters = *maxActiveCounters_ptr;
-                        counters = *counters_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounterString(Int32 group, Int32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)counterString);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")]
-            public static 
-            void GetPerfMonitorCounterString(Int32 group, Int32 counter, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder counterString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)counterString);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")]
-            public static 
-            unsafe void GetPerfMonitorCounterString(UInt32 group, UInt32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)counterString);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorCounterStringAMD")]
-            public static 
-            void GetPerfMonitorCounterString(UInt32 group, UInt32 counter, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder counterString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetPerfMonitorCounterStringAMD((UInt32)group, (UInt32)counter, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)counterString);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")]
-            public static 
-            unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] Int32* groups)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")]
-            public static 
-            unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] Int32[] groups)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Int32* groups_ptr = groups)
-                {
-                    Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")]
-            public static 
-            unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32* groups)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")]
-            public static 
-            unsafe void GetPerfMonitorGroup([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32[] groups)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (UInt32* groups_ptr = groups)
-                {
-                    Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups, (Int32)groupsSize, (UInt32*)groups_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")]
-            public static 
-            void GetPerfMonitorGroup([Out] out Int32 numGroups, Int32 groupsSize, [Out] out Int32 groups)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* numGroups_ptr = &numGroups)
-                    fixed (Int32* groups_ptr = &groups)
-                    {
-                        Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups_ptr, (Int32)groupsSize, (UInt32*)groups_ptr);
-                        numGroups = *numGroups_ptr;
-                        groups = *groups_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupsAMD")]
-            public static 
-            void GetPerfMonitorGroup([Out] out Int32 numGroups, Int32 groupsSize, [Out] out UInt32 groups)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* numGroups_ptr = &numGroups)
-                    fixed (UInt32* groups_ptr = &groups)
-                    {
-                        Delegates.glGetPerfMonitorGroupsAMD((Int32*)numGroups_ptr, (Int32)groupsSize, (UInt32*)groups_ptr);
-                        numGroups = *numGroups_ptr;
-                        groups = *groups_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")]
-            public static 
-            unsafe void GetPerfMonitorGroupString(Int32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)groupString);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")]
-            public static 
-            void GetPerfMonitorGroupString(Int32 group, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder groupString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)groupString);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")]
-            public static 
-            unsafe void GetPerfMonitorGroupString(UInt32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)groupString);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glGetPerfMonitorGroupStringAMD")]
-            public static 
-            void GetPerfMonitorGroupString(UInt32 group, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder groupString)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetPerfMonitorGroupStringAMD((UInt32)group, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)groupString);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")]
-            public static 
-            unsafe void SelectPerfMonitorCounters(Int32 monitor, bool enable, Int32 group, Int32 numCounters, [Out] Int32* counterList)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")]
-            public static 
-            void SelectPerfMonitorCounters(Int32 monitor, bool enable, Int32 group, Int32 numCounters, [Out] Int32[] counterList)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* counterList_ptr = counterList)
-                    {
-                        Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")]
-            public static 
-            void SelectPerfMonitorCounters(Int32 monitor, bool enable, Int32 group, Int32 numCounters, [Out] out Int32 counterList)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* counterList_ptr = &counterList)
-                    {
-                        Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr);
-                        counterList = *counterList_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")]
-            public static 
-            void SelectPerfMonitorCounters(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] out UInt32 counterList)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* counterList_ptr = &counterList)
-                    {
-                        Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr);
-                        counterList = *counterList_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")]
-            public static 
-            unsafe void SelectPerfMonitorCounters(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32* counterList)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AmdPerformanceMonitor", Version = "1.2", EntryPoint = "glSelectPerfMonitorCountersAMD")]
-            public static 
-            void SelectPerfMonitorCounters(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32[] counterList)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* counterList_ptr = counterList)
-                    {
-                        Delegates.glSelectPerfMonitorCountersAMD((UInt32)monitor, (bool)enable, (UInt32)group, (Int32)numCounters, (UInt32*)counterList_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdVertexShaderTesselator", Version = "2.0", EntryPoint = "glTessellationFactorAMD")]
-            public static 
-            void TessellationFactor(Single factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTessellationFactorAMD((Single)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AmdVertexShaderTesselator", Version = "2.0", EntryPoint = "glTessellationModeAMD")]
-            public static 
-            void TessellationMode(AmdVertexShaderTesselator mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTessellationModeAMD((AmdVertexShaderTesselator)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Apple
-        {
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glBindVertexArrayAPPLE")]
-            public static 
-            void BindVertexArray(Int32 array)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindVertexArrayAPPLE((UInt32)array);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glBindVertexArrayAPPLE")]
-            public static 
-            void BindVertexArray(UInt32 array)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindVertexArrayAPPLE((UInt32)array);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFlushBufferRange", Version = "1.5", EntryPoint = "glBufferParameteriAPPLE")]
-            public static 
-            void BufferParameter(BufferTarget target, BufferParameterApple pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBufferParameteriAPPLE((BufferTarget)target, (BufferParameterApple)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")]
-            public static 
-            unsafe void DeleteFences(Int32 n, Int32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")]
-            public static 
-            void DeleteFences(Int32 n, Int32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = fences)
-                    {
-                        Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")]
-            public static 
-            void DeleteFences(Int32 n, ref Int32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = &fences)
-                    {
-                        Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")]
-            public static 
-            void DeleteFences(Int32 n, ref UInt32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = &fences)
-                    {
-                        Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")]
-            public static 
-            unsafe void DeleteFences(Int32 n, UInt32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glDeleteFencesAPPLE")]
-            public static 
-            void DeleteFences(Int32 n, UInt32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = fences)
-                    {
-                        Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")]
-            public static 
-            unsafe void DeleteVertexArrays(Int32 n, Int32* arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")]
-            public static 
-            void DeleteVertexArrays(Int32 n, Int32[] arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* arrays_ptr = arrays)
-                    {
-                        Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")]
-            public static 
-            void DeleteVertexArrays(Int32 n, ref Int32 arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* arrays_ptr = &arrays)
-                    {
-                        Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")]
-            public static 
-            void DeleteVertexArrays(Int32 n, ref UInt32 arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* arrays_ptr = &arrays)
-                    {
-                        Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")]
-            public static 
-            unsafe void DeleteVertexArrays(Int32 n, UInt32* arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glDeleteVertexArraysAPPLE")]
-            public static 
-            void DeleteVertexArrays(Int32 n, UInt32[] arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* arrays_ptr = arrays)
-                    {
-                        Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glDisableVertexAttribAPPLE")]
-            public static 
-            void DisableVertexAttrib(Int32 index, AppleVertexProgramEvaluators pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glDisableVertexAttribAPPLE")]
-            public static 
-            void DisableVertexAttrib(UInt32 index, AppleVertexProgramEvaluators pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glDrawElementArrayAPPLE")]
-            public static 
-            void DrawElementArray(BeginMode mode, Int32 first, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawElementArrayAPPLE((BeginMode)mode, (Int32)first, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayAPPLE")]
-            public static 
-            void DrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32 first, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayAPPLE")]
-            public static 
-            void DrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32 first, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")]
-            public static 
-            void ElementPointer<T1>(AppleElementArray type, [In, Out] ref T1 pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")]
-            public static 
-            void ElementPointer<T1>(AppleElementArray type, [In, Out] T1[,,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")]
-            public static 
-            void ElementPointer<T1>(AppleElementArray type, [In, Out] T1[,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")]
-            public static 
-            void ElementPointer<T1>(AppleElementArray type, [In, Out] T1[] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glElementPointerAPPLE")]
-            public static 
-            void ElementPointer(AppleElementArray type, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glElementPointerAPPLE((AppleElementArray)type, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glEnableVertexAttribAPPLE")]
-            public static 
-            void EnableVertexAttrib(Int32 index, AppleVertexProgramEvaluators pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glEnableVertexAttribAPPLE")]
-            public static 
-            void EnableVertexAttrib(UInt32 index, AppleVertexProgramEvaluators pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableVertexAttribAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glFinishFenceAPPLE")]
-            public static 
-            void FinishFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinishFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glFinishFenceAPPLE")]
-            public static 
-            void FinishFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinishFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glFinishObjectAPPLE")]
-            public static 
-            void FinishObject(AppleFence @object, Int32 name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinishObjectAPPLE((AppleFence)@object, (Int32)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFlushBufferRange", Version = "1.5", EntryPoint = "glFlushMappedBufferRangeAPPLE")]
-            public static 
-            void FlushMappedBufferRange(BufferTarget target, IntPtr offset, IntPtr size)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFlushMappedBufferRangeAPPLE((BufferTarget)target, (IntPtr)offset, (IntPtr)size);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")]
-            public static 
-            void FlushVertexArrayRange<T1>(Int32 length, [In, Out] ref T1 pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")]
-            public static 
-            void FlushVertexArrayRange<T1>(Int32 length, [In, Out] T1[,,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")]
-            public static 
-            void FlushVertexArrayRange<T1>(Int32 length, [In, Out] T1[,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")]
-            public static 
-            void FlushVertexArrayRange<T1>(Int32 length, [In, Out] T1[] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glFlushVertexArrayRangeAPPLE")]
-            public static 
-            void FlushVertexArrayRange(Int32 length, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")]
-            public static 
-            unsafe void GenFences(Int32 n, [Out] Int32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")]
-            public static 
-            void GenFences(Int32 n, [Out] Int32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = fences)
-                    {
-                        Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")]
-            public static 
-            void GenFences(Int32 n, [Out] out Int32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = &fences)
-                    {
-                        Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                        fences = *fences_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")]
-            public static 
-            void GenFences(Int32 n, [Out] out UInt32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = &fences)
-                    {
-                        Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                        fences = *fences_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")]
-            public static 
-            unsafe void GenFences(Int32 n, [Out] UInt32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glGenFencesAPPLE")]
-            public static 
-            void GenFences(Int32 n, [Out] UInt32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = fences)
-                    {
-                        Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")]
-            public static 
-            unsafe void GenVertexArrays(Int32 n, [Out] Int32* arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")]
-            public static 
-            void GenVertexArrays(Int32 n, [Out] Int32[] arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* arrays_ptr = arrays)
-                    {
-                        Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")]
-            public static 
-            void GenVertexArrays(Int32 n, [Out] out Int32 arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* arrays_ptr = &arrays)
-                    {
-                        Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                        arrays = *arrays_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")]
-            public static 
-            void GenVertexArrays(Int32 n, [Out] out UInt32 arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* arrays_ptr = &arrays)
-                    {
-                        Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                        arrays = *arrays_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")]
-            public static 
-            unsafe void GenVertexArrays(Int32 n, [Out] UInt32* arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glGenVertexArraysAPPLE")]
-            public static 
-            void GenVertexArrays(Int32 n, [Out] UInt32[] arrays)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* arrays_ptr = arrays)
-                    {
-                        Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")]
-            public static 
-            unsafe void GetObjectParameter(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")]
-            public static 
-            void GetObjectParameter(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")]
-            public static 
-            void GetObjectParameter(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")]
-            public static 
-            unsafe void GetObjectParameter(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")]
-            public static 
-            void GetObjectParameter(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glGetObjectParameterivAPPLE")]
-            public static 
-            void GetObjectParameter(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectParameterivAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")]
-            public static 
-            void GetTexParameterPointer<T2>(AppleTextureRange target, AppleTextureRange pname, [In, Out] ref T2 @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")]
-            public static 
-            void GetTexParameterPointer<T2>(AppleTextureRange target, AppleTextureRange pname, [In, Out] T2[,,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")]
-            public static 
-            void GetTexParameterPointer<T2>(AppleTextureRange target, AppleTextureRange pname, [In, Out] T2[,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")]
-            public static 
-            void GetTexParameterPointer<T2>(AppleTextureRange target, AppleTextureRange pname, [In, Out] T2[] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glGetTexParameterPointervAPPLE")]
-            public static 
-            void GetTexParameterPointer(AppleTextureRange target, AppleTextureRange pname, [Out] IntPtr @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTexParameterPointervAPPLE((AppleTextureRange)target, (AppleTextureRange)pname, (IntPtr)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glIsFenceAPPLE")]
-            public static 
-            bool IsFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glIsFenceAPPLE")]
-            public static 
-            bool IsFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glIsVertexArrayAPPLE")]
-            public static 
-            bool IsVertexArray(Int32 array)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsVertexArrayAPPLE((UInt32)array);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexArrayObject", Version = "1.2", EntryPoint = "glIsVertexArrayAPPLE")]
-            public static 
-            bool IsVertexArray(UInt32 array)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsVertexArrayAPPLE((UInt32)array);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glIsVertexAttribEnabledAPPLE")]
-            public static 
-            bool IsVertexAttribEnabled(Int32 index, AppleVertexProgramEvaluators pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsVertexAttribEnabledAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glIsVertexAttribEnabledAPPLE")]
-            public static 
-            bool IsVertexAttribEnabled(UInt32 index, AppleVertexProgramEvaluators pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsVertexAttribEnabledAPPLE((UInt32)index, (AppleVertexProgramEvaluators)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib1(Int32 index, Int32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")]
-            public static 
-            void MapVertexAttrib1(Int32 index, Int32 size, Double u1, Double u2, Int32 stride, Int32 order, Double[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")]
-            public static 
-            void MapVertexAttrib1(Int32 index, Int32 size, Double u1, Double u2, Int32 stride, Int32 order, ref Double points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib1(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")]
-            public static 
-            void MapVertexAttrib1(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1dAPPLE")]
-            public static 
-            void MapVertexAttrib1(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, ref Double points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib1dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")]
-            public static 
-            void MapVertexAttrib1(Int32 index, Int32 size, Single u1, Single u2, Int32 stride, Int32 order, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib1(Int32 index, Int32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")]
-            public static 
-            void MapVertexAttrib1(Int32 index, Int32 size, Single u1, Single u2, Int32 stride, Int32 order, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")]
-            public static 
-            void MapVertexAttrib1(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib1(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib1fAPPLE")]
-            public static 
-            void MapVertexAttrib1(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib1fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib2(Int32 index, Int32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")]
-            public static 
-            void MapVertexAttrib2(Int32 index, Int32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")]
-            public static 
-            void MapVertexAttrib2(Int32 index, Int32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib2(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")]
-            public static 
-            void MapVertexAttrib2(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2dAPPLE")]
-            public static 
-            void MapVertexAttrib2(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib2dAPPLE((UInt32)index, (UInt32)size, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")]
-            public static 
-            void MapVertexAttrib2(Int32 index, Int32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib2(Int32 index, Int32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")]
-            public static 
-            void MapVertexAttrib2(Int32 index, Int32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")]
-            public static 
-            void MapVertexAttrib2(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")]
-            public static 
-            unsafe void MapVertexAttrib2(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleVertexProgramEvaluators", Version = "1.5", EntryPoint = "glMapVertexAttrib2fAPPLE")]
-            public static 
-            void MapVertexAttrib2(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glMapVertexAttrib2fAPPLE((UInt32)index, (UInt32)size, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawElementArrayAPPLE")]
-            public static 
-            unsafe void MultiDrawElementArray(BeginMode mode, Int32* first, Int32* count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiDrawElementArrayAPPLE((BeginMode)mode, (Int32*)first, (Int32*)count, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawElementArrayAPPLE")]
-            public static 
-            void MultiDrawElementArray(BeginMode mode, Int32[] first, Int32[] count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = first)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiDrawElementArrayAPPLE((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawElementArrayAPPLE")]
-            public static 
-            void MultiDrawElementArray(BeginMode mode, ref Int32 first, ref Int32 count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = &first)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiDrawElementArrayAPPLE((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")]
-            public static 
-            unsafe void MultiDrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32* first, Int32* count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")]
-            public static 
-            void MultiDrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32[] first, Int32[] count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = first)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")]
-            public static 
-            void MultiDrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, ref Int32 first, ref Int32 count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = &first)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")]
-            public static 
-            unsafe void MultiDrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")]
-            public static 
-            void MultiDrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32[] first, Int32[] count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = first)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleElementArray", Version = "1.2", EntryPoint = "glMultiDrawRangeElementArrayAPPLE")]
-            public static 
-            void MultiDrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, ref Int32 first, ref Int32 count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = &first)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiDrawRangeElementArrayAPPLE((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectPurgeableAPPLE")]
-            public static 
-            IntPtr ObjectPurgeable(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable option)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glObjectPurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectPurgeableAPPLE")]
-            public static 
-            IntPtr ObjectPurgeable(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable option)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glObjectPurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectUnpurgeableAPPLE")]
-            public static 
-            IntPtr ObjectUnpurgeable(AppleObjectPurgeable objectType, Int32 name, AppleObjectPurgeable option)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glObjectUnpurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleObjectPurgeable", Version = "1.5", EntryPoint = "glObjectUnpurgeableAPPLE")]
-            public static 
-            IntPtr ObjectUnpurgeable(AppleObjectPurgeable objectType, UInt32 name, AppleObjectPurgeable option)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glObjectUnpurgeableAPPLE((AppleObjectPurgeable)objectType, (UInt32)name, (AppleObjectPurgeable)option);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glSetFenceAPPLE")]
-            public static 
-            void SetFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glSetFenceAPPLE")]
-            public static 
-            void SetFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestFenceAPPLE")]
-            public static 
-            bool TestFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glTestFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestFenceAPPLE")]
-            public static 
-            bool TestFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glTestFenceAPPLE((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestObjectAPPLE")]
-            public static 
-            bool TestObject(AppleFence @object, Int32 name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glTestObjectAPPLE((AppleFence)@object, (UInt32)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AppleFence", Version = "1.2", EntryPoint = "glTestObjectAPPLE")]
-            public static 
-            bool TestObject(AppleFence @object, UInt32 name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glTestObjectAPPLE((AppleFence)@object, (UInt32)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")]
-            public static 
-            void TextureRange<T2>(AppleTextureRange target, Int32 length, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")]
-            public static 
-            void TextureRange<T2>(AppleTextureRange target, Int32 length, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")]
-            public static 
-            void TextureRange<T2>(AppleTextureRange target, Int32 length, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")]
-            public static 
-            void TextureRange<T2>(AppleTextureRange target, Int32 length, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleTextureRange", Version = "1.2", EntryPoint = "glTextureRangeAPPLE")]
-            public static 
-            void TextureRange(AppleTextureRange target, Int32 length, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureRangeAPPLE((AppleTextureRange)target, (Int32)length, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayParameteriAPPLE")]
-            public static 
-            void VertexArrayParameter(AppleVertexArrayRange pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexArrayParameteriAPPLE((AppleVertexArrayRange)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] ref T1 pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] T1[,,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] T1[,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] T1[] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AppleVertexArrayRange", Version = "1.2", EntryPoint = "glVertexArrayRangeAPPLE")]
-            public static 
-            void VertexArrayRange(Int32 length, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Arb
-        {
-            
-        /// <summary>
-        /// Select active texture unit
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glActiveTextureARB")]
-            public static 
-            void ActiveTexture(TextureUnit texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glActiveTextureARB((TextureUnit)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glAttachObjectARB")]
-            public static 
-            void AttachObject(Int32 containerObj, Int32 obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glAttachObjectARB")]
-            public static 
-            void AttachObject(UInt32 containerObj, UInt32 obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delimit the boundaries of a query object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glBeginQueryARB")]
-            public static 
-            void BeginQuery(ArbOcclusionQuery target, Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginQueryARB((ArbOcclusionQuery)target, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delimit the boundaries of a query object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glBeginQueryARB")]
-            public static 
-            void BeginQuery(ArbOcclusionQuery target, UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginQueryARB((ArbOcclusionQuery)target, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Associates a generic vertex attribute index with a named attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object in which the association is to be made.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be bound.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glBindAttribLocationARB")]
-            public static 
-            void BindAttribLocation(Int32 programObj, Int32 index, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Associates a generic vertex attribute index with a named attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object in which the association is to be made.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be bound.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glBindAttribLocationARB")]
-            public static 
-            void BindAttribLocation(UInt32 programObj, UInt32 index, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Bind a named buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies the name of a buffer object.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBindBufferARB")]
-            public static 
-            void BindBuffer(BufferTargetArb target, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferARB((BufferTargetArb)target, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Bind a named buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies the name of a buffer object.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBindBufferARB")]
-            public static 
-            void BindBuffer(BufferTargetArb target, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferARB((BufferTargetArb)target, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glBindProgramARB")]
-            public static 
-            void BindProgram(AssemblyProgramTargetArb target, Int32 program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindProgramARB((AssemblyProgramTargetArb)target, (UInt32)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glBindProgramARB")]
-            public static 
-            void BindProgram(AssemblyProgramTargetArb target, UInt32 program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindProgramARB((AssemblyProgramTargetArb)target, (UInt32)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")]
-            public static 
-            void BufferData<T2>(BufferTargetArb target, IntPtr size, [In, Out] ref T2 data, BufferUsageArb usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")]
-            public static 
-            void BufferData<T2>(BufferTargetArb target, IntPtr size, [In, Out] T2[,,] data, BufferUsageArb usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")]
-            public static 
-            void BufferData<T2>(BufferTargetArb target, IntPtr size, [In, Out] T2[,] data, BufferUsageArb usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")]
-            public static 
-            void BufferData<T2>(BufferTargetArb target, IntPtr size, [In, Out] T2[] data, BufferUsageArb usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageArb)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferDataARB")]
-            public static 
-            void BufferData(BufferTargetArb target, IntPtr size, IntPtr data, BufferUsageArb usage)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBufferDataARB((BufferTargetArb)target, (IntPtr)size, (IntPtr)data, (BufferUsageArb)usage);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")]
-            public static 
-            void BufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")]
-            public static 
-            void BufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")]
-            public static 
-            void BufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")]
-            public static 
-            void BufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glBufferSubDataARB")]
-            public static 
-            void BufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbColorBufferFloat", Version = "1.5", EntryPoint = "glClampColorARB")]
-            public static 
-            void ClampColor(ArbColorBufferFloat target, ArbColorBufferFloat clamp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClampColorARB((ArbColorBufferFloat)target, (ArbColorBufferFloat)clamp);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Select active texture unit
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glClientActiveTextureARB")]
-            public static 
-            void ClientActiveTexture(TextureUnit texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClientActiveTextureARB((TextureUnit)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Compiles a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be compiled.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCompileShaderARB")]
-            public static 
-            void CompileShader(Int32 shaderObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompileShaderARB((UInt32)shaderObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Compiles a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be compiled.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCompileShaderARB")]
-            public static 
-            void CompileShader(UInt32 shaderObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompileShaderARB((UInt32)shaderObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")]
-            public static 
-            void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T6 data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")]
-            public static 
-            void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,,] data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")]
-            public static 
-            void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,] data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")]
-            public static 
-            void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[] data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage1DARB")]
-            public static 
-            void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTexImage1DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")]
-            public static 
-            void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T7 data)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")]
-            public static 
-            void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,,] data)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")]
-            public static 
-            void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,] data)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")]
-            public static 
-            void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[] data)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage2DARB")]
-            public static 
-            void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTexImage2DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")]
-            public static 
-            void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T8 data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")]
-            public static 
-            void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,,] data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")]
-            public static 
-            void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,] data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")]
-            public static 
-            void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[] data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexImage3DARB")]
-            public static 
-            void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTexImage3DARB((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")]
-            public static 
-            void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T6 data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")]
-            public static 
-            void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,,] data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")]
-            public static 
-            void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,] data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")]
-            public static 
-            void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[] data)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage1DARB")]
-            public static 
-            void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTexSubImage1DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")]
-            public static 
-            void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T8 data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")]
-            public static 
-            void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,,] data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")]
-            public static 
-            void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,] data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")]
-            public static 
-            void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[] data)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage2DARB")]
-            public static 
-            void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTexSubImage2DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")]
-            public static 
-            void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T10 data)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")]
-            public static 
-            void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,,] data)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")]
-            public static 
-            void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,] data)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")]
-            public static 
-            void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[] data)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glCompressedTexSubImage3DARB")]
-            public static 
-            void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTexSubImage3DARB((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCreateProgramObjectARB")]
-            public static 
-            Int32 CreateProgramObject()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glCreateProgramObjectARB();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glCreateShaderObjectARB")]
-            public static 
-            Int32 CreateShaderObject(ArbShaderObjects shaderType)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glCreateShaderObjectARB((ArbShaderObjects)shaderType);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glCurrentPaletteMatrixARB")]
-            public static 
-            void CurrentPaletteMatrix(Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCurrentPaletteMatrixARB((Int32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")]
-            public static 
-            unsafe void DeleteBuffers(Int32 n, Int32* buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")]
-            public static 
-            void DeleteBuffers(Int32 n, Int32[] buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* buffers_ptr = buffers)
-                    {
-                        Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")]
-            public static 
-            void DeleteBuffers(Int32 n, ref Int32 buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* buffers_ptr = &buffers)
-                    {
-                        Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")]
-            public static 
-            void DeleteBuffers(Int32 n, ref UInt32 buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* buffers_ptr = &buffers)
-                    {
-                        Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")]
-            public static 
-            unsafe void DeleteBuffers(Int32 n, UInt32* buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glDeleteBuffersARB")]
-            public static 
-            void DeleteBuffers(Int32 n, UInt32[] buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* buffers_ptr = buffers)
-                    {
-                        Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDeleteObjectARB")]
-            public static 
-            void DeleteObject(Int32 obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteObjectARB((UInt32)obj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDeleteObjectARB")]
-            public static 
-            void DeleteObject(UInt32 obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteObjectARB((UInt32)obj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")]
-            public static 
-            unsafe void DeleteProgram(Int32 n, Int32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")]
-            public static 
-            void DeleteProgram(Int32 n, Int32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = programs)
-                    {
-                        Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")]
-            public static 
-            void DeleteProgram(Int32 n, ref Int32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = &programs)
-                    {
-                        Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")]
-            public static 
-            void DeleteProgram(Int32 n, ref UInt32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = &programs)
-                    {
-                        Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")]
-            public static 
-            unsafe void DeleteProgram(Int32 n, UInt32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDeleteProgramsARB")]
-            public static 
-            void DeleteProgram(Int32 n, UInt32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = programs)
-                    {
-                        Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")]
-            public static 
-            unsafe void DeleteQueries(Int32 n, Int32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")]
-            public static 
-            void DeleteQueries(Int32 n, Int32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = ids)
-                    {
-                        Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")]
-            public static 
-            void DeleteQueries(Int32 n, ref Int32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = &ids)
-                    {
-                        Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")]
-            public static 
-            void DeleteQueries(Int32 n, ref UInt32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = &ids)
-                    {
-                        Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")]
-            public static 
-            unsafe void DeleteQueries(Int32 n, UInt32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glDeleteQueriesARB")]
-            public static 
-            void DeleteQueries(Int32 n, UInt32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = ids)
-                    {
-                        Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDetachObjectARB")]
-            public static 
-            void DetachObject(Int32 containerObj, Int32 attachedObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glDetachObjectARB")]
-            public static 
-            void DetachObject(UInt32 containerObj, UInt32 attachedObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDisableVertexAttribArrayARB")]
-            public static 
-            void DisableVertexAttribArray(Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableVertexAttribArrayARB((UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glDisableVertexAttribArrayARB")]
-            public static 
-            void DisableVertexAttribArray(UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableVertexAttribArrayARB((UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawArraysInstancedARB")]
-            public static 
-            void DrawArraysInstanced(BeginMode mode, Int32 first, Int32 count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawArraysInstancedARB((BeginMode)mode, (Int32)first, (Int32)count, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbDrawBuffers", Version = "1.5", EntryPoint = "glDrawBuffersARB")]
-            public static 
-            unsafe void DrawBuffers(Int32 n, ArbDrawBuffers* bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawBuffersARB((Int32)n, (ArbDrawBuffers*)bufs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbDrawBuffers", Version = "1.5", EntryPoint = "glDrawBuffersARB")]
-            public static 
-            void DrawBuffers(Int32 n, ArbDrawBuffers[] bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (ArbDrawBuffers* bufs_ptr = bufs)
-                    {
-                        Delegates.glDrawBuffersARB((Int32)n, (ArbDrawBuffers*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbDrawBuffers", Version = "1.5", EntryPoint = "glDrawBuffersARB")]
-            public static 
-            void DrawBuffers(Int32 n, ref ArbDrawBuffers bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (ArbDrawBuffers* bufs_ptr = &bufs)
-                    {
-                        Delegates.glDrawBuffersARB((Int32)n, (ArbDrawBuffers*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedARB")]
-            public static 
-            void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawElementsInstancedARB((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Enable or disable a generic vertex attribute array
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be enabled or disabled.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glEnableVertexAttribArrayARB")]
-            public static 
-            void EnableVertexAttribArray(Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableVertexAttribArrayARB((UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Enable or disable a generic vertex attribute array
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be enabled or disabled.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glEnableVertexAttribArrayARB")]
-            public static 
-            void EnableVertexAttribArray(UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableVertexAttribArrayARB((UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glEndQueryARB")]
-            public static 
-            void EndQuery(ArbOcclusionQuery target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndQueryARB((ArbOcclusionQuery)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureARB")]
-            public static 
-            void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureARB")]
-            public static 
-            void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureFaceARB")]
-            public static 
-            void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, TextureTarget face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureFaceARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureFaceARB")]
-            public static 
-            void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, TextureTarget face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureFaceARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureLayerARB")]
-            public static 
-            void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureLayerARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glFramebufferTextureLayerARB")]
-            public static 
-            void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureLayerARB((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")]
-            public static 
-            unsafe void GenBuffers(Int32 n, [Out] Int32* buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")]
-            public static 
-            void GenBuffers(Int32 n, [Out] Int32[] buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* buffers_ptr = buffers)
-                    {
-                        Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")]
-            public static 
-            void GenBuffers(Int32 n, [Out] out Int32 buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* buffers_ptr = &buffers)
-                    {
-                        Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                        buffers = *buffers_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")]
-            public static 
-            void GenBuffers(Int32 n, [Out] out UInt32 buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* buffers_ptr = &buffers)
-                    {
-                        Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                        buffers = *buffers_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")]
-            public static 
-            unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGenBuffersARB")]
-            public static 
-            void GenBuffers(Int32 n, [Out] UInt32[] buffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* buffers_ptr = buffers)
-                    {
-                        Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")]
-            public static 
-            unsafe void GenProgram(Int32 n, [Out] Int32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")]
-            public static 
-            void GenProgram(Int32 n, [Out] Int32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = programs)
-                    {
-                        Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")]
-            public static 
-            void GenProgram(Int32 n, [Out] out Int32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = &programs)
-                    {
-                        Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                        programs = *programs_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")]
-            public static 
-            void GenProgram(Int32 n, [Out] out UInt32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = &programs)
-                    {
-                        Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                        programs = *programs_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")]
-            public static 
-            unsafe void GenProgram(Int32 n, [Out] UInt32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGenProgramsARB")]
-            public static 
-            void GenProgram(Int32 n, [Out] UInt32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = programs)
-                    {
-                        Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")]
-            public static 
-            unsafe void GenQueries(Int32 n, [Out] Int32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")]
-            public static 
-            void GenQueries(Int32 n, [Out] Int32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = ids)
-                    {
-                        Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")]
-            public static 
-            void GenQueries(Int32 n, [Out] out Int32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = &ids)
-                    {
-                        Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                        ids = *ids_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")]
-            public static 
-            void GenQueries(Int32 n, [Out] out UInt32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = &ids)
-                    {
-                        Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                        ids = *ids_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")]
-            public static 
-            unsafe void GenQueries(Int32 n, [Out] UInt32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGenQueriesARB")]
-            public static 
-            void GenQueries(Int32 n, [Out] UInt32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = ids)
-                    {
-                        Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")]
-            public static 
-            unsafe void GetActiveAttrib(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbVertexShader* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbVertexShader*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")]
-            public static 
-            void GetActiveAttrib(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbVertexShader type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (ArbVertexShader* type_ptr = &type)
-                    {
-                        Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbVertexShader*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")]
-            public static 
-            unsafe void GetActiveAttrib(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbVertexShader* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbVertexShader*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetActiveAttribARB")]
-            public static 
-            void GetActiveAttrib(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbVertexShader type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (ArbVertexShader* type_ptr = &type)
-                    {
-                        Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbVertexShader*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")]
-            public static 
-            unsafe void GetActiveUniform(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbShaderObjects* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbShaderObjects*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")]
-            public static 
-            void GetActiveUniform(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbShaderObjects type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (ArbShaderObjects* type_ptr = &type)
-                    {
-                        Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbShaderObjects*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")]
-            public static 
-            unsafe void GetActiveUniform(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] ArbShaderObjects* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (ArbShaderObjects*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetActiveUniformARB")]
-            public static 
-            void GetActiveUniform(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out ArbShaderObjects type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (ArbShaderObjects* type_ptr = &type)
-                    {
-                        Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (ArbShaderObjects*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")]
-            public static 
-            unsafe void GetAttachedObjects(Int32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] Int32* obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")]
-            public static 
-            unsafe void GetAttachedObjects(Int32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] Int32[] obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")]
-            public static 
-            void GetAttachedObjects(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    fixed (Int32* obj_ptr = &obj)
-                    {
-                        Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                        count = *count_ptr;
-                        obj = *obj_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")]
-            public static 
-            unsafe void GetAttachedObjects(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")]
-            public static 
-            unsafe void GetAttachedObjects(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32[] obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetAttachedObjectsARB")]
-            public static 
-            void GetAttachedObjects(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    fixed (UInt32* obj_ptr = &obj)
-                    {
-                        Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                        count = *count_ptr;
-                        obj = *obj_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the location of an attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetAttribLocationARB")]
-            public static 
-            Int32 GetAttribLocation(Int32 programObj, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetAttribLocationARB((UInt32)programObj, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the location of an attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexShader", Version = "1.2", EntryPoint = "glGetAttribLocationARB")]
-            public static 
-            Int32 GetAttribLocation(UInt32 programObj, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetAttribLocationARB((UInt32)programObj, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferParameterivARB")]
-            public static 
-            unsafe void GetBufferParameter(ArbVertexBufferObject target, BufferParameterNameArb pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetBufferParameterivARB((ArbVertexBufferObject)target, (BufferParameterNameArb)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferParameterivARB")]
-            public static 
-            void GetBufferParameter(ArbVertexBufferObject target, BufferParameterNameArb pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetBufferParameterivARB((ArbVertexBufferObject)target, (BufferParameterNameArb)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferParameterivARB")]
-            public static 
-            void GetBufferParameter(ArbVertexBufferObject target, BufferParameterNameArb pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetBufferParameterivARB((ArbVertexBufferObject)target, (BufferParameterNameArb)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")]
-            public static 
-            void GetBufferPointer<T2>(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] ref T2 @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")]
-            public static 
-            void GetBufferPointer<T2>(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] T2[,,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")]
-            public static 
-            void GetBufferPointer<T2>(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] T2[,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")]
-            public static 
-            void GetBufferPointer<T2>(ArbVertexBufferObject target, BufferPointerNameArb pname, [In, Out] T2[] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferPointervARB")]
-            public static 
-            void GetBufferPointer(ArbVertexBufferObject target, BufferPointerNameArb pname, [Out] IntPtr @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetBufferPointervARB((ArbVertexBufferObject)target, (BufferPointerNameArb)pname, (IntPtr)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")]
-            public static 
-            void GetBufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")]
-            public static 
-            void GetBufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")]
-            public static 
-            void GetBufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")]
-            public static 
-            void GetBufferSubData<T3>(BufferTargetArb target, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glGetBufferSubDataARB")]
-            public static 
-            void GetBufferSubData(BufferTargetArb target, IntPtr offset, IntPtr size, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetBufferSubDataARB((BufferTargetArb)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")]
-            public static 
-            void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] ref T2 img)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")]
-            public static 
-            void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] T2[,,] img)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")]
-            public static 
-            void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] T2[,] img)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")]
-            public static 
-            void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] T2[] img)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTextureCompression", Version = "1.2", EntryPoint = "glGetCompressedTexImageARB")]
-            public static 
-            void GetCompressedTexImage(TextureTarget target, Int32 level, [Out] IntPtr img)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCompressedTexImageARB((TextureTarget)target, (Int32)level, (IntPtr)img);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetHandleARB")]
-            public static 
-            Int32 GetHandle(ArbShaderObjects pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetHandleARB((ArbShaderObjects)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")]
-            public static 
-            unsafe void GetInfoLog(Int32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")]
-            public static 
-            void GetInfoLog(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")]
-            public static 
-            unsafe void GetInfoLog(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetInfoLogARB")]
-            public static 
-            void GetInfoLog(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")]
-            public static 
-            void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")]
-            public static 
-            unsafe void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")]
-            public static 
-            void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")]
-            public static 
-            void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")]
-            public static 
-            unsafe void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterfvARB")]
-            public static 
-            void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetObjectParameterfvARB((UInt32)obj, (ArbShaderObjects)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")]
-            public static 
-            unsafe void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")]
-            public static 
-            void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")]
-            public static 
-            void GetObjectParameter(Int32 obj, ArbShaderObjects pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")]
-            public static 
-            unsafe void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")]
-            public static 
-            void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetObjectParameterivARB")]
-            public static 
-            void GetObjectParameter(UInt32 obj, ArbShaderObjects pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectParameterivARB((UInt32)obj, (ArbShaderObjects)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")]
-            public static 
-            unsafe void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")]
-            public static 
-            unsafe void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterdvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")]
-            public static 
-            unsafe void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, Int32 index, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")]
-            public static 
-            unsafe void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramEnvParameterfvARB")]
-            public static 
-            void GetProgramEnvParameter(ArbVertexProgram target, UInt32 index, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramivARB")]
-            public static 
-            unsafe void GetProgram(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramivARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramivARB")]
-            public static 
-            void GetProgram(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramivARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")]
-            public static 
-            unsafe void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")]
-            public static 
-            unsafe void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterdvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterdvARB((ArbVertexProgram)target, (UInt32)index, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")]
-            public static 
-            unsafe void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, Int32 index, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")]
-            public static 
-            unsafe void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramLocalParameterfvARB")]
-            public static 
-            void GetProgramLocalParameter(ArbVertexProgram target, UInt32 index, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterfvARB((ArbVertexProgram)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")]
-            public static 
-            void GetProgramString<T2>(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] ref T2 @string)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")]
-            public static 
-            void GetProgramString<T2>(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] T2[,,] @string)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")]
-            public static 
-            void GetProgramString<T2>(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] T2[,] @string)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")]
-            public static 
-            void GetProgramString<T2>(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [In, Out] T2[] @string)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetProgramStringARB")]
-            public static 
-            void GetProgramString(AssemblyProgramTargetArb target, AssemblyProgramParameterArb pname, [Out] IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramStringARB((AssemblyProgramTargetArb)target, (AssemblyProgramParameterArb)pname, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryivARB")]
-            public static 
-            unsafe void GetQuery(ArbOcclusionQuery target, ArbOcclusionQuery pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryivARB((ArbOcclusionQuery)target, (ArbOcclusionQuery)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryivARB")]
-            public static 
-            void GetQuery(ArbOcclusionQuery target, ArbOcclusionQuery pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryivARB((ArbOcclusionQuery)target, (ArbOcclusionQuery)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryivARB")]
-            public static 
-            void GetQuery(ArbOcclusionQuery target, ArbOcclusionQuery pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryivARB((ArbOcclusionQuery)target, (ArbOcclusionQuery)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")]
-            public static 
-            unsafe void GetQueryObject(Int32 id, ArbOcclusionQuery pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")]
-            public static 
-            void GetQueryObject(Int32 id, ArbOcclusionQuery pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")]
-            public static 
-            void GetQueryObject(Int32 id, ArbOcclusionQuery pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")]
-            public static 
-            unsafe void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")]
-            public static 
-            void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectivARB")]
-            public static 
-            void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjectivARB((UInt32)id, (ArbOcclusionQuery)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectuivARB")]
-            public static 
-            void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjectuivARB((UInt32)id, (ArbOcclusionQuery)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectuivARB")]
-            public static 
-            unsafe void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjectuivARB((UInt32)id, (ArbOcclusionQuery)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glGetQueryObjectuivARB")]
-            public static 
-            void GetQueryObject(UInt32 id, ArbOcclusionQuery pname, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjectuivARB((UInt32)id, (ArbOcclusionQuery)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")]
-            public static 
-            unsafe void GetShaderSource(Int32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)source);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")]
-            public static 
-            void GetShaderSource(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder source)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)source);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")]
-            public static 
-            unsafe void GetShaderSource(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)source);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetShaderSourceARB")]
-            public static 
-            void GetShaderSource(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder source)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)source);
-                        length = *length_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")]
-            public static 
-            void GetUniform(Int32 programObj, Int32 location, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")]
-            public static 
-            unsafe void GetUniform(Int32 programObj, Int32 location, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")]
-            public static 
-            void GetUniform(Int32 programObj, Int32 location, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")]
-            public static 
-            void GetUniform(UInt32 programObj, Int32 location, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")]
-            public static 
-            unsafe void GetUniform(UInt32 programObj, Int32 location, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformfvARB")]
-            public static 
-            void GetUniform(UInt32 programObj, Int32 location, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")]
-            public static 
-            unsafe void GetUniform(Int32 programObj, Int32 location, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")]
-            public static 
-            void GetUniform(Int32 programObj, Int32 location, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")]
-            public static 
-            void GetUniform(Int32 programObj, Int32 location, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")]
-            public static 
-            unsafe void GetUniform(UInt32 programObj, Int32 location, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")]
-            public static 
-            void GetUniform(UInt32 programObj, Int32 location, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformivARB")]
-            public static 
-            void GetUniform(UInt32 programObj, Int32 location, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the location of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformLocationARB")]
-            public static 
-            Int32 GetUniformLocation(Int32 programObj, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetUniformLocationARB((UInt32)programObj, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the location of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glGetUniformLocationARB")]
-            public static 
-            Int32 GetUniformLocation(UInt32 programObj, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetUniformLocationARB((UInt32)programObj, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")]
-            public static 
-            unsafe void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")]
-            public static 
-            void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")]
-            public static 
-            void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")]
-            public static 
-            unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")]
-            public static 
-            void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribdvARB")]
-            public static 
-            void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribdvARB((UInt32)index, (VertexAttribParameterArb)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")]
-            public static 
-            void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")]
-            public static 
-            unsafe void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")]
-            public static 
-            void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")]
-            public static 
-            void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")]
-            public static 
-            unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribfvARB")]
-            public static 
-            void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribfvARB((UInt32)index, (VertexAttribParameterArb)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")]
-            public static 
-            unsafe void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")]
-            public static 
-            void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")]
-            public static 
-            void GetVertexAttrib(Int32 index, VertexAttribParameterArb pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")]
-            public static 
-            unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")]
-            public static 
-            void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribivARB")]
-            public static 
-            void GetVertexAttrib(UInt32 index, VertexAttribParameterArb pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribivARB((UInt32)index, (VertexAttribParameterArb)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer(Int32 index, VertexAttribPointerParameterArb pname, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerParameterArb pname, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glGetVertexAttribPointervARB")]
-            public static 
-            void GetVertexAttribPointer(UInt32 index, VertexAttribPointerParameterArb pname, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribPointervARB((UInt32)index, (VertexAttribPointerParameterArb)pname, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if a name corresponds to a buffer object
-        /// </summary>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies a value that may be the name of a buffer object.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glIsBufferARB")]
-            public static 
-            bool IsBuffer(Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsBufferARB((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if a name corresponds to a buffer object
-        /// </summary>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies a value that may be the name of a buffer object.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glIsBufferARB")]
-            public static 
-            bool IsBuffer(UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsBufferARB((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determines if a name corresponds to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies a potential program object.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glIsProgramARB")]
-            public static 
-            bool IsProgram(Int32 program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsProgramARB((UInt32)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determines if a name corresponds to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies a potential program object.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glIsProgramARB")]
-            public static 
-            bool IsProgram(UInt32 program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsProgramARB((UInt32)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if a name corresponds to a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies a value that may be the name of a query object.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glIsQueryARB")]
-            public static 
-            bool IsQuery(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsQueryARB((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if a name corresponds to a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies a value that may be the name of a query object.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbOcclusionQuery", Version = "1.5", EntryPoint = "glIsQueryARB")]
-            public static 
-            bool IsQuery(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsQueryARB((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Links a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be linked.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glLinkProgramARB")]
-            public static 
-            void LinkProgram(Int32 programObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLinkProgramARB((UInt32)programObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Links a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be linked.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glLinkProgramARB")]
-            public static 
-            void LinkProgram(UInt32 programObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLinkProgramARB((UInt32)programObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixdARB")]
-            public static 
-            unsafe void LoadTransposeMatrix(Double* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLoadTransposeMatrixdARB((Double*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixdARB")]
-            public static 
-            void LoadTransposeMatrix(Double[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = m)
-                    {
-                        Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixdARB")]
-            public static 
-            void LoadTransposeMatrix(ref Double m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = &m)
-                    {
-                        Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixfARB")]
-            public static 
-            void LoadTransposeMatrix(ref Single m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = &m)
-                    {
-                        Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixfARB")]
-            public static 
-            unsafe void LoadTransposeMatrix(Single* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLoadTransposeMatrixfARB((Single*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glLoadTransposeMatrixfARB")]
-            public static 
-            void LoadTransposeMatrix(Single[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = m)
-                    {
-                        Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Map a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="access">
-        /// <para>
-        /// Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glMapBufferARB")]
-            public static 
-            unsafe IntPtr MapBuffer(BufferTargetArb target, ArbVertexBufferObject access)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glMapBufferARB((BufferTargetArb)target, (ArbVertexBufferObject)access);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")]
-            public static 
-            void MatrixIndexPointer<T3>(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] ref T3 pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")]
-            public static 
-            void MatrixIndexPointer<T3>(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] T3[,,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")]
-            public static 
-            void MatrixIndexPointer<T3>(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] T3[,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")]
-            public static 
-            void MatrixIndexPointer<T3>(Int32 size, ArbMatrixPalette type, Int32 stride, [In, Out] T3[] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexPointerARB")]
-            public static 
-            void MatrixIndexPointer(Int32 size, ArbMatrixPalette type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixIndexPointerARB((Int32)size, (ArbMatrixPalette)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexubvARB")]
-            public static 
-            unsafe void MatrixIndex(Int32 size, Byte* indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexubvARB")]
-            public static 
-            void MatrixIndex(Int32 size, Byte[] indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* indices_ptr = indices)
-                    {
-                        Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexubvARB")]
-            public static 
-            void MatrixIndex(Int32 size, ref Byte indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* indices_ptr = &indices)
-                    {
-                        Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")]
-            public static 
-            unsafe void MatrixIndex(Int32 size, Int32* indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")]
-            public static 
-            void MatrixIndex(Int32 size, Int32[] indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* indices_ptr = indices)
-                    {
-                        Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")]
-            public static 
-            void MatrixIndex(Int32 size, ref Int32 indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* indices_ptr = &indices)
-                    {
-                        Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")]
-            public static 
-            void MatrixIndex(Int32 size, ref UInt32 indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* indices_ptr = &indices)
-                    {
-                        Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")]
-            public static 
-            unsafe void MatrixIndex(Int32 size, UInt32* indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexuivARB")]
-            public static 
-            void MatrixIndex(Int32 size, UInt32[] indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* indices_ptr = indices)
-                    {
-                        Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")]
-            public static 
-            unsafe void MatrixIndex(Int32 size, Int16* indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")]
-            public static 
-            void MatrixIndex(Int32 size, Int16[] indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* indices_ptr = indices)
-                    {
-                        Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")]
-            public static 
-            void MatrixIndex(Int32 size, ref Int16 indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* indices_ptr = &indices)
-                    {
-                        Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")]
-            public static 
-            void MatrixIndex(Int32 size, ref UInt16 indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* indices_ptr = &indices)
-                    {
-                        Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")]
-            public static 
-            unsafe void MatrixIndex(Int32 size, UInt16* indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMatrixPalette", Version = "1.1", EntryPoint = "glMatrixIndexusvARB")]
-            public static 
-            void MatrixIndex(Int32 size, UInt16[] indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* indices_ptr = indices)
-                    {
-                        Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1dARB")]
-            public static 
-            void MultiTexCoord1(TextureUnit target, Double s)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1dARB((TextureUnit)target, (Double)s);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1dvARB")]
-            public static 
-            unsafe void MultiTexCoord1(TextureUnit target, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1dvARB((TextureUnit)target, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1fARB")]
-            public static 
-            void MultiTexCoord1(TextureUnit target, Single s)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1fARB((TextureUnit)target, (Single)s);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1fvARB")]
-            public static 
-            unsafe void MultiTexCoord1(TextureUnit target, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1fvARB((TextureUnit)target, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1iARB")]
-            public static 
-            void MultiTexCoord1(TextureUnit target, Int32 s)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1iARB((TextureUnit)target, (Int32)s);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1ivARB")]
-            public static 
-            unsafe void MultiTexCoord1(TextureUnit target, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1ivARB((TextureUnit)target, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1sARB")]
-            public static 
-            void MultiTexCoord1(TextureUnit target, Int16 s)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1sARB((TextureUnit)target, (Int16)s);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord1svARB")]
-            public static 
-            unsafe void MultiTexCoord1(TextureUnit target, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1svARB((TextureUnit)target, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Double s, Double t)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2dARB((TextureUnit)target, (Double)s, (Double)t);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dvARB")]
-            public static 
-            unsafe void MultiTexCoord2(TextureUnit target, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2dvARB((TextureUnit)target, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dvARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord2dvARB((TextureUnit)target, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2dvARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord2dvARB((TextureUnit)target, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Single s, Single t)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2fARB((TextureUnit)target, (Single)s, (Single)t);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fvARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord2fvARB((TextureUnit)target, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fvARB")]
-            public static 
-            unsafe void MultiTexCoord2(TextureUnit target, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2fvARB((TextureUnit)target, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2fvARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord2fvARB((TextureUnit)target, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2iARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Int32 s, Int32 t)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2iARB((TextureUnit)target, (Int32)s, (Int32)t);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2ivARB")]
-            public static 
-            unsafe void MultiTexCoord2(TextureUnit target, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2ivARB((TextureUnit)target, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2ivARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord2ivARB((TextureUnit)target, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2ivARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord2ivARB((TextureUnit)target, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2sARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Int16 s, Int16 t)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2sARB((TextureUnit)target, (Int16)s, (Int16)t);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2svARB")]
-            public static 
-            unsafe void MultiTexCoord2(TextureUnit target, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2svARB((TextureUnit)target, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2svARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord2svARB((TextureUnit)target, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord2svARB")]
-            public static 
-            void MultiTexCoord2(TextureUnit target, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord2svARB((TextureUnit)target, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Double s, Double t, Double r)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3dARB((TextureUnit)target, (Double)s, (Double)t, (Double)r);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dvARB")]
-            public static 
-            unsafe void MultiTexCoord3(TextureUnit target, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3dvARB((TextureUnit)target, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dvARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord3dvARB((TextureUnit)target, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3dvARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord3dvARB((TextureUnit)target, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Single s, Single t, Single r)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3fARB((TextureUnit)target, (Single)s, (Single)t, (Single)r);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fvARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord3fvARB((TextureUnit)target, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fvARB")]
-            public static 
-            unsafe void MultiTexCoord3(TextureUnit target, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3fvARB((TextureUnit)target, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3fvARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord3fvARB((TextureUnit)target, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3iARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Int32 s, Int32 t, Int32 r)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3iARB((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3ivARB")]
-            public static 
-            unsafe void MultiTexCoord3(TextureUnit target, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3ivARB((TextureUnit)target, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3ivARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord3ivARB((TextureUnit)target, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3ivARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord3ivARB((TextureUnit)target, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3sARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Int16 s, Int16 t, Int16 r)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3sARB((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3svARB")]
-            public static 
-            unsafe void MultiTexCoord3(TextureUnit target, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3svARB((TextureUnit)target, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3svARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord3svARB((TextureUnit)target, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord3svARB")]
-            public static 
-            void MultiTexCoord3(TextureUnit target, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord3svARB((TextureUnit)target, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Double s, Double t, Double r, Double q)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4dARB((TextureUnit)target, (Double)s, (Double)t, (Double)r, (Double)q);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dvARB")]
-            public static 
-            unsafe void MultiTexCoord4(TextureUnit target, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4dvARB((TextureUnit)target, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dvARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord4dvARB((TextureUnit)target, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4dvARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord4dvARB((TextureUnit)target, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Single s, Single t, Single r, Single q)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4fARB((TextureUnit)target, (Single)s, (Single)t, (Single)r, (Single)q);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fvARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord4fvARB((TextureUnit)target, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fvARB")]
-            public static 
-            unsafe void MultiTexCoord4(TextureUnit target, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4fvARB((TextureUnit)target, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4fvARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord4fvARB((TextureUnit)target, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4iARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4iARB((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4ivARB")]
-            public static 
-            unsafe void MultiTexCoord4(TextureUnit target, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4ivARB((TextureUnit)target, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4ivARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord4ivARB((TextureUnit)target, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4ivARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord4ivARB((TextureUnit)target, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4sARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4sARB((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4svARB")]
-            public static 
-            unsafe void MultiTexCoord4(TextureUnit target, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4svARB((TextureUnit)target, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4svARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord4svARB((TextureUnit)target, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultitexture", Version = "1.2", EntryPoint = "glMultiTexCoord4svARB")]
-            public static 
-            void MultiTexCoord4(TextureUnit target, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord4svARB((TextureUnit)target, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixdARB")]
-            public static 
-            unsafe void MultTransposeMatrix(Double* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultTransposeMatrixdARB((Double*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixdARB")]
-            public static 
-            void MultTransposeMatrix(Double[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = m)
-                    {
-                        Delegates.glMultTransposeMatrixdARB((Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixdARB")]
-            public static 
-            void MultTransposeMatrix(ref Double m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = &m)
-                    {
-                        Delegates.glMultTransposeMatrixdARB((Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixfARB")]
-            public static 
-            void MultTransposeMatrix(ref Single m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = &m)
-                    {
-                        Delegates.glMultTransposeMatrixfARB((Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixfARB")]
-            public static 
-            unsafe void MultTransposeMatrix(Single* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultTransposeMatrixfARB((Single*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbTransposeMatrix", Version = "1.2", EntryPoint = "glMultTransposeMatrixfARB")]
-            public static 
-            void MultTransposeMatrix(Single[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = m)
-                    {
-                        Delegates.glMultTransposeMatrixfARB((Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbPointParameters", Version = "1.0", EntryPoint = "glPointParameterfARB")]
-            public static 
-            void PointParameter(ArbPointParameters pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterfARB((ArbPointParameters)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvARB")]
-            public static 
-            unsafe void PointParameter(ArbPointParameters pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterfvARB((ArbPointParameters)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvARB")]
-            public static 
-            void PointParameter(ArbPointParameters pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glPointParameterfvARB((ArbPointParameters)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")]
-            public static 
-            unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")]
-            public static 
-            unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4dvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")]
-            public static 
-            unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, Int32 index, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")]
-            public static 
-            unsafe void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramEnvParameter4fvARB")]
-            public static 
-            void ProgramEnvParameter4(AssemblyProgramTargetArb target, UInt32 index, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4dARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")]
-            public static 
-            unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")]
-            public static 
-            unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4dvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameter4dvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4fARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")]
-            public static 
-            unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, Int32 index, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")]
-            public static 
-            unsafe void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramLocalParameter4fvARB")]
-            public static 
-            void ProgramLocalParameter4(AssemblyProgramTargetArb target, UInt32 index, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameter4fvARB((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glProgramParameteriARB")]
-            public static 
-            void ProgramParameter(Int32 program, ArbGeometryShader4 pname, Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameteriARB((UInt32)program, (ArbGeometryShader4)pname, (Int32)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbGeometryShader4", Version = "3.0", EntryPoint = "glProgramParameteriARB")]
-            public static 
-            void ProgramParameter(UInt32 program, ArbGeometryShader4 pname, Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameteriARB((UInt32)program, (ArbGeometryShader4)pname, (Int32)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")]
-            public static 
-            void ProgramString<T3>(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] ref T3 @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")]
-            public static 
-            void ProgramString<T3>(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] T3[,,] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")]
-            public static 
-            void ProgramString<T3>(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] T3[,] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")]
-            public static 
-            void ProgramString<T3>(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, [In, Out] T3[] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glProgramStringARB")]
-            public static 
-            void ProgramString(AssemblyProgramTargetArb target, ArbVertexProgram format, Int32 len, IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramStringARB((AssemblyProgramTargetArb)target, (ArbVertexProgram)format, (Int32)len, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify multisample coverage parameters
-        /// </summary>
-        /// <param name="value">
-        /// <para>
-        /// Specify a single floating-point sample coverage value. The value is clamped to the range [0 ,1]. The initial value is 1.0.
-        /// </para>
-        /// </param>
-        /// <param name="invert">
-        /// <para>
-        /// Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbMultisample", Version = "1.2", EntryPoint = "glSampleCoverageARB")]
-            public static 
-            void SampleCoverage(Single value, bool invert)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleCoverageARB((Single)value, (bool)invert);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")]
-            public static 
-            unsafe void ShaderSource(Int32 shaderObj, Int32 count, String[] @string, Int32* length)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")]
-            public static 
-            void ShaderSource(Int32 shaderObj, Int32 count, String[] @string, ref Int32 length)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")]
-            public static 
-            unsafe void ShaderSource(UInt32 shaderObj, Int32 count, String[] @string, Int32* length)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glShaderSourceARB")]
-            public static 
-            void ShaderSource(UInt32 shaderObj, Int32 count, String[] @string, ref Int32 length)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    {
-                        Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (String[])@string, (Int32*)length_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbTextureBufferObject", Version = "3.0", EntryPoint = "glTexBufferARB")]
-            public static 
-            void TexBuffer(TextureTarget target, ArbTextureBufferObject internalformat, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexBufferARB((TextureTarget)target, (ArbTextureBufferObject)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbTextureBufferObject", Version = "3.0", EntryPoint = "glTexBufferARB")]
-            public static 
-            void TexBuffer(TextureTarget target, ArbTextureBufferObject internalformat, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexBufferARB((TextureTarget)target, (ArbTextureBufferObject)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fARB")]
-            public static 
-            void Uniform1(Int32 location, Single v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1fARB((Int32)location, (Single)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fvARB")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fvARB")]
-            public static 
-            unsafe void Uniform1(Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1fvARB")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1iARB")]
-            public static 
-            void Uniform1(Int32 location, Int32 v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1iARB((Int32)location, (Int32)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1ivARB")]
-            public static 
-            unsafe void Uniform1(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1ivARB")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform1ivARB")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fARB")]
-            public static 
-            void Uniform2(Int32 location, Single v0, Single v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2fARB((Int32)location, (Single)v0, (Single)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fvARB")]
-            public static 
-            void Uniform2(Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fvARB")]
-            public static 
-            unsafe void Uniform2(Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2fvARB")]
-            public static 
-            void Uniform2(Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2iARB")]
-            public static 
-            void Uniform2(Int32 location, Int32 v0, Int32 v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2iARB((Int32)location, (Int32)v0, (Int32)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2ivARB")]
-            public static 
-            unsafe void Uniform2(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform2ivARB")]
-            public static 
-            void Uniform2(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fARB")]
-            public static 
-            void Uniform3(Int32 location, Single v0, Single v1, Single v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fvARB")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fvARB")]
-            public static 
-            unsafe void Uniform3(Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3fvARB")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3iARB")]
-            public static 
-            void Uniform3(Int32 location, Int32 v0, Int32 v1, Int32 v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3ivARB")]
-            public static 
-            unsafe void Uniform3(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3ivARB")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform3ivARB")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fARB")]
-            public static 
-            void Uniform4(Int32 location, Single v0, Single v1, Single v2, Single v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fvARB")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fvARB")]
-            public static 
-            unsafe void Uniform4(Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4fvARB")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4iARB")]
-            public static 
-            void Uniform4(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4ivARB")]
-            public static 
-            unsafe void Uniform4(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4ivARB")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniform4ivARB")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix2fvARB")]
-            public static 
-            void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix2fvARB")]
-            public static 
-            unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix2fvARB")]
-            public static 
-            void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix3fvARB")]
-            public static 
-            void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix3fvARB")]
-            public static 
-            unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix3fvARB")]
-            public static 
-            void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix4fvARB")]
-            public static 
-            void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix4fvARB")]
-            public static 
-            unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUniformMatrix4fvARB")]
-            public static 
-            void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBufferObject", Version = "1.2", EntryPoint = "glUnmapBufferARB")]
-            public static 
-            bool UnmapBuffer(BufferTargetArb target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glUnmapBufferARB((BufferTargetArb)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUseProgramObjectARB")]
-            public static 
-            void UseProgramObject(Int32 programObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUseProgramObjectARB((UInt32)programObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glUseProgramObjectARB")]
-            public static 
-            void UseProgramObject(UInt32 programObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUseProgramObjectARB((UInt32)programObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Validates a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be validated.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glValidateProgramARB")]
-            public static 
-            void ValidateProgram(Int32 programObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glValidateProgramARB((UInt32)programObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Validates a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be validated.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbShaderObjects", Version = "1.2", EntryPoint = "glValidateProgramARB")]
-            public static 
-            void ValidateProgram(UInt32 programObj)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glValidateProgramARB((UInt32)programObj);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dARB")]
-            public static 
-            void VertexAttrib1(Int32 index, Double x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dARB")]
-            public static 
-            void VertexAttrib1(UInt32 index, Double x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dvARB")]
-            public static 
-            unsafe void VertexAttrib1(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1dvARB")]
-            public static 
-            unsafe void VertexAttrib1(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fARB")]
-            public static 
-            void VertexAttrib1(Int32 index, Single x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fARB")]
-            public static 
-            void VertexAttrib1(UInt32 index, Single x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fvARB")]
-            public static 
-            unsafe void VertexAttrib1(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1fvARB")]
-            public static 
-            unsafe void VertexAttrib1(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1sARB")]
-            public static 
-            void VertexAttrib1(Int32 index, Int16 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1sARB")]
-            public static 
-            void VertexAttrib1(UInt32 index, Int16 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1svARB")]
-            public static 
-            unsafe void VertexAttrib1(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib1svARB")]
-            public static 
-            unsafe void VertexAttrib1(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dARB")]
-            public static 
-            void VertexAttrib2(Int32 index, Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")]
-            public static 
-            unsafe void VertexAttrib2(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")]
-            public static 
-            void VertexAttrib2(Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")]
-            public static 
-            void VertexAttrib2(Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")]
-            public static 
-            unsafe void VertexAttrib2(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2dvARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fARB")]
-            public static 
-            void VertexAttrib2(Int32 index, Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")]
-            public static 
-            void VertexAttrib2(Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")]
-            public static 
-            unsafe void VertexAttrib2(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")]
-            public static 
-            void VertexAttrib2(Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")]
-            public static 
-            unsafe void VertexAttrib2(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2fvARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2sARB")]
-            public static 
-            void VertexAttrib2(Int32 index, Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2sARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")]
-            public static 
-            unsafe void VertexAttrib2(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")]
-            public static 
-            void VertexAttrib2(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")]
-            public static 
-            void VertexAttrib2(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")]
-            public static 
-            unsafe void VertexAttrib2(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib2svARB")]
-            public static 
-            void VertexAttrib2(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dARB")]
-            public static 
-            void VertexAttrib3(Int32 index, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")]
-            public static 
-            unsafe void VertexAttrib3(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")]
-            public static 
-            void VertexAttrib3(Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")]
-            public static 
-            void VertexAttrib3(Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")]
-            public static 
-            unsafe void VertexAttrib3(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3dvARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fARB")]
-            public static 
-            void VertexAttrib3(Int32 index, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")]
-            public static 
-            void VertexAttrib3(Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")]
-            public static 
-            unsafe void VertexAttrib3(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")]
-            public static 
-            void VertexAttrib3(Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")]
-            public static 
-            unsafe void VertexAttrib3(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3fvARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3sARB")]
-            public static 
-            void VertexAttrib3(Int32 index, Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3sARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")]
-            public static 
-            unsafe void VertexAttrib3(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")]
-            public static 
-            void VertexAttrib3(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")]
-            public static 
-            void VertexAttrib3(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")]
-            public static 
-            unsafe void VertexAttrib3(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib3svARB")]
-            public static 
-            void VertexAttrib3(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4bvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref SByte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4bvARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, SByte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4bvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, SByte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4dvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4fvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ivARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NbvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, ref SByte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NbvARB")]
-            public static 
-            unsafe void VertexAttrib4N(UInt32 index, SByte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NbvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, SByte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")]
-            public static 
-            unsafe void VertexAttrib4N(Int32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")]
-            public static 
-            unsafe void VertexAttrib4N(UInt32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NivARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")]
-            public static 
-            unsafe void VertexAttrib4N(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")]
-            public static 
-            unsafe void VertexAttrib4N(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NsvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, Byte x, Byte y, Byte z, Byte w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, Byte x, Byte y, Byte z, Byte w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")]
-            public static 
-            unsafe void VertexAttrib4N(Int32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")]
-            public static 
-            void VertexAttrib4N(Int32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")]
-            public static 
-            unsafe void VertexAttrib4N(UInt32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NubvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NuivARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, ref UInt32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NuivARB")]
-            public static 
-            unsafe void VertexAttrib4N(UInt32 index, UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NuivARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, UInt32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NusvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, ref UInt16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NusvARB")]
-            public static 
-            unsafe void VertexAttrib4N(UInt32 index, UInt16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4NusvARB")]
-            public static 
-            void VertexAttrib4N(UInt32 index, UInt16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4sARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4sARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4svARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")]
-            public static 
-            void VertexAttrib4(Int32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4ubvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4uivARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref UInt32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4uivARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4uivARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, UInt32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4usvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref UInt16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4usvARB")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, UInt16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttrib4usvARB")]
-            public static 
-            void VertexAttrib4(UInt32 index, UInt16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbInstancedArrays", Version = "2.0", EntryPoint = "glVertexAttribDivisorARB")]
-            public static 
-            void VertexAttribDivisor(Int32 index, Int32 divisor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribDivisorARB((UInt32)index, (UInt32)divisor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbInstancedArrays", Version = "2.0", EntryPoint = "glVertexAttribDivisorARB")]
-            public static 
-            void VertexAttribDivisor(UInt32 index, UInt32 divisor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribDivisorARB((UInt32)index, (UInt32)divisor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] ref T5 pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,] pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[] pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] ref T5 pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[,] pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, [In, Out] T5[] pointer)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexProgram", Version = "1.3", EntryPoint = "glVertexAttribPointerARB")]
-            public static 
-            void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (VertexAttribPointerTypeArb)type, (bool)normalized, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glVertexBlendARB")]
-            public static 
-            void VertexBlend(Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexBlendARB((Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightbvARB")]
-            public static 
-            void Weight(Int32 size, ref SByte weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightbvARB")]
-            public static 
-            unsafe void Weight(Int32 size, SByte* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightbvARB((Int32)size, (SByte*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightbvARB")]
-            public static 
-            void Weight(Int32 size, SByte[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* weights_ptr = weights)
-                    {
-                        Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightdvARB")]
-            public static 
-            unsafe void Weight(Int32 size, Double* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightdvARB((Int32)size, (Double*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightdvARB")]
-            public static 
-            void Weight(Int32 size, Double[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* weights_ptr = weights)
-                    {
-                        Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightdvARB")]
-            public static 
-            void Weight(Int32 size, ref Double weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightfvARB")]
-            public static 
-            void Weight(Int32 size, ref Single weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightfvARB")]
-            public static 
-            unsafe void Weight(Int32 size, Single* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightfvARB((Int32)size, (Single*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightfvARB")]
-            public static 
-            void Weight(Int32 size, Single[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* weights_ptr = weights)
-                    {
-                        Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightivARB")]
-            public static 
-            unsafe void Weight(Int32 size, Int32* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightivARB((Int32)size, (Int32*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightivARB")]
-            public static 
-            void Weight(Int32 size, Int32[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* weights_ptr = weights)
-                    {
-                        Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightivARB")]
-            public static 
-            void Weight(Int32 size, ref Int32 weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")]
-            public static 
-            void WeightPointer<T3>(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] ref T3 pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")]
-            public static 
-            void WeightPointer<T3>(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] T3[,,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")]
-            public static 
-            void WeightPointer<T3>(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] T3[,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")]
-            public static 
-            void WeightPointer<T3>(Int32 size, ArbVertexBlend type, Int32 stride, [In, Out] T3[] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightPointerARB")]
-            public static 
-            void WeightPointer(Int32 size, ArbVertexBlend type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightPointerARB((Int32)size, (ArbVertexBlend)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightsvARB")]
-            public static 
-            unsafe void Weight(Int32 size, Int16* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightsvARB((Int32)size, (Int16*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightsvARB")]
-            public static 
-            void Weight(Int32 size, Int16[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* weights_ptr = weights)
-                    {
-                        Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightsvARB")]
-            public static 
-            void Weight(Int32 size, ref Int16 weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightubvARB")]
-            public static 
-            unsafe void Weight(Int32 size, Byte* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightubvARB((Int32)size, (Byte*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightubvARB")]
-            public static 
-            void Weight(Int32 size, Byte[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* weights_ptr = weights)
-                    {
-                        Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightubvARB")]
-            public static 
-            void Weight(Int32 size, ref Byte weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightuivARB")]
-            public static 
-            void Weight(Int32 size, ref UInt32 weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightuivARB")]
-            public static 
-            unsafe void Weight(Int32 size, UInt32* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightuivARB((Int32)size, (UInt32*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightuivARB")]
-            public static 
-            void Weight(Int32 size, UInt32[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* weights_ptr = weights)
-                    {
-                        Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightusvARB")]
-            public static 
-            void Weight(Int32 size, ref UInt16 weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* weights_ptr = &weights)
-                    {
-                        Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightusvARB")]
-            public static 
-            unsafe void Weight(Int32 size, UInt16* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWeightusvARB((Int32)size, (UInt16*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbVertexBlend", Version = "1.1", EntryPoint = "glWeightusvARB")]
-            public static 
-            void Weight(Int32 size, UInt16[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* weights_ptr = weights)
-                    {
-                        Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dARB")]
-            public static 
-            void WindowPos2(Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2dARB((Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvARB")]
-            public static 
-            unsafe void WindowPos2(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2dvARB((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvARB")]
-            public static 
-            void WindowPos2(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2dvARB((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvARB")]
-            public static 
-            void WindowPos2(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2dvARB((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fARB")]
-            public static 
-            void WindowPos2(Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2fARB((Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvARB")]
-            public static 
-            void WindowPos2(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2fvARB((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvARB")]
-            public static 
-            unsafe void WindowPos2(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2fvARB((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvARB")]
-            public static 
-            void WindowPos2(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2fvARB((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2iARB")]
-            public static 
-            void WindowPos2(Int32 x, Int32 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2iARB((Int32)x, (Int32)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivARB")]
-            public static 
-            unsafe void WindowPos2(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2ivARB((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivARB")]
-            public static 
-            void WindowPos2(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2ivARB((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivARB")]
-            public static 
-            void WindowPos2(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2ivARB((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2sARB")]
-            public static 
-            void WindowPos2(Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2sARB((Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svARB")]
-            public static 
-            unsafe void WindowPos2(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2svARB((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svARB")]
-            public static 
-            void WindowPos2(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2svARB((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svARB")]
-            public static 
-            void WindowPos2(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2svARB((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dARB")]
-            public static 
-            void WindowPos3(Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3dARB((Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvARB")]
-            public static 
-            unsafe void WindowPos3(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3dvARB((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvARB")]
-            public static 
-            void WindowPos3(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3dvARB((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvARB")]
-            public static 
-            void WindowPos3(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3dvARB((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fARB")]
-            public static 
-            void WindowPos3(Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3fARB((Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvARB")]
-            public static 
-            void WindowPos3(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3fvARB((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvARB")]
-            public static 
-            unsafe void WindowPos3(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3fvARB((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvARB")]
-            public static 
-            void WindowPos3(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3fvARB((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3iARB")]
-            public static 
-            void WindowPos3(Int32 x, Int32 y, Int32 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3iARB((Int32)x, (Int32)y, (Int32)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivARB")]
-            public static 
-            unsafe void WindowPos3(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3ivARB((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivARB")]
-            public static 
-            void WindowPos3(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3ivARB((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivARB")]
-            public static 
-            void WindowPos3(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3ivARB((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3sARB")]
-            public static 
-            void WindowPos3(Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3sARB((Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svARB")]
-            public static 
-            unsafe void WindowPos3(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3svARB((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svARB")]
-            public static 
-            void WindowPos3(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3svARB((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ArbWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svARB")]
-            public static 
-            void WindowPos3(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3svARB((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Ati
-        {
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp1ATI")]
-            public static 
-            void AlphaFragmentOp1(AtiFragmentShader op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAlphaFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp1ATI")]
-            public static 
-            void AlphaFragmentOp1(AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAlphaFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp2ATI")]
-            public static 
-            void AlphaFragmentOp2(AtiFragmentShader op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAlphaFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp2ATI")]
-            public static 
-            void AlphaFragmentOp2(AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAlphaFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp3ATI")]
-            public static 
-            void AlphaFragmentOp3(AtiFragmentShader op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAlphaFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glAlphaFragmentOp3ATI")]
-            public static 
-            void AlphaFragmentOp3(AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAlphaFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glArrayObjectATI")]
-            public static 
-            void ArrayObject(EnableCap array, Int32 size, AtiVertexArrayObject type, Int32 stride, Int32 buffer, Int32 offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glArrayObjectATI((EnableCap)array, (Int32)size, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glArrayObjectATI")]
-            public static 
-            void ArrayObject(EnableCap array, Int32 size, AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glArrayObjectATI((EnableCap)array, (Int32)size, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glBeginFragmentShaderATI")]
-            public static 
-            void BeginFragmentShader()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginFragmentShaderATI();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glBindFragmentShaderATI")]
-            public static 
-            void BindFragmentShader(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindFragmentShaderATI((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glBindFragmentShaderATI")]
-            public static 
-            void BindFragmentShader(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindFragmentShaderATI((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glClientActiveVertexStreamATI")]
-            public static 
-            void ClientActiveVertexStream(AtiVertexStreams stream)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClientActiveVertexStreamATI((AtiVertexStreams)stream);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp1ATI")]
-            public static 
-            void ColorFragmentOp1(AtiFragmentShader op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp1ATI")]
-            public static 
-            void ColorFragmentOp1(AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorFragmentOp1ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp2ATI")]
-            public static 
-            void ColorFragmentOp2(AtiFragmentShader op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp2ATI")]
-            public static 
-            void ColorFragmentOp2(AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorFragmentOp2ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp3ATI")]
-            public static 
-            void ColorFragmentOp3(AtiFragmentShader op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glColorFragmentOp3ATI")]
-            public static 
-            void ColorFragmentOp3(AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorFragmentOp3ATI((AtiFragmentShader)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glDeleteFragmentShaderATI")]
-            public static 
-            void DeleteFragmentShader(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFragmentShaderATI((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glDeleteFragmentShaderATI")]
-            public static 
-            void DeleteFragmentShader(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFragmentShaderATI((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiDrawBuffers", Version = "1.2", EntryPoint = "glDrawBuffersATI")]
-            public static 
-            unsafe void DrawBuffers(Int32 n, AtiDrawBuffers* bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawBuffersATI((Int32)n, (AtiDrawBuffers*)bufs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "AtiDrawBuffers", Version = "1.2", EntryPoint = "glDrawBuffersATI")]
-            public static 
-            void DrawBuffers(Int32 n, AtiDrawBuffers[] bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (AtiDrawBuffers* bufs_ptr = bufs)
-                    {
-                        Delegates.glDrawBuffersATI((Int32)n, (AtiDrawBuffers*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "AtiDrawBuffers", Version = "1.2", EntryPoint = "glDrawBuffersATI")]
-            public static 
-            void DrawBuffers(Int32 n, ref AtiDrawBuffers bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (AtiDrawBuffers* bufs_ptr = &bufs)
-                    {
-                        Delegates.glDrawBuffersATI((Int32)n, (AtiDrawBuffers*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glDrawElementArrayATI")]
-            public static 
-            void DrawElementArray(BeginMode mode, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawElementArrayATI((BeginMode)mode, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayATI")]
-            public static 
-            void DrawRangeElementArray(BeginMode mode, Int32 start, Int32 end, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawRangeElementArrayATI((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glDrawRangeElementArrayATI")]
-            public static 
-            void DrawRangeElementArray(BeginMode mode, UInt32 start, UInt32 end, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawRangeElementArrayATI((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")]
-            public static 
-            void ElementPointer<T1>(AtiElementArray type, [In, Out] ref T1 pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")]
-            public static 
-            void ElementPointer<T1>(AtiElementArray type, [In, Out] T1[,,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")]
-            public static 
-            void ElementPointer<T1>(AtiElementArray type, [In, Out] T1[,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")]
-            public static 
-            void ElementPointer<T1>(AtiElementArray type, [In, Out] T1[] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiElementArray", Version = "1.2", EntryPoint = "glElementPointerATI")]
-            public static 
-            void ElementPointer(AtiElementArray type, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glElementPointerATI((AtiElementArray)type, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glEndFragmentShaderATI")]
-            public static 
-            void EndFragmentShader()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndFragmentShaderATI();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glFreeObjectBufferATI")]
-            public static 
-            void FreeObjectBuffer(Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFreeObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glFreeObjectBufferATI")]
-            public static 
-            void FreeObjectBuffer(UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFreeObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glGenFragmentShadersATI")]
-            public static 
-            Int32 GenFragmentShaders(Int32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenFragmentShadersATI((UInt32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glGenFragmentShadersATI")]
-            public static 
-            Int32 GenFragmentShaders(UInt32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenFragmentShadersATI((UInt32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectfvATI")]
-            public static 
-            void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetArrayObjectfvATI((EnableCap)array, (AtiVertexArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectfvATI")]
-            public static 
-            unsafe void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetArrayObjectfvATI((EnableCap)array, (AtiVertexArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectivATI")]
-            public static 
-            unsafe void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetArrayObjectivATI((EnableCap)array, (AtiVertexArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetArrayObjectivATI")]
-            public static 
-            void GetArrayObject(EnableCap array, AtiVertexArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetArrayObjectivATI((EnableCap)array, (AtiVertexArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")]
-            public static 
-            void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")]
-            public static 
-            unsafe void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")]
-            public static 
-            void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferfvATI")]
-            public static 
-            unsafe void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectBufferfvATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")]
-            public static 
-            unsafe void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")]
-            public static 
-            void GetObjectBuffer(Int32 buffer, AtiVertexArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")]
-            public static 
-            unsafe void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetObjectBufferivATI")]
-            public static 
-            void GetObjectBuffer(UInt32 buffer, AtiVertexArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetObjectBufferivATI((UInt32)buffer, (AtiVertexArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterfvATI")]
-            public static 
-            void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] out Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* param_ptr = &param)
-                    {
-                        Delegates.glGetTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr);
-                        param = *param_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterfvATI")]
-            public static 
-            unsafe void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Single* param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterfvATI")]
-            public static 
-            void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Single[] param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* param_ptr = param)
-                    {
-                        Delegates.glGetTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterivATI")]
-            public static 
-            unsafe void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Int32* param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterivATI")]
-            public static 
-            void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] Int32[] param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* param_ptr = param)
-                    {
-                        Delegates.glGetTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glGetTexBumpParameterivATI")]
-            public static 
-            void GetTexBumpParameter(AtiEnvmapBumpmap pname, [Out] out Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* param_ptr = &param)
-                    {
-                        Delegates.glGetTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr);
-                        param = *param_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")]
-            public static 
-            void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")]
-            public static 
-            unsafe void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")]
-            public static 
-            void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectfvATI")]
-            public static 
-            unsafe void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (AtiVertexArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")]
-            public static 
-            unsafe void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")]
-            public static 
-            void GetVariantArrayObject(Int32 id, AtiVertexArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")]
-            public static 
-            unsafe void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glGetVariantArrayObjectivATI")]
-            public static 
-            void GetVariantArrayObject(UInt32 id, AtiVertexArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVariantArrayObjectivATI((UInt32)id, (AtiVertexArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")]
-            public static 
-            void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")]
-            public static 
-            unsafe void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")]
-            public static 
-            void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")]
-            public static 
-            void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")]
-            public static 
-            unsafe void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectfvATI")]
-            public static 
-            void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")]
-            public static 
-            unsafe void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")]
-            public static 
-            void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")]
-            public static 
-            void GetVertexAttribArrayObject(Int32 index, AtiVertexAttribArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")]
-            public static 
-            unsafe void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")]
-            public static 
-            void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glGetVertexAttribArrayObjectivATI")]
-            public static 
-            void GetVertexAttribArrayObject(UInt32 index, AtiVertexAttribArrayObject pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (AtiVertexAttribArrayObject)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glIsObjectBufferATI")]
-            public static 
-            bool IsObjectBuffer(Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glIsObjectBufferATI")]
-            public static 
-            bool IsObjectBuffer(UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glMapObjectBufferATI")]
-            public static 
-            unsafe IntPtr MapObjectBuffer(Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glMapObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glMapObjectBufferATI")]
-            public static 
-            unsafe IntPtr MapObjectBuffer(UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glMapObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")]
-            public static 
-            Int32 NewObjectBuffer<T1>(Int32 size, [In, Out] ref T1 pointer, AtiVertexArrayObject usage)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")]
-            public static 
-            Int32 NewObjectBuffer<T1>(Int32 size, [In, Out] T1[,,] pointer, AtiVertexArrayObject usage)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")]
-            public static 
-            Int32 NewObjectBuffer<T1>(Int32 size, [In, Out] T1[,] pointer, AtiVertexArrayObject usage)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")]
-            public static 
-            Int32 NewObjectBuffer<T1>(Int32 size, [In, Out] T1[] pointer, AtiVertexArrayObject usage)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)usage);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glNewObjectBufferATI")]
-            public static 
-            Int32 NewObjectBuffer(Int32 size, IntPtr pointer, AtiVertexArrayObject usage)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer, (AtiVertexArrayObject)usage);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Byte nx, Byte ny, Byte nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3bATI((AtiVertexStreams)stream, (SByte)nx, (SByte)ny, (SByte)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, SByte nx, SByte ny, SByte nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3bATI((AtiVertexStreams)stream, (SByte)nx, (SByte)ny, (SByte)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")]
-            public static 
-            unsafe void NormalStream3(AtiVertexStreams stream, Byte* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Byte[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* coords_ptr = coords)
-                    {
-                        Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, ref Byte coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* coords_ptr = &coords)
-                    {
-                        Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, ref SByte coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* coords_ptr = &coords)
-                    {
-                        Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")]
-            public static 
-            unsafe void NormalStream3(AtiVertexStreams stream, SByte* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3bvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, SByte[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* coords_ptr = coords)
-                    {
-                        Delegates.glNormalStream3bvATI((AtiVertexStreams)stream, (SByte*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Double nx, Double ny, Double nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3dATI((AtiVertexStreams)stream, (Double)nx, (Double)ny, (Double)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dvATI")]
-            public static 
-            unsafe void NormalStream3(AtiVertexStreams stream, Double* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3dvATI((AtiVertexStreams)stream, (Double*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Double[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = coords)
-                    {
-                        Delegates.glNormalStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3dvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, ref Double coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = &coords)
-                    {
-                        Delegates.glNormalStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Single nx, Single ny, Single nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3fATI((AtiVertexStreams)stream, (Single)nx, (Single)ny, (Single)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, ref Single coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = &coords)
-                    {
-                        Delegates.glNormalStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fvATI")]
-            public static 
-            unsafe void NormalStream3(AtiVertexStreams stream, Single* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3fvATI((AtiVertexStreams)stream, (Single*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3fvATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Single[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = coords)
-                    {
-                        Delegates.glNormalStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3iATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Int32 nx, Int32 ny, Int32 nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3iATI((AtiVertexStreams)stream, (Int32)nx, (Int32)ny, (Int32)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3ivATI")]
-            public static 
-            unsafe void NormalStream3(AtiVertexStreams stream, Int32* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3ivATI((AtiVertexStreams)stream, (Int32*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3ivATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Int32[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = coords)
-                    {
-                        Delegates.glNormalStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3ivATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, ref Int32 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = &coords)
-                    {
-                        Delegates.glNormalStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3sATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Int16 nx, Int16 ny, Int16 nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3sATI((AtiVertexStreams)stream, (Int16)nx, (Int16)ny, (Int16)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3svATI")]
-            public static 
-            unsafe void NormalStream3(AtiVertexStreams stream, Int16* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalStream3svATI((AtiVertexStreams)stream, (Int16*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3svATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, Int16[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = coords)
-                    {
-                        Delegates.glNormalStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glNormalStream3svATI")]
-            public static 
-            void NormalStream3(AtiVertexStreams stream, ref Int16 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = &coords)
-                    {
-                        Delegates.glNormalStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glPassTexCoordATI")]
-            public static 
-            void PassTexCoor(Int32 dst, Int32 coord, AtiFragmentShader swizzle)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (AtiFragmentShader)swizzle);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glPassTexCoordATI")]
-            public static 
-            void PassTexCoor(UInt32 dst, UInt32 coord, AtiFragmentShader swizzle)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (AtiFragmentShader)swizzle);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiPnTriangles", Version = "1.2", EntryPoint = "glPNTrianglesfATI")]
-            public static 
-            void PNTriangles(AtiPnTriangles pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPNTrianglesfATI((AtiPnTriangles)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiPnTriangles", Version = "1.2", EntryPoint = "glPNTrianglesiATI")]
-            public static 
-            void PNTriangles(AtiPnTriangles pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPNTrianglesiATI((AtiPnTriangles)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSampleMapATI")]
-            public static 
-            void SampleMap(Int32 dst, Int32 interp, AtiFragmentShader swizzle)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (AtiFragmentShader)swizzle);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSampleMapATI")]
-            public static 
-            void SampleMap(UInt32 dst, UInt32 interp, AtiFragmentShader swizzle)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (AtiFragmentShader)swizzle);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")]
-            public static 
-            void SetFragmentShaderConstant(Int32 dst, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")]
-            public static 
-            unsafe void SetFragmentShaderConstant(Int32 dst, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")]
-            public static 
-            void SetFragmentShaderConstant(Int32 dst, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")]
-            public static 
-            void SetFragmentShaderConstant(UInt32 dst, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")]
-            public static 
-            unsafe void SetFragmentShaderConstant(UInt32 dst, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiFragmentShader", Version = "1.2", EntryPoint = "glSetFragmentShaderConstantATI")]
-            public static 
-            void SetFragmentShaderConstant(UInt32 dst, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set front and/or back function and reference value for stencil testing
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "AtiSeparateStencil", Version = "1.2", EntryPoint = "glStencilFuncSeparateATI")]
-            public static 
-            void StencilFuncSeparate(StencilFunction frontfunc, StencilFunction backfunc, Int32 @ref, Int32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStencilFuncSeparateATI((StencilFunction)frontfunc, (StencilFunction)backfunc, (Int32)@ref, (UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set front and/or back function and reference value for stencil testing
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiSeparateStencil", Version = "1.2", EntryPoint = "glStencilFuncSeparateATI")]
-            public static 
-            void StencilFuncSeparate(StencilFunction frontfunc, StencilFunction backfunc, Int32 @ref, UInt32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStencilFuncSeparateATI((StencilFunction)frontfunc, (StencilFunction)backfunc, (Int32)@ref, (UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set front and/or back stencil test actions
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="sfail">
-        /// <para>
-        /// Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        /// <param name="dpfail">
-        /// <para>
-        /// Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        /// <param name="dppass">
-        /// <para>
-        /// 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. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "AtiSeparateStencil", Version = "1.2", EntryPoint = "glStencilOpSeparateATI")]
-            public static 
-            void StencilOpSeparate(AtiSeparateStencil face, StencilOp sfail, StencilOp dpfail, StencilOp dppass)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStencilOpSeparateATI((AtiSeparateStencil)face, (StencilOp)sfail, (StencilOp)dpfail, (StencilOp)dppass);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterfvATI")]
-            public static 
-            void TexBumpParameter(AtiEnvmapBumpmap pname, ref Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* param_ptr = &param)
-                    {
-                        Delegates.glTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterfvATI")]
-            public static 
-            unsafe void TexBumpParameter(AtiEnvmapBumpmap pname, Single* param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterfvATI")]
-            public static 
-            void TexBumpParameter(AtiEnvmapBumpmap pname, Single[] param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* param_ptr = param)
-                    {
-                        Delegates.glTexBumpParameterfvATI((AtiEnvmapBumpmap)pname, (Single*)param_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterivATI")]
-            public static 
-            unsafe void TexBumpParameter(AtiEnvmapBumpmap pname, Int32* param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterivATI")]
-            public static 
-            void TexBumpParameter(AtiEnvmapBumpmap pname, Int32[] param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* param_ptr = param)
-                    {
-                        Delegates.glTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiEnvmapBumpmap", Version = "1.2", EntryPoint = "glTexBumpParameterivATI")]
-            public static 
-            void TexBumpParameter(AtiEnvmapBumpmap pname, ref Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* param_ptr = &param)
-                    {
-                        Delegates.glTexBumpParameterivATI((AtiEnvmapBumpmap)pname, (Int32*)param_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glUnmapObjectBufferATI")]
-            public static 
-            void UnmapObjectBuffer(Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUnmapObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiMapObjectBuffer", Version = "1.2", EntryPoint = "glUnmapObjectBufferATI")]
-            public static 
-            void UnmapObjectBuffer(UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUnmapObjectBufferATI((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(Int32 buffer, Int32 offset, Int32 size, [In, Out] ref T3 pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(Int32 buffer, Int32 offset, Int32 size, [In, Out] T3[,,] pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(Int32 buffer, Int32 offset, Int32 size, [In, Out] T3[,] pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(Int32 buffer, Int32 offset, Int32 size, [In, Out] T3[] pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer(Int32 buffer, Int32 offset, Int32 size, IntPtr pointer, AtiVertexArrayObject preserve)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (AtiVertexArrayObject)preserve);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] ref T3 pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] T3[,,] pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] T3[,] pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer<T3>(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] T3[] pointer, AtiVertexArrayObject preserve)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (AtiVertexArrayObject)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glUpdateObjectBufferATI")]
-            public static 
-            void UpdateObjectBuffer(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, AtiVertexArrayObject preserve)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (AtiVertexArrayObject)preserve);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glVariantArrayObjectATI")]
-            public static 
-            void VariantArrayObject(Int32 id, AtiVertexArrayObject type, Int32 stride, Int32 buffer, Int32 offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantArrayObjectATI((UInt32)id, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexArrayObject", Version = "1.2", EntryPoint = "glVariantArrayObjectATI")]
-            public static 
-            void VariantArrayObject(UInt32 id, AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantArrayObjectATI((UInt32)id, (AtiVertexArrayObject)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glVertexAttribArrayObjectATI")]
-            public static 
-            void VertexAttribArrayObject(Int32 index, Int32 size, AtiVertexAttribArrayObject type, bool normalized, Int32 stride, Int32 buffer, Int32 offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (AtiVertexAttribArrayObject)type, (bool)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexAttribArrayObject", Version = "1.2", EntryPoint = "glVertexAttribArrayObjectATI")]
-            public static 
-            void VertexAttribArrayObject(UInt32 index, Int32 size, AtiVertexAttribArrayObject type, bool normalized, Int32 stride, UInt32 buffer, UInt32 offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (AtiVertexAttribArrayObject)type, (bool)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexBlendEnvfATI")]
-            public static 
-            void VertexBlendEnv(AtiVertexStreams pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexBlendEnvfATI((AtiVertexStreams)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexBlendEnviATI")]
-            public static 
-            void VertexBlendEnv(AtiVertexStreams pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexBlendEnviATI((AtiVertexStreams)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1dATI")]
-            public static 
-            void VertexStream1(AtiVertexStreams stream, Double x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1dATI((AtiVertexStreams)stream, (Double)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1dvATI")]
-            public static 
-            unsafe void VertexStream1(AtiVertexStreams stream, Double* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1dvATI((AtiVertexStreams)stream, (Double*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1fATI")]
-            public static 
-            void VertexStream1(AtiVertexStreams stream, Single x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1fATI((AtiVertexStreams)stream, (Single)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1fvATI")]
-            public static 
-            unsafe void VertexStream1(AtiVertexStreams stream, Single* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1fvATI((AtiVertexStreams)stream, (Single*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1iATI")]
-            public static 
-            void VertexStream1(AtiVertexStreams stream, Int32 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1iATI((AtiVertexStreams)stream, (Int32)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1ivATI")]
-            public static 
-            unsafe void VertexStream1(AtiVertexStreams stream, Int32* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1ivATI((AtiVertexStreams)stream, (Int32*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1sATI")]
-            public static 
-            void VertexStream1(AtiVertexStreams stream, Int16 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1sATI((AtiVertexStreams)stream, (Int16)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream1svATI")]
-            public static 
-            unsafe void VertexStream1(AtiVertexStreams stream, Int16* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream1svATI((AtiVertexStreams)stream, (Int16*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2dATI((AtiVertexStreams)stream, (Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dvATI")]
-            public static 
-            unsafe void VertexStream2(AtiVertexStreams stream, Double* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2dvATI((AtiVertexStreams)stream, (Double*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dvATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Double[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream2dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2dvATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, ref Double coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream2dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2fATI((AtiVertexStreams)stream, (Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fvATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, ref Single coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream2fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fvATI")]
-            public static 
-            unsafe void VertexStream2(AtiVertexStreams stream, Single* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2fvATI((AtiVertexStreams)stream, (Single*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2fvATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Single[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream2fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2iATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Int32 x, Int32 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2iATI((AtiVertexStreams)stream, (Int32)x, (Int32)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2ivATI")]
-            public static 
-            unsafe void VertexStream2(AtiVertexStreams stream, Int32* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2ivATI((AtiVertexStreams)stream, (Int32*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2ivATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Int32[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream2ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2ivATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, ref Int32 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream2ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2sATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2sATI((AtiVertexStreams)stream, (Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2svATI")]
-            public static 
-            unsafe void VertexStream2(AtiVertexStreams stream, Int16* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream2svATI((AtiVertexStreams)stream, (Int16*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2svATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, Int16[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream2svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream2svATI")]
-            public static 
-            void VertexStream2(AtiVertexStreams stream, ref Int16 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream2svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3dATI((AtiVertexStreams)stream, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dvATI")]
-            public static 
-            unsafe void VertexStream3(AtiVertexStreams stream, Double* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3dvATI((AtiVertexStreams)stream, (Double*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dvATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Double[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3dvATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, ref Double coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream3dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3fATI((AtiVertexStreams)stream, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fvATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, ref Single coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fvATI")]
-            public static 
-            unsafe void VertexStream3(AtiVertexStreams stream, Single* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3fvATI((AtiVertexStreams)stream, (Single*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3fvATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Single[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream3fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3iATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Int32 x, Int32 y, Int32 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3iATI((AtiVertexStreams)stream, (Int32)x, (Int32)y, (Int32)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3ivATI")]
-            public static 
-            unsafe void VertexStream3(AtiVertexStreams stream, Int32* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3ivATI((AtiVertexStreams)stream, (Int32*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3ivATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Int32[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3ivATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, ref Int32 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream3ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3sATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3sATI((AtiVertexStreams)stream, (Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3svATI")]
-            public static 
-            unsafe void VertexStream3(AtiVertexStreams stream, Int16* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream3svATI((AtiVertexStreams)stream, (Int16*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3svATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, Int16[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream3svATI")]
-            public static 
-            void VertexStream3(AtiVertexStreams stream, ref Int16 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream3svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4dATI((AtiVertexStreams)stream, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dvATI")]
-            public static 
-            unsafe void VertexStream4(AtiVertexStreams stream, Double* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4dvATI((AtiVertexStreams)stream, (Double*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dvATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Double[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream4dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4dvATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, ref Double coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream4dvATI((AtiVertexStreams)stream, (Double*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4fATI((AtiVertexStreams)stream, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fvATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, ref Single coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream4fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fvATI")]
-            public static 
-            unsafe void VertexStream4(AtiVertexStreams stream, Single* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4fvATI((AtiVertexStreams)stream, (Single*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4fvATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Single[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream4fvATI((AtiVertexStreams)stream, (Single*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4iATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4iATI((AtiVertexStreams)stream, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4ivATI")]
-            public static 
-            unsafe void VertexStream4(AtiVertexStreams stream, Int32* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4ivATI((AtiVertexStreams)stream, (Int32*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4ivATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Int32[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream4ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4ivATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, ref Int32 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream4ivATI((AtiVertexStreams)stream, (Int32*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4sATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Int16 x, Int16 y, Int16 z, Int16 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4sATI((AtiVertexStreams)stream, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4svATI")]
-            public static 
-            unsafe void VertexStream4(AtiVertexStreams stream, Int16* coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexStream4svATI((AtiVertexStreams)stream, (Int16*)coords);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4svATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, Int16[] coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = coords)
-                    {
-                        Delegates.glVertexStream4svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "AtiVertexStreams", Version = "1.2", EntryPoint = "glVertexStream4svATI")]
-            public static 
-            void VertexStream4(AtiVertexStreams stream, ref Int16 coords)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* coords_ptr = &coords)
-                    {
-                        Delegates.glVertexStream4svATI((AtiVertexStreams)stream, (Int16*)coords_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        
-        /// <summary>
-        /// Operate on the accumulation buffer
-        /// </summary>
-        /// <param name="op">
-        /// <para>
-        /// Specifies the accumulation buffer operation. Symbolic constants GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT, and GL_RETURN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="value">
-        /// <para>
-        /// Specifies a floating-point value used in the accumulation buffer operation. op determines how value is used.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glAccum")]
-        public static 
-        void Accum(AccumOp op, Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glAccum((AccumOp)op, (Single)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Select active texture unit
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the larger of (GL_MAX_TEXTURE_COORDS - 1) and (GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1). The initial value is GL_TEXTURE0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glActiveTexture")]
-        public static 
-        void ActiveTexture(TextureUnit texture)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glActiveTexture((TextureUnit)texture);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the alpha test function
-        /// </summary>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the alpha comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value that incoming alpha values are compared to. This value is clamped to the range [0,1], where 0 represents the lowest possible alpha value and 1 the highest possible value. The initial reference value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glAlphaFunc")]
-        public static 
-        void AlphaFunc(AlphaFunction func, Single @ref)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glAlphaFunc((AlphaFunction)func, (Single)@ref);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")]
-        public static 
-        unsafe bool AreTexturesResident(Int32 n, Int32* textures, [Out] bool* residences)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (bool*)residences);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")]
-        public static 
-        bool AreTexturesResident(Int32 n, Int32[] textures, [Out] bool[] residences)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (bool* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")]
-        public static 
-        bool AreTexturesResident(Int32 n, ref Int32 textures, [Out] out bool residences)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (bool* residences_ptr = &residences)
-                {
-                    bool retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")]
-        public static 
-        bool AreTexturesResident(Int32 n, ref UInt32 textures, [Out] out bool residences)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (bool* residences_ptr = &residences)
-                {
-                    bool retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")]
-        public static 
-        unsafe bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (bool*)residences);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glAreTexturesResident")]
-        public static 
-        bool AreTexturesResident(Int32 n, UInt32[] textures, [Out] bool[] residences)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (bool* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render a vertex using the specified vertex array element
-        /// </summary>
-        /// <param name="i">
-        /// <para>
-        /// Specifies an index into the enabled vertex data arrays.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glArrayElement")]
-        public static 
-        void ArrayElement(Int32 i)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glArrayElement((Int32)i);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Attaches a shader object to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to which a shader object will be attached.
-        /// </para>
-        /// </param>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object that is to be attached.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glAttachShader")]
-        public static 
-        void AttachShader(Int32 program, Int32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glAttachShader((UInt32)program, (UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Attaches a shader object to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to which a shader object will be attached.
-        /// </para>
-        /// </param>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object that is to be attached.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glAttachShader")]
-        public static 
-        void AttachShader(UInt32 program, UInt32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glAttachShader((UInt32)program, (UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delimit the vertices of a primitive or a group of like primitives
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies the primitive or primitives that will be created from vertices presented between glBegin and the subsequent glEnd. Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBegin")]
-        public static 
-        void Begin(BeginMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            GraphicsContext.CurrentContext.ErrorChecking = false;
-            #endif
-            Delegates.glBegin((BeginMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBeginConditionalRender")]
-        public static 
-        void BeginConditionalRender(Int32 id, ConditionalRenderType mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBeginConditionalRender((UInt32)id, (ConditionalRenderType)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBeginConditionalRender")]
-        public static 
-        void BeginConditionalRender(UInt32 id, ConditionalRenderType mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBeginConditionalRender((UInt32)id, (ConditionalRenderType)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delimit the boundaries of a query object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBeginQuery")]
-        public static 
-        void BeginQuery(QueryTarget target, Int32 id)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBeginQuery((QueryTarget)target, (UInt32)id);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delimit the boundaries of a query object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target type of query object established between glBeginQuery and the subsequent glEndQuery. The symbolic constant must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBeginQuery")]
-        public static 
-        void BeginQuery(QueryTarget target, UInt32 id)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBeginQuery((QueryTarget)target, (UInt32)id);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBeginTransformFeedback")]
-        public static 
-        void BeginTransformFeedback(BeginFeedbackMode primitiveMode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBeginTransformFeedback((BeginFeedbackMode)primitiveMode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Associates a generic vertex attribute index with a named attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object in which the association is to be made.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be bound.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glBindAttribLocation")]
-        public static 
-        void BindAttribLocation(Int32 program, Int32 index, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Associates a generic vertex attribute index with a named attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object in which the association is to be made.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be bound.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a null terminated string containing the name of the vertex shader attribute variable to which index is to be bound.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glBindAttribLocation")]
-        public static 
-        void BindAttribLocation(UInt32 program, UInt32 index, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Bind a named buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies the name of a buffer object.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBindBuffer")]
-        public static 
-        void BindBuffer(BufferTarget target, Int32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindBuffer((BufferTarget)target, (UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Bind a named buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the buffer object is bound. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies the name of a buffer object.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBindBuffer")]
-        public static 
-        void BindBuffer(BufferTarget target, UInt32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindBuffer((BufferTarget)target, (UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferBase")]
-        public static 
-        void BindBufferBase(BufferTarget target, Int32 index, Int32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindBufferBase((BufferTarget)target, (UInt32)index, (UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferBase")]
-        public static 
-        void BindBufferBase(BufferTarget target, UInt32 index, UInt32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindBufferBase((BufferTarget)target, (UInt32)index, (UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferRange")]
-        public static 
-        void BindBufferRange(BufferTarget target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindBufferRange((BufferTarget)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindBufferRange")]
-        public static 
-        void BindBufferRange(BufferTarget target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindBufferRange((BufferTarget)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindFragDataLocation")]
-        public static 
-        void BindFragDataLocation(Int32 program, Int32 color, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindFragDataLocation((UInt32)program, (UInt32)color, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glBindFragDataLocation")]
-        public static 
-        void BindFragDataLocation(UInt32 program, UInt32 color, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindFragDataLocation((UInt32)program, (UInt32)color, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindFramebuffer")]
-        public static 
-        void BindFramebuffer(FramebufferTarget target, Int32 framebuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindFramebuffer((FramebufferTarget)target, (UInt32)framebuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindFramebuffer")]
-        public static 
-        void BindFramebuffer(FramebufferTarget target, UInt32 framebuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindFramebuffer((FramebufferTarget)target, (UInt32)framebuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindRenderbuffer")]
-        public static 
-        void BindRenderbuffer(RenderbufferTarget target, Int32 renderbuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindRenderbuffer((RenderbufferTarget)target, (UInt32)renderbuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBindRenderbuffer")]
-        public static 
-        void BindRenderbuffer(RenderbufferTarget target, UInt32 renderbuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindRenderbuffer((RenderbufferTarget)target, (UInt32)renderbuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Bind a named texture to a texturing target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies the name of a texture.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glBindTexture")]
-        public static 
-        void BindTexture(TextureTarget target, Int32 texture)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindTexture((TextureTarget)target, (UInt32)texture);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Bind a named texture to a texturing target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies the name of a texture.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glBindTexture")]
-        public static 
-        void BindTexture(TextureTarget target, UInt32 texture)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindTexture((TextureTarget)target, (UInt32)texture);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glBindVertexArray")]
-        public static 
-        void BindVertexArray(Int32 array)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindVertexArray((UInt32)array);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glBindVertexArray")]
-        public static 
-        void BindVertexArray(UInt32 array)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBindVertexArray((UInt32)array);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a bitmap
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the pixel width and height of the bitmap image.
-        /// </para>
-        /// </param>
-        /// <param name="xorig">
-        /// <para>
-        /// Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes.
-        /// </para>
-        /// </param>
-        /// <param name="xmove">
-        /// <para>
-        /// Specify the x and y offsets to be added to the current raster position after the bitmap is drawn.
-        /// </para>
-        /// </param>
-        /// <param name="bitmap">
-        /// <para>
-        /// Specifies the address of the bitmap image.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBitmap")]
-        public static 
-        unsafe void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a bitmap
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the pixel width and height of the bitmap image.
-        /// </para>
-        /// </param>
-        /// <param name="xorig">
-        /// <para>
-        /// Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes.
-        /// </para>
-        /// </param>
-        /// <param name="xmove">
-        /// <para>
-        /// Specify the x and y offsets to be added to the current raster position after the bitmap is drawn.
-        /// </para>
-        /// </param>
-        /// <param name="bitmap">
-        /// <para>
-        /// Specifies the address of the bitmap image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBitmap")]
-        public static 
-        void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte[] bitmap)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* bitmap_ptr = bitmap)
-                {
-                    Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a bitmap
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the pixel width and height of the bitmap image.
-        /// </para>
-        /// </param>
-        /// <param name="xorig">
-        /// <para>
-        /// Specify the location of the origin in the bitmap image. The origin is measured from the lower left corner of the bitmap, with right and up being the positive axes.
-        /// </para>
-        /// </param>
-        /// <param name="xmove">
-        /// <para>
-        /// Specify the x and y offsets to be added to the current raster position after the bitmap is drawn.
-        /// </para>
-        /// </param>
-        /// <param name="bitmap">
-        /// <para>
-        /// Specifies the address of the bitmap image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glBitmap")]
-        public static 
-        void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, ref Byte bitmap)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* bitmap_ptr = &bitmap)
-                {
-                    Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the blend color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// specify the components of GL_BLEND_COLOR
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glBlendColor")]
-        public static 
-        void BlendColor(Single red, Single green, Single blue, Single alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendColor((Single)red, (Single)green, (Single)blue, (Single)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the equation used for both the RGB blend equation and the Alpha blend equation
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glBlendEquation")]
-        public static 
-        void BlendEquation(BlendEquationMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendEquation((BlendEquationMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the equation used for both the RGB blend equation and the Alpha blend equation
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationi")]
-        public static 
-        void BlendEquation(Int32 buf, ArbDrawBuffersBlend mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendEquationi((UInt32)buf, (ArbDrawBuffersBlend)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the equation used for both the RGB blend equation and the Alpha blend equation
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationi")]
-        public static 
-        void BlendEquation(UInt32 buf, ArbDrawBuffersBlend mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendEquationi((UInt32)buf, (ArbDrawBuffersBlend)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the RGB blend equation and the alpha blend equation separately
-        /// </summary>
-        /// <param name="modeRGB">
-        /// <para>
-        /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        /// <param name="modeAlpha">
-        /// <para>
-        /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glBlendEquationSeparate")]
-        public static 
-        void BlendEquationSeparate(BlendEquationMode modeRGB, BlendEquationMode modeAlpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendEquationSeparate((BlendEquationMode)modeRGB, (BlendEquationMode)modeAlpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the RGB blend equation and the alpha blend equation separately
-        /// </summary>
-        /// <param name="modeRGB">
-        /// <para>
-        /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        /// <param name="modeAlpha">
-        /// <para>
-        /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationSeparatei")]
-        public static 
-        void BlendEquationSeparate(Int32 buf, BlendEquationMode modeRGB, BlendEquationMode modeAlpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendEquationSeparatei((UInt32)buf, (BlendEquationMode)modeRGB, (BlendEquationMode)modeAlpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the RGB blend equation and the alpha blend equation separately
-        /// </summary>
-        /// <param name="modeRGB">
-        /// <para>
-        /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        /// <param name="modeAlpha">
-        /// <para>
-        /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendEquationSeparatei")]
-        public static 
-        void BlendEquationSeparate(UInt32 buf, BlendEquationMode modeRGB, BlendEquationMode modeAlpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendEquationSeparatei((UInt32)buf, (BlendEquationMode)modeRGB, (BlendEquationMode)modeAlpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify pixel arithmetic
-        /// </summary>
-        /// <param name="sfactor">
-        /// <para>
-        /// Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dfactor">
-        /// <para>
-        /// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glBlendFunc")]
-        public static 
-        void BlendFunc(BlendingFactorSrc sfactor, BlendingFactorDest dfactor)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendFunc((BlendingFactorSrc)sfactor, (BlendingFactorDest)dfactor);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify pixel arithmetic
-        /// </summary>
-        /// <param name="sfactor">
-        /// <para>
-        /// Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dfactor">
-        /// <para>
-        /// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFunci")]
-        public static 
-        void BlendFunc(Int32 buf, ArbDrawBuffersBlend src, ArbDrawBuffersBlend dst)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendFunci((UInt32)buf, (ArbDrawBuffersBlend)src, (ArbDrawBuffersBlend)dst);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify pixel arithmetic
-        /// </summary>
-        /// <param name="sfactor">
-        /// <para>
-        /// Specifies how the red, green, blue, and alpha source blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dfactor">
-        /// <para>
-        /// Specifies how the red, green, blue, and alpha destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFunci")]
-        public static 
-        void BlendFunc(UInt32 buf, ArbDrawBuffersBlend src, ArbDrawBuffersBlend dst)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendFunci((UInt32)buf, (ArbDrawBuffersBlend)src, (ArbDrawBuffersBlend)dst);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify pixel arithmetic for RGB and alpha components separately
-        /// </summary>
-        /// <param name="srcRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        /// <param name="srcAlpha">
-        /// <para>
-        /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstAlpha">
-        /// <para>
-        /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glBlendFuncSeparate")]
-        public static 
-        void BlendFuncSeparate(BlendingFactorSrc sfactorRGB, BlendingFactorDest dfactorRGB, BlendingFactorSrc sfactorAlpha, BlendingFactorDest dfactorAlpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendFuncSeparate((BlendingFactorSrc)sfactorRGB, (BlendingFactorDest)dfactorRGB, (BlendingFactorSrc)sfactorAlpha, (BlendingFactorDest)dfactorAlpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify pixel arithmetic for RGB and alpha components separately
-        /// </summary>
-        /// <param name="srcRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        /// <param name="srcAlpha">
-        /// <para>
-        /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstAlpha">
-        /// <para>
-        /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFuncSeparatei")]
-        public static 
-        void BlendFuncSeparate(Int32 buf, ArbDrawBuffersBlend srcRGB, ArbDrawBuffersBlend dstRGB, ArbDrawBuffersBlend srcAlpha, ArbDrawBuffersBlend dstAlpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendFuncSeparatei((UInt32)buf, (ArbDrawBuffersBlend)srcRGB, (ArbDrawBuffersBlend)dstRGB, (ArbDrawBuffersBlend)srcAlpha, (ArbDrawBuffersBlend)dstAlpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify pixel arithmetic for RGB and alpha components separately
-        /// </summary>
-        /// <param name="srcRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        /// <param name="srcAlpha">
-        /// <para>
-        /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstAlpha">
-        /// <para>
-        /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawBuffersBlend", Version = "1.2", EntryPoint = "glBlendFuncSeparatei")]
-        public static 
-        void BlendFuncSeparate(UInt32 buf, ArbDrawBuffersBlend srcRGB, ArbDrawBuffersBlend dstRGB, ArbDrawBuffersBlend srcAlpha, ArbDrawBuffersBlend dstAlpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlendFuncSeparatei((UInt32)buf, (ArbDrawBuffersBlend)srcRGB, (ArbDrawBuffersBlend)dstRGB, (ArbDrawBuffersBlend)srcAlpha, (ArbDrawBuffersBlend)dstAlpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glBlitFramebuffer")]
-        public static 
-        void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, BlitFramebufferFilter filter)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBlitFramebuffer((Int32)srcX0, (Int32)srcY0, (Int32)srcX1, (Int32)srcY1, (Int32)dstX0, (Int32)dstY0, (Int32)dstX1, (Int32)dstY1, (ClearBufferMask)mask, (BlitFramebufferFilter)filter);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")]
-        public static 
-        void BufferData<T2>(BufferTarget target, IntPtr size, [In, Out] ref T2 data, BufferUsageHint usage)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage);
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")]
-        public static 
-        void BufferData<T2>(BufferTarget target, IntPtr size, [In, Out] T2[,,] data, BufferUsageHint usage)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage);
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")]
-        public static 
-        void BufferData<T2>(BufferTarget target, IntPtr size, [In, Out] T2[,] data, BufferUsageHint usage)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage);
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")]
-        public static 
-        void BufferData<T2>(BufferTarget target, IntPtr size, [In, Out] T2[] data, BufferUsageHint usage)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (BufferUsageHint)usage);
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates and initializes a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the buffer object's new data store.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to data that will be copied into the data store for initialization, or NULL if no data is to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="usage">
-        /// <para>
-        /// Specifies the expected usage pattern of the data store. The symbolic constant must be GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferData")]
-        public static 
-        void BufferData(BufferTarget target, IntPtr size, IntPtr data, BufferUsageHint usage)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBufferData((BufferTarget)target, (IntPtr)size, (IntPtr)data, (BufferUsageHint)usage);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")]
-        public static 
-        void BufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")]
-        public static 
-        void BufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")]
-        public static 
-        void BufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")]
-        public static 
-        void BufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Updates a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store where data replacement will begin, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being replaced.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the new data that will be copied into the data store.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glBufferSubData")]
-        public static 
-        void BufferSubData(BufferTarget target, IntPtr offset, IntPtr size, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a display list
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies the integer name of the display list to be executed.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallList")]
-        public static 
-        void CallList(Int32 list)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCallList((UInt32)list);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a display list
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies the integer name of the display list to be executed.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallList")]
-        public static 
-        void CallList(UInt32 list)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCallList((UInt32)list);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a list of display lists
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of display lists to be executed.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lists">
-        /// <para>
-        /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")]
-        public static 
-        void CallLists<T2>(Int32 n, ListNameType type, [In, Out] ref T2 lists)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                lists_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a list of display lists
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of display lists to be executed.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lists">
-        /// <para>
-        /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")]
-        public static 
-        void CallLists<T2>(Int32 n, ListNameType type, [In, Out] T2[,,] lists)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                lists_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a list of display lists
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of display lists to be executed.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lists">
-        /// <para>
-        /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")]
-        public static 
-        void CallLists<T2>(Int32 n, ListNameType type, [In, Out] T2[,] lists)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                lists_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a list of display lists
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of display lists to be executed.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lists">
-        /// <para>
-        /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")]
-        public static 
-        void CallLists<T2>(Int32 n, ListNameType type, [In, Out] T2[] lists)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle lists_ptr = GCHandle.Alloc(lists, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                lists_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Execute a list of display lists
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of display lists to be executed.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of values in lists. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, and GL_4_BYTES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lists">
-        /// <para>
-        /// Specifies the address of an array of name offsets in the display list. The pointer type is void because the offsets can be bytes, shorts, ints, or floats, depending on the value of type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCallLists")]
-        public static 
-        void CallLists(Int32 n, ListNameType type, IntPtr lists)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCallLists((Int32)n, (ListNameType)type, (IntPtr)lists);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glCheckFramebufferStatus")]
-        public static 
-        FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glCheckFramebufferStatus((FramebufferTarget)target);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClampColor")]
-        public static 
-        void ClampColor(ClampColorTarget target, ClampColorMode clamp)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClampColor((ClampColorTarget)target, (ClampColorMode)clamp);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Clear buffers to preset values
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Bitwise OR of masks that indicate the buffers to be cleared. The four masks are GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClear")]
-        public static 
-        void Clear(ClearBufferMask mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClear((ClearBufferMask)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify clear values for the accumulation buffer
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify the red, green, blue, and alpha values used when the accumulation buffer is cleared. The initial values are all 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClearAccum")]
-        public static 
-        void ClearAccum(Single red, Single green, Single blue, Single alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearAccum((Single)red, (Single)green, (Single)blue, (Single)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfi")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Single depth, Int32 stencil)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearBufferfi((ClearBuffer)buffer, (Int32)drawbuffer, (Single)depth, (Int32)stencil);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfv")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glClearBufferfv((ClearBuffer)buffer, (Int32)drawbuffer, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfv")]
-        public static 
-        unsafe void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearBufferfv((ClearBuffer)buffer, (Int32)drawbuffer, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferfv")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glClearBufferfv((ClearBuffer)buffer, (Int32)drawbuffer, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferiv")]
-        public static 
-        unsafe void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Int32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearBufferiv((ClearBuffer)buffer, (Int32)drawbuffer, (Int32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferiv")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, Int32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glClearBufferiv((ClearBuffer)buffer, (Int32)drawbuffer, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferiv")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, ref Int32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glClearBufferiv((ClearBuffer)buffer, (Int32)drawbuffer, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferuiv")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, ref UInt32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glClearBufferuiv((ClearBuffer)buffer, (Int32)drawbuffer, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferuiv")]
-        public static 
-        unsafe void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, UInt32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearBufferuiv((ClearBuffer)buffer, (Int32)drawbuffer, (UInt32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glClearBufferuiv")]
-        public static 
-        void ClearBuffer(ClearBuffer buffer, Int32 drawbuffer, UInt32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glClearBufferuiv((ClearBuffer)buffer, (Int32)drawbuffer, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify clear values for the color buffers
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify the red, green, blue, and alpha values used when the color buffers are cleared. The initial values are all 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClearColor")]
-        public static 
-        void ClearColor(Single red, Single green, Single blue, Single alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearColor((Single)red, (Single)green, (Single)blue, (Single)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the clear value for the depth buffer
-        /// </summary>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth value used when the depth buffer is cleared. The initial value is 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClearDepth")]
-        public static 
-        void ClearDepth(Double depth)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearDepth((Double)depth);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the clear value for the color index buffers
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the index used when the color index buffers are cleared. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClearIndex")]
-        public static 
-        void ClearIndex(Single c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearIndex((Single)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the clear value for the stencil buffer
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specifies the index used when the stencil buffer is cleared. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glClearStencil")]
-        public static 
-        void ClearStencil(Int32 s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClearStencil((Int32)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Select active texture unit
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies which texture unit to make active. The number of texture units is implementation dependent, but must be at least two. texture must be one of GL_TEXTURE, where i ranges from 0 to the value of GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value. The initial value is GL_TEXTURE0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glClientActiveTexture")]
-        public static 
-        void ClientActiveTexture(TextureUnit texture)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClientActiveTexture((TextureUnit)texture);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glClientWaitSync")]
-        public static 
-        ArbSync ClientWaitSync(IntPtr sync, Int32 flags, Int64 timeout)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glClientWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glClientWaitSync")]
-        public static 
-        ArbSync ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glClientWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a plane against which all geometry is clipped
-        /// </summary>
-        /// <param name="plane">
-        /// <para>
-        /// Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="equation">
-        /// <para>
-        /// Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClipPlane")]
-        public static 
-        unsafe void ClipPlane(ClipPlaneName plane, Double* equation)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glClipPlane((ClipPlaneName)plane, (Double*)equation);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a plane against which all geometry is clipped
-        /// </summary>
-        /// <param name="plane">
-        /// <para>
-        /// Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="equation">
-        /// <para>
-        /// Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClipPlane")]
-        public static 
-        void ClipPlane(ClipPlaneName plane, Double[] equation)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* equation_ptr = equation)
-                {
-                    Delegates.glClipPlane((ClipPlaneName)plane, (Double*)equation_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a plane against which all geometry is clipped
-        /// </summary>
-        /// <param name="plane">
-        /// <para>
-        /// Specifies which clipping plane is being positioned. Symbolic names of the form GL_CLIP_PLANEi, where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="equation">
-        /// <para>
-        /// Specifies the address of an array of four double-precision floating-point values. These values are interpreted as a plane equation.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glClipPlane")]
-        public static 
-        void ClipPlane(ClipPlaneName plane, ref Double equation)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* equation_ptr = &equation)
-                {
-                    Delegates.glClipPlane((ClipPlaneName)plane, (Double*)equation_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3b")]
-        public static 
-        void Color3(SByte red, SByte green, SByte blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3b((SByte)red, (SByte)green, (SByte)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3bv")]
-        public static 
-        void Color3(ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glColor3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3bv")]
-        public static 
-        unsafe void Color3(SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3bv((SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3bv")]
-        public static 
-        void Color3(SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glColor3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3d")]
-        public static 
-        void Color3(Double red, Double green, Double blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3d((Double)red, (Double)green, (Double)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3dv")]
-        public static 
-        unsafe void Color3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3dv")]
-        public static 
-        void Color3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glColor3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3dv")]
-        public static 
-        void Color3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glColor3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3f")]
-        public static 
-        void Color3(Single red, Single green, Single blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3f((Single)red, (Single)green, (Single)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3fv")]
-        public static 
-        void Color3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3fv")]
-        public static 
-        unsafe void Color3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3fv")]
-        public static 
-        void Color3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3i")]
-        public static 
-        void Color3(Int32 red, Int32 green, Int32 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3i((Int32)red, (Int32)green, (Int32)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3iv")]
-        public static 
-        unsafe void Color3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3iv")]
-        public static 
-        void Color3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glColor3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3iv")]
-        public static 
-        void Color3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glColor3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3s")]
-        public static 
-        void Color3(Int16 red, Int16 green, Int16 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3s((Int16)red, (Int16)green, (Int16)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3sv")]
-        public static 
-        unsafe void Color3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3sv")]
-        public static 
-        void Color3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3sv")]
-        public static 
-        void Color3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ub")]
-        public static 
-        void Color3(Byte red, Byte green, Byte blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3ub((Byte)red, (Byte)green, (Byte)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ubv")]
-        public static 
-        unsafe void Color3(Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3ubv((Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ubv")]
-        public static 
-        void Color3(Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glColor3ubv((Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ubv")]
-        public static 
-        void Color3(ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glColor3ubv((Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3ui")]
-        public static 
-        void Color3(UInt32 red, UInt32 green, UInt32 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3ui((UInt32)red, (UInt32)green, (UInt32)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3uiv")]
-        public static 
-        void Color3(ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glColor3uiv((UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3uiv")]
-        public static 
-        unsafe void Color3(UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3uiv((UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3uiv")]
-        public static 
-        void Color3(UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glColor3uiv((UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3us")]
-        public static 
-        void Color3(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3us((UInt16)red, (UInt16)green, (UInt16)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3usv")]
-        public static 
-        void Color3(ref UInt16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glColor3usv((UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3usv")]
-        public static 
-        unsafe void Color3(UInt16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor3usv((UInt16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor3usv")]
-        public static 
-        void Color3(UInt16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glColor3usv((UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4b")]
-        public static 
-        void Color4(SByte red, SByte green, SByte blue, SByte alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4b((SByte)red, (SByte)green, (SByte)blue, (SByte)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4bv")]
-        public static 
-        void Color4(ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glColor4bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4bv")]
-        public static 
-        unsafe void Color4(SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4bv((SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4bv")]
-        public static 
-        void Color4(SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glColor4bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4d")]
-        public static 
-        void Color4(Double red, Double green, Double blue, Double alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4d((Double)red, (Double)green, (Double)blue, (Double)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4dv")]
-        public static 
-        unsafe void Color4(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4dv")]
-        public static 
-        void Color4(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glColor4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4dv")]
-        public static 
-        void Color4(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glColor4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4f")]
-        public static 
-        void Color4(Single red, Single green, Single blue, Single alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4f((Single)red, (Single)green, (Single)blue, (Single)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4fv")]
-        public static 
-        void Color4(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4fv")]
-        public static 
-        unsafe void Color4(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4fv")]
-        public static 
-        void Color4(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4i")]
-        public static 
-        void Color4(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4i((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4iv")]
-        public static 
-        unsafe void Color4(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4iv")]
-        public static 
-        void Color4(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glColor4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4iv")]
-        public static 
-        void Color4(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glColor4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4s")]
-        public static 
-        void Color4(Int16 red, Int16 green, Int16 blue, Int16 alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4s((Int16)red, (Int16)green, (Int16)blue, (Int16)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4sv")]
-        public static 
-        unsafe void Color4(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4sv")]
-        public static 
-        void Color4(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4sv")]
-        public static 
-        void Color4(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ub")]
-        public static 
-        void Color4(Byte red, Byte green, Byte blue, Byte alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4ub((Byte)red, (Byte)green, (Byte)blue, (Byte)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ubv")]
-        public static 
-        unsafe void Color4(Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4ubv((Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ubv")]
-        public static 
-        void Color4(Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glColor4ubv((Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ubv")]
-        public static 
-        void Color4(ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glColor4ubv((Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4ui")]
-        public static 
-        void Color4(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4ui((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4uiv")]
-        public static 
-        void Color4(ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glColor4uiv((UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4uiv")]
-        public static 
-        unsafe void Color4(UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4uiv((UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4uiv")]
-        public static 
-        void Color4(UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glColor4uiv((UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4us")]
-        public static 
-        void Color4(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4us((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4usv")]
-        public static 
-        void Color4(ref UInt16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glColor4usv((UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4usv")]
-        public static 
-        unsafe void Color4(UInt16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColor4usv((UInt16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current color.
-        /// </para>
-        /// </param>
-        /// <param name="alpha">
-        /// <para>
-        /// Specifies a new alpha value for the current color. Included only in the four-argument glColor4 commands.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColor4usv")]
-        public static 
-        void Color4(UInt16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glColor4usv((UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable and disable writing of frame buffer color components
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glColorMask")]
-        public static 
-        void ColorMask(bool red, bool green, bool blue, bool alpha)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorMask((bool)red, (bool)green, (bool)blue, (bool)alpha);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable and disable writing of frame buffer color components
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glColorMaski")]
-        public static 
-        void ColorMask(Int32 index, bool r, bool g, bool b, bool a)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorMaski((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable and disable writing of frame buffer color components
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify whether red, green, blue, and alpha can or cannot be written into the frame buffer. The initial values are all GL_TRUE, indicating that the color components can be written.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glColorMaski")]
-        public static 
-        void ColorMask(UInt32 index, bool r, bool g, bool b, bool a)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorMaski((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Cause a material color to track the current color
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front, back, or both front and back material parameters should track the current color. Accepted values are GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK. The initial value is GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies which of several material parameters track the current color. Accepted values are GL_EMISSION, GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, and GL_AMBIENT_AND_DIFFUSE. The initial value is GL_AMBIENT_AND_DIFFUSE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glColorMaterial")]
-        public static 
-        void ColorMaterial(MaterialFace face, ColorMaterialParameter mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorMaterial((MaterialFace)face, (ColorMaterialParameter)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")]
-        public static 
-        void ColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")]
-        public static 
-        void ColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")]
-        public static 
-        void ColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")]
-        public static 
-        void ColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glColorPointer")]
-        public static 
-        void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")]
-        public static 
-        void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] ref T5 data)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")]
-        public static 
-        void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,,] data)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")]
-        public static 
-        void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,] data)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")]
-        public static 
-        void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[] data)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorSubTable")]
-        public static 
-        void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")]
-        public static 
-        void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 table)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")]
-        public static 
-        void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] table)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")]
-        public static 
-        void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] table)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")]
-        public static 
-        void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] table)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTable")]
-        public static 
-        void ColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr table)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameterfv")]
-        public static 
-        void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, ref Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glColorTableParameterfv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameterfv")]
-        public static 
-        unsafe void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorTableParameterfv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameterfv")]
-        public static 
-        void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glColorTableParameterfv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameteriv")]
-        public static 
-        unsafe void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glColorTableParameteriv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameteriv")]
-        public static 
-        void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glColorTableParameteriv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glColorTableParameteriv")]
-        public static 
-        void ColorTableParameter(ColorTableTarget target, ColorTableParameterPName pname, ref Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glColorTableParameteriv((ColorTableTarget)target, (ColorTableParameterPName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Compiles a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be compiled.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCompileShader")]
-        public static 
-        void CompileShader(Int32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompileShader((UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Compiles a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be compiled.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCompileShader")]
-        public static 
-        void CompileShader(UInt32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompileShader((UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")]
-        public static 
-        void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T6 data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")]
-        public static 
-        void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,,] data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")]
-        public static 
-        void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[,] data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")]
-        public static 
-        void CompressedTexImage1D<T6>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T6[] data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage1D")]
-        public static 
-        void CompressedTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompressedTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")]
-        public static 
-        void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T7 data)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")]
-        public static 
-        void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,,] data)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")]
-        public static 
-        void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[,] data)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")]
-        public static 
-        void CompressedTexImage2D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T7[] data)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels wide and cube-mapped texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be Must be 2 sup n + 2 ( border ) for some integer . All implementations support 2D texture images that are at least 64 texels high and cube-mapped texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage2D")]
-        public static 
-        void CompressedTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompressedTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")]
-        public static 
-        void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T8 data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")]
-        public static 
-        void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,,] data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")]
-        public static 
-        void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[,] data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")]
-        public static 
-        void CompressedTexImage3D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T8[] data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexImage3D")]
-        public static 
-        void CompressedTexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompressedTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")]
-        public static 
-        void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T6 data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")]
-        public static 
-        void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,,] data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")]
-        public static 
-        void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[,] data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")]
-        public static 
-        void CompressedTexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T6[] data)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage1D")]
-        public static 
-        void CompressedTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompressedTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")]
-        public static 
-        void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T8 data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")]
-        public static 
-        void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,,] data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")]
-        public static 
-        void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[,] data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")]
-        public static 
-        void CompressedTexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T8[] data)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage2D")]
-        public static 
-        void CompressedTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompressedTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")]
-        public static 
-        void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T10 data)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")]
-        public static 
-        void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,,] data)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")]
-        public static 
-        void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[,] data)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")]
-        public static 
-        void CompressedTexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T10[] data)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage in a compressed format
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the compressed image data stored at address data.
-        /// </para>
-        /// </param>
-        /// <param name="imageSize">
-        /// <para>
-        /// Specifies the number of unsigned bytes of image data starting at the address specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the compressed image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glCompressedTexSubImage3D")]
-        public static 
-        void CompressedTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCompressedTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")]
-        public static 
-        void ConvolutionFilter1D<T5>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 image)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")]
-        public static 
-        void ConvolutionFilter1D<T5>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] image)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")]
-        public static 
-        void ConvolutionFilter1D<T5>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] image)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")]
-        public static 
-        void ConvolutionFilter1D<T5>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] image)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter1D")]
-        public static 
-        void ConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr image)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")]
-        public static 
-        void ConvolutionFilter2D<T6>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 image)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")]
-        public static 
-        void ConvolutionFilter2D<T6>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] image)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")]
-        public static 
-        void ConvolutionFilter2D<T6>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] image)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")]
-        public static 
-        void ConvolutionFilter2D<T6>(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] image)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionFilter2D")]
-        public static 
-        void ConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr image)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameterf")]
-        public static 
-        void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glConvolutionParameterf((ConvolutionTarget)target, (ConvolutionParameter)pname, (Single)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameterfv")]
-        public static 
-        unsafe void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glConvolutionParameterfv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameterfv")]
-        public static 
-        void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glConvolutionParameterfv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameteri")]
-        public static 
-        void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glConvolutionParameteri((ConvolutionTarget)target, (ConvolutionParameter)pname, (Int32)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameteriv")]
-        public static 
-        unsafe void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glConvolutionParameteriv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glConvolutionParameteriv")]
-        public static 
-        void ConvolutionParameter(ConvolutionTarget target, ConvolutionParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glConvolutionParameteriv((ConvolutionTarget)target, (ConvolutionParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbCopyBuffer", Version = "3.0", EntryPoint = "glCopyBufferSubData")]
-        public static 
-        void CopyBufferSubData(BufferTarget readTarget, BufferTarget writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyBufferSubData((BufferTarget)readTarget, (BufferTarget)writeTarget, (IntPtr)readOffset, (IntPtr)writeOffset, (IntPtr)size);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The window coordinates of the left corner of the row of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyColorSubTable")]
-        public static 
-        void CopyColorSubTable(ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyColorSubTable((ColorTableTarget)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy pixels into a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table.
-        /// </para>
-        /// </param>
-        /// <param name="y">
-        /// <para>
-        /// The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyColorTable")]
-        public static 
-        void CopyColorTable(ColorTableTarget target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyColorTable((ColorTableTarget)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy pixels into a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The window space coordinates of the lower-left coordinate of the pixel array to copy.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array to copy.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyConvolutionFilter1D")]
-        public static 
-        void CopyConvolutionFilter1D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyConvolutionFilter1D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy pixels into a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The window space coordinates of the lower-left coordinate of the pixel array to copy.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array to copy.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array to copy.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glCopyConvolutionFilter2D")]
-        public static 
-        void CopyConvolutionFilter2D(ConvolutionTarget target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyConvolutionFilter2D((ConvolutionTarget)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy pixels in the frame buffer
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the rectangular region of pixels to be copied. Both must be nonnegative.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies whether color values, depth values, or stencil values are to be copied. Symbolic constants GL_COLOR, GL_DEPTH, and GL_STENCIL are accepted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glCopyPixels")]
-        public static 
-        void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelCopyType type)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelCopyType)type);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy pixels into a 1D texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the left corner of the row of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . The height of the texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexImage1D")]
-        public static 
-        void CopyTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy pixels into a 2D texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer .
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image. Must be 0 or 2 sup m + 2 ( border ) for some integer .
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexImage2D")]
-        public static 
-        void CopyTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies the texel offset within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the left corner of the row of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexSubImage1D")]
-        public static 
-        void CopyTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glCopyTexSubImage2D")]
-        public static 
-        void CopyTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Copy a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glCopyTexSubImage3D")]
-        public static 
-        void CopyTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCopyTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates a program object
-        /// </summary>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCreateProgram")]
-        public static 
-        Int32 CreateProgram()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glCreateProgram();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Creates a shader object
-        /// </summary>
-        /// <param name="shaderType">
-        /// <para>
-        /// Specifies the type of shader to be created. Must be either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glCreateShader")]
-        public static 
-        Int32 CreateShader(ShaderType type)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glCreateShader((ShaderType)type);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify whether front- or back-facing facets can be culled
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies whether front- or back-facing facets are candidates for culling. Symbolic constants GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK are accepted. The initial value is GL_BACK.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glCullFace")]
-        public static 
-        void CullFace(CullFaceMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glCullFace((CullFaceMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")]
-        public static 
-        unsafe void DeleteBuffers(Int32 n, Int32* buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")]
-        public static 
-        void DeleteBuffers(Int32 n, Int32[] buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")]
-        public static 
-        void DeleteBuffers(Int32 n, ref Int32 buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = &buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")]
-        public static 
-        void DeleteBuffers(Int32 n, ref UInt32 buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = &buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")]
-        public static 
-        unsafe void DeleteBuffers(Int32 n, UInt32* buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named buffer objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array of buffer objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteBuffers")]
-        public static 
-        void DeleteBuffers(Int32 n, UInt32[] buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
-        public static 
-        unsafe void DeleteFramebuffers(Int32 n, Int32* framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
-        public static 
-        void DeleteFramebuffers(Int32 n, Int32[] framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
-        public static 
-        void DeleteFramebuffers(Int32 n, ref Int32 framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
-        public static 
-        void DeleteFramebuffers(Int32 n, ref UInt32 framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
-        public static 
-        unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteFramebuffers")]
-        public static 
-        void DeleteFramebuffers(Int32 n, UInt32[] framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glDeleteFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete a contiguous group of display lists
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies the integer name of the first display list to delete.
-        /// </para>
-        /// </param>
-        /// <param name="range">
-        /// <para>
-        /// Specifies the number of display lists to delete.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDeleteLists")]
-        public static 
-        void DeleteLists(Int32 list, Int32 range)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteLists((UInt32)list, (Int32)range);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete a contiguous group of display lists
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies the integer name of the first display list to delete.
-        /// </para>
-        /// </param>
-        /// <param name="range">
-        /// <para>
-        /// Specifies the number of display lists to delete.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDeleteLists")]
-        public static 
-        void DeleteLists(UInt32 list, Int32 range)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteLists((UInt32)list, (Int32)range);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteProgram")]
-        public static 
-        void DeleteProgram(Int32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteProgram")]
-        public static 
-        void DeleteProgram(UInt32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")]
-        public static 
-        unsafe void DeleteQueries(Int32 n, Int32* ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteQueries((Int32)n, (UInt32*)ids);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")]
-        public static 
-        void DeleteQueries(Int32 n, Int32[] ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")]
-        public static 
-        void DeleteQueries(Int32 n, ref Int32 ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")]
-        public static 
-        void DeleteQueries(Int32 n, ref UInt32 ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")]
-        public static 
-        unsafe void DeleteQueries(Int32 n, UInt32* ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteQueries((Int32)n, (UInt32*)ids);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named query objects
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query objects to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array of query objects to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glDeleteQueries")]
-        public static 
-        void DeleteQueries(Int32 n, UInt32[] ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")]
-        public static 
-        unsafe void DeleteRenderbuffers(Int32 n, Int32* renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")]
-        public static 
-        void DeleteRenderbuffers(Int32 n, Int32[] renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")]
-        public static 
-        void DeleteRenderbuffers(Int32 n, ref Int32 renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")]
-        public static 
-        void DeleteRenderbuffers(Int32 n, ref UInt32 renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")]
-        public static 
-        unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glDeleteRenderbuffers")]
-        public static 
-        void DeleteRenderbuffers(Int32 n, UInt32[] renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Deletes a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteShader")]
-        public static 
-        void DeleteShader(Int32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteShader((UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Deletes a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDeleteShader")]
-        public static 
-        void DeleteShader(UInt32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteShader((UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glDeleteSync")]
-        public static 
-        void DeleteSync(IntPtr sync)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteSync((IntPtr)sync);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")]
-        public static 
-        unsafe void DeleteTextures(Int32 n, Int32* textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteTextures((Int32)n, (UInt32*)textures);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")]
-        public static 
-        void DeleteTextures(Int32 n, Int32[] textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")]
-        public static 
-        void DeleteTextures(Int32 n, ref Int32 textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")]
-        public static 
-        void DeleteTextures(Int32 n, ref UInt32 textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")]
-        public static 
-        unsafe void DeleteTextures(Int32 n, UInt32* textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteTextures((Int32)n, (UInt32*)textures);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDeleteTextures")]
-        public static 
-        void DeleteTextures(Int32 n, UInt32[] textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")]
-        public static 
-        unsafe void DeleteVertexArrays(Int32 n, Int32* arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")]
-        public static 
-        void DeleteVertexArrays(Int32 n, Int32[] arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = arrays)
-                {
-                    Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")]
-        public static 
-        void DeleteVertexArrays(Int32 n, ref Int32 arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = &arrays)
-                {
-                    Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")]
-        public static 
-        void DeleteVertexArrays(Int32 n, ref UInt32 arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = &arrays)
-                {
-                    Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")]
-        public static 
-        unsafe void DeleteVertexArrays(Int32 n, UInt32* arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glDeleteVertexArrays")]
-        public static 
-        void DeleteVertexArrays(Int32 n, UInt32[] arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = arrays)
-                {
-                    Delegates.glDeleteVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value used for depth buffer comparisons
-        /// </summary>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the depth comparison function. Symbolic constants GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, and GL_ALWAYS are accepted. The initial value is GL_LESS.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDepthFunc")]
-        public static 
-        void DepthFunc(DepthFunction func)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDepthFunc((DepthFunction)func);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable writing into the depth buffer
-        /// </summary>
-        /// <param name="flag">
-        /// <para>
-        /// Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDepthMask")]
-        public static 
-        void DepthMask(bool flag)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDepthMask((bool)flag);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify mapping of depth values from normalized device coordinates to window coordinates
-        /// </summary>
-        /// <param name="nearVal">
-        /// <para>
-        /// Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="farVal">
-        /// <para>
-        /// Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDepthRange")]
-        public static 
-        void DepthRange(Double near, Double far)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDepthRange((Double)near, (Double)far);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Detaches a shader object from a program object to which it is attached
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object from which to detach the shader object.
-        /// </para>
-        /// </param>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be detached.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDetachShader")]
-        public static 
-        void DetachShader(Int32 program, Int32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDetachShader((UInt32)program, (UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Detaches a shader object from a program object to which it is attached
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object from which to detach the shader object.
-        /// </para>
-        /// </param>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be detached.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDetachShader")]
-        public static 
-        void DetachShader(UInt32 program, UInt32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDetachShader((UInt32)program, (UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDisable")]
-        public static 
-        void Disable(EnableCap cap)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDisable((EnableCap)cap);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glDisableClientState")]
-        public static 
-        void DisableClientState(EnableCap array)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDisableClientState((EnableCap)array);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glDisablei")]
-        public static 
-        void Disable(IndexedEnableCap target, Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDisablei((IndexedEnableCap)target, (UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glDisablei")]
-        public static 
-        void Disable(IndexedEnableCap target, UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDisablei((IndexedEnableCap)target, (UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDisableVertexAttribArray")]
-        public static 
-        void DisableVertexAttribArray(Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDisableVertexAttribArray((UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDisableVertexAttribArray")]
-        public static 
-        void DisableVertexAttribArray(UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDisableVertexAttribArray((UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Specifies the starting index in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawArrays")]
-        public static 
-        void DrawArrays(BeginMode mode, Int32 first, Int32 count)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawArrays((BeginMode)mode, (Int32)first, (Int32)count);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawArraysInstanced")]
-        public static 
-        void DrawArraysInstanced(BeginMode mode, Int32 first, Int32 count, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawArraysInstanced((BeginMode)mode, (Int32)first, (Int32)count, (Int32)primcount);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify which color buffers are to be drawn into
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies up to four color buffers to be drawn into. Symbolic constants GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, GL_FRONT_AND_BACK, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1, are accepted. (GL_AUX_BUFFERS is not the upper limit; use glGet to query the number of available aux buffers.) The initial value is GL_FRONT for single-buffered contexts, and GL_BACK for double-buffered contexts.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glDrawBuffer")]
-        public static 
-        void DrawBuffer(DrawBufferMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawBuffer((DrawBufferMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDrawBuffers")]
-        public static 
-        unsafe void DrawBuffers(Int32 n, DrawBuffersEnum* bufs)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawBuffers((Int32)n, (DrawBuffersEnum*)bufs);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDrawBuffers")]
-        public static 
-        void DrawBuffers(Int32 n, DrawBuffersEnum[] bufs)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (DrawBuffersEnum* bufs_ptr = bufs)
-                {
-                    Delegates.glDrawBuffers((Int32)n, (DrawBuffersEnum*)bufs_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies a list of color buffers to be drawn into
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffers in bufs.
-        /// </para>
-        /// </param>
-        /// <param name="bufs">
-        /// <para>
-        /// Points to an array of symbolic constants specifying the buffers into which fragment colors or data values will be written.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glDrawBuffers")]
-        public static 
-        void DrawBuffers(Int32 n, ref DrawBuffersEnum bufs)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (DrawBuffersEnum* bufs_ptr = &bufs)
-                {
-                    Delegates.glDrawBuffers((Int32)n, (DrawBuffersEnum*)bufs_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")]
-        public static 
-        void DrawElements<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")]
-        public static 
-        void DrawElements<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")]
-        public static 
-        void DrawElements<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")]
-        public static 
-        void DrawElements<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glDrawElements")]
-        public static 
-        void DrawElements(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawElements((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")]
-        public static 
-        void DrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")]
-        public static 
-        void DrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")]
-        public static 
-        void DrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")]
-        public static 
-        void DrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsBaseVertex")]
-        public static 
-        void DrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)basevertex);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")]
-        public static 
-        void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")]
-        public static 
-        void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")]
-        public static 
-        void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")]
-        public static 
-        void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glDrawElementsInstanced")]
-        public static 
-        void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawElementsInstanced((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")]
-        public static 
-        void DrawElementsInstancedBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")]
-        public static 
-        void DrawElementsInstancedBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")]
-        public static 
-        void DrawElementsInstancedBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")]
-        public static 
-        void DrawElementsInstancedBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawElementsInstancedBaseVertex")]
-        public static 
-        void DrawElementsInstancedBaseVertex(ArbDrawElementsBaseVertex mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawElementsInstancedBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)basevertex);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Write a block of pixels to the frame buffer
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle to be written into the frame buffer.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")]
-        public static 
-        void DrawPixels<T4>(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T4 pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Write a block of pixels to the frame buffer
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle to be written into the frame buffer.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")]
-        public static 
-        void DrawPixels<T4>(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T4[,,] pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Write a block of pixels to the frame buffer
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle to be written into the frame buffer.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")]
-        public static 
-        void DrawPixels<T4>(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T4[,] pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Write a block of pixels to the frame buffer
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle to be written into the frame buffer.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")]
-        public static 
-        void DrawPixels<T4>(Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T4[] pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Write a block of pixels to the frame buffer
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle to be written into the frame buffer.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. Symbolic constants GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type for data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glDrawPixels")]
-        public static 
-        void DrawPixels(Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawPixels((Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, IntPtr indices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glDrawRangeElements")]
-        public static 
-        void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, IntPtr indices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawRangeElements((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, IntPtr indices, Int32 basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)basevertex);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex<T5>(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices, Int32 basevertex)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glDrawRangeElementsBaseVertex")]
-        public static 
-        void DrawRangeElementsBaseVertex(ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, IntPtr indices, Int32 basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glDrawRangeElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)basevertex);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Flag edges as either boundary or nonboundary
-        /// </summary>
-        /// <param name="flag">
-        /// <para>
-        /// Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEdgeFlag")]
-        public static 
-        void EdgeFlag(bool flag)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEdgeFlag((bool)flag);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")]
-        public static 
-        void EdgeFlagPointer<T1>(Int32 stride, [In, Out] ref T1 pointer)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")]
-        public static 
-        void EdgeFlagPointer<T1>(Int32 stride, [In, Out] T1[,,] pointer)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")]
-        public static 
-        void EdgeFlagPointer<T1>(Int32 stride, [In, Out] T1[,] pointer)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")]
-        public static 
-        void EdgeFlagPointer<T1>(Int32 stride, [In, Out] T1[] pointer)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEdgeFlagPointer")]
-        public static 
-        void EdgeFlagPointer(Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Flag edges as either boundary or nonboundary
-        /// </summary>
-        /// <param name="flag">
-        /// <para>
-        /// Specifies the current edge flag value, either GL_TRUE or GL_FALSE. The initial value is GL_TRUE.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEdgeFlagv")]
-        public static 
-        unsafe void EdgeFlag(bool* flag)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEdgeFlagv((bool*)flag);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable server-side GL capabilities
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies a symbolic constant indicating a GL capability.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glEnable")]
-        public static 
-        void Enable(EnableCap cap)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnable((EnableCap)cap);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable client-side capability
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies the capability to enable. Symbolic constants GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_FOG_COORD_ARRAY, GL_INDEX_ARRAY, GL_NORMAL_ARRAY, GL_SECONDARY_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY, and GL_VERTEX_ARRAY are accepted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glEnableClientState")]
-        public static 
-        void EnableClientState(EnableCap array)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnableClientState((EnableCap)array);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable server-side GL capabilities
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies a symbolic constant indicating a GL capability.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEnablei")]
-        public static 
-        void Enable(IndexedEnableCap target, Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnablei((IndexedEnableCap)target, (UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable server-side GL capabilities
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies a symbolic constant indicating a GL capability.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEnablei")]
-        public static 
-        void Enable(IndexedEnableCap target, UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnablei((IndexedEnableCap)target, (UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable a generic vertex attribute array
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be enabled or disabled.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glEnableVertexAttribArray")]
-        public static 
-        void EnableVertexAttribArray(Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnableVertexAttribArray((UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Enable or disable a generic vertex attribute array
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be enabled or disabled.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glEnableVertexAttribArray")]
-        public static 
-        void EnableVertexAttribArray(UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnableVertexAttribArray((UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEnd")]
-        public static 
-        void End()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEnd();
-            #if DEBUG
-            GraphicsContext.CurrentContext.ErrorChecking = true;
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEndConditionalRender")]
-        public static 
-        void EndConditionalRender()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEndConditionalRender();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEndList")]
-        public static 
-        void EndList()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEndList();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glEndQuery")]
-        public static 
-        void EndQuery(QueryTarget target)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEndQuery((QueryTarget)target);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glEndTransformFeedback")]
-        public static 
-        void EndTransformFeedback()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEndTransformFeedback();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1d")]
-        public static 
-        void EvalCoord1(Double u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord1d((Double)u);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1dv")]
-        public static 
-        unsafe void EvalCoord1(Double* u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord1dv((Double*)u);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1f")]
-        public static 
-        void EvalCoord1(Single u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord1f((Single)u);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord1fv")]
-        public static 
-        unsafe void EvalCoord1(Single* u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord1fv((Single*)u);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2d")]
-        public static 
-        void EvalCoord2(Double u, Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord2d((Double)u, (Double)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2dv")]
-        public static 
-        unsafe void EvalCoord2(Double* u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord2dv((Double*)u);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2dv")]
-        public static 
-        void EvalCoord2(Double[] u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* u_ptr = u)
-                {
-                    Delegates.glEvalCoord2dv((Double*)u_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2dv")]
-        public static 
-        void EvalCoord2(ref Double u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* u_ptr = &u)
-                {
-                    Delegates.glEvalCoord2dv((Double*)u_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2f")]
-        public static 
-        void EvalCoord2(Single u, Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord2f((Single)u, (Single)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2fv")]
-        public static 
-        void EvalCoord2(ref Single u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* u_ptr = &u)
-                {
-                    Delegates.glEvalCoord2fv((Single*)u_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2fv")]
-        public static 
-        unsafe void EvalCoord2(Single* u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalCoord2fv((Single*)u);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Evaluate enabled one- and two-dimensional maps
-        /// </summary>
-        /// <param name="u">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap1 or glMap2 command.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Specifies a value that is the domain coordinate to the basis function defined in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalCoord2fv")]
-        public static 
-        void EvalCoord2(Single[] u)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* u_ptr = u)
-                {
-                    Delegates.glEvalCoord2fv((Single*)u_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Compute a one- or two-dimensional grid of points or lines
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="i1">
-        /// <para>
-        /// Specify the first and last integer values for grid domain variable .
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalMesh1")]
-        public static 
-        void EvalMesh1(MeshMode1 mode, Int32 i1, Int32 i2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalMesh1((MeshMode1)mode, (Int32)i1, (Int32)i2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Compute a one- or two-dimensional grid of points or lines
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// In glEvalMesh1, specifies whether to compute a one-dimensional mesh of points or lines. Symbolic constants GL_POINT and GL_LINE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="i1">
-        /// <para>
-        /// Specify the first and last integer values for grid domain variable .
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalMesh2")]
-        public static 
-        void EvalMesh2(MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalMesh2((MeshMode2)mode, (Int32)i1, (Int32)i2, (Int32)j1, (Int32)j2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate and evaluate a single point in a mesh
-        /// </summary>
-        /// <param name="i">
-        /// <para>
-        /// Specifies the integer value for grid domain variable .
-        /// </para>
-        /// </param>
-        /// <param name="j">
-        /// <para>
-        /// Specifies the integer value for grid domain variable (glEvalPoint2 only).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalPoint1")]
-        public static 
-        void EvalPoint1(Int32 i)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalPoint1((Int32)i);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate and evaluate a single point in a mesh
-        /// </summary>
-        /// <param name="i">
-        /// <para>
-        /// Specifies the integer value for grid domain variable .
-        /// </para>
-        /// </param>
-        /// <param name="j">
-        /// <para>
-        /// Specifies the integer value for grid domain variable (glEvalPoint2 only).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glEvalPoint2")]
-        public static 
-        void EvalPoint2(Int32 i, Int32 j)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glEvalPoint2((Int32)i, (Int32)j);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Controls feedback mode
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the maximum number of values that can be written into buffer.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the feedback data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFeedbackBuffer")]
-        public static 
-        void FeedbackBuffer(Int32 size, FeedbackType type, [Out] out Single buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* buffer_ptr = &buffer)
-                {
-                    Delegates.glFeedbackBuffer((Int32)size, (FeedbackType)type, (Single*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Controls feedback mode
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the maximum number of values that can be written into buffer.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the feedback data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFeedbackBuffer")]
-        public static 
-        unsafe void FeedbackBuffer(Int32 size, FeedbackType type, [Out] Single* buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFeedbackBuffer((Int32)size, (FeedbackType)type, (Single*)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Controls feedback mode
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the maximum number of values that can be written into buffer.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a symbolic constant that describes the information that will be returned for each vertex. GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the feedback data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFeedbackBuffer")]
-        public static 
-        void FeedbackBuffer(Int32 size, FeedbackType type, [Out] Single[] buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* buffer_ptr = buffer)
-                {
-                    Delegates.glFeedbackBuffer((Int32)size, (FeedbackType)type, (Single*)buffer_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glFenceSync")]
-        public static 
-        IntPtr FenceSync(ArbSync condition, Int32 flags)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glFenceSync((ArbSync)condition, (UInt32)flags);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glFenceSync")]
-        public static 
-        IntPtr FenceSync(ArbSync condition, UInt32 flags)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glFenceSync((ArbSync)condition, (UInt32)flags);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Block until all GL execution is complete
-        /// </summary>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFinish")]
-        public static 
-        void Finish()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFinish();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Force execution of GL commands in finite time
-        /// </summary>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFlush")]
-        public static 
-        void Flush()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFlush();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbMapBufferRange", Version = "3.0", EntryPoint = "glFlushMappedBufferRange")]
-        public static 
-        void FlushMappedBufferRange(BufferTarget target, IntPtr offset, IntPtr length)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFlushMappedBufferRange((BufferTarget)target, (IntPtr)offset, (IntPtr)length);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordd")]
-        public static 
-        void FogCoord(Double coord)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogCoordd((Double)coord);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoorddv")]
-        public static 
-        unsafe void FogCoord(Double* coord)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogCoorddv((Double*)coord);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordf")]
-        public static 
-        void FogCoord(Single coord)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogCoordf((Single)coord);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordfv")]
-        public static 
-        unsafe void FogCoord(Single* coord)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogCoordfv((Single*)coord);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")]
-        public static 
-        void FogCoordPointer<T2>(FogPointerType type, Int32 stride, [In, Out] ref T2 pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")]
-        public static 
-        void FogCoordPointer<T2>(FogPointerType type, Int32 stride, [In, Out] T2[,,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")]
-        public static 
-        void FogCoordPointer<T2>(FogPointerType type, Int32 stride, [In, Out] T2[,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")]
-        public static 
-        void FogCoordPointer<T2>(FogPointerType type, Int32 stride, [In, Out] T2[] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glFogCoordPointer")]
-        public static 
-        void FogCoordPointer(FogPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogCoordPointer((FogPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify fog parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogf")]
-        public static 
-        void Fog(FogParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogf((FogParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify fog parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogfv")]
-        public static 
-        unsafe void Fog(FogParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogfv((FogParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify fog parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogfv")]
-        public static 
-        void Fog(FogParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glFogfv((FogParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify fog parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogi")]
-        public static 
-        void Fog(FogParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogi((FogParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify fog parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogiv")]
-        public static 
-        unsafe void Fog(FogParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFogiv((FogParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify fog parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued fog parameter. GL_FOG_MODE, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_INDEX, and GL_FOG_COORD_SRC are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFogiv")]
-        public static 
-        void Fog(FogParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glFogiv((FogParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferRenderbuffer")]
-        public static 
-        void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, Int32 renderbuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferRenderbuffer((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferRenderbuffer")]
-        public static 
-        void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, UInt32 renderbuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferRenderbuffer((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTexture")]
-        public static 
-        void FramebufferTexture(Version32 target, Version32 attachment, Int32 texture, Int32 level)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTexture")]
-        public static 
-        void FramebufferTexture(Version32 target, Version32 attachment, UInt32 texture, Int32 level)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture1D")]
-        public static 
-        void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture1D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture1D")]
-        public static 
-        void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture1D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture2D")]
-        public static 
-        void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture2D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture2D")]
-        public static 
-        void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture2D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture3D")]
-        public static 
-        void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level, Int32 zoffset)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture3D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTexture3D")]
-        public static 
-        void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTexture3D((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTextureFace")]
-        public static 
-        void FramebufferTextureFace(Version32 target, Version32 attachment, Int32 texture, Int32 level, Version32 face)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTextureFace((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level, (Version32)face);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glFramebufferTextureFace")]
-        public static 
-        void FramebufferTextureFace(Version32 target, Version32 attachment, UInt32 texture, Int32 level, Version32 face)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTextureFace((Version32)target, (Version32)attachment, (UInt32)texture, (Int32)level, (Version32)face);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTextureLayer")]
-        public static 
-        void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTextureLayer((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glFramebufferTextureLayer")]
-        public static 
-        void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFramebufferTextureLayer((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define front- and back-facing polygons
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies the orientation of front-facing polygons. GL_CW and GL_CCW are accepted. The initial value is GL_CCW.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glFrontFace")]
-        public static 
-        void FrontFace(FrontFaceDirection mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFrontFace((FrontFaceDirection)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a perspective matrix
-        /// </summary>
-        /// <param name="left">
-        /// <para>
-        /// Specify the coordinates for the left and right vertical clipping planes.
-        /// </para>
-        /// </param>
-        /// <param name="bottom">
-        /// <para>
-        /// Specify the coordinates for the bottom and top horizontal clipping planes.
-        /// </para>
-        /// </param>
-        /// <param name="nearVal">
-        /// <para>
-        /// Specify the distances to the near and far depth clipping planes. Both distances must be positive.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glFrustum")]
-        public static 
-        void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glFrustum((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")]
-        public static 
-        unsafe void GenBuffers(Int32 n, [Out] Int32* buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenBuffers((Int32)n, (UInt32*)buffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")]
-        public static 
-        void GenBuffers(Int32 n, [Out] Int32[] buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")]
-        public static 
-        void GenBuffers(Int32 n, [Out] out Int32 buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = &buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                    buffers = *buffers_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")]
-        public static 
-        void GenBuffers(Int32 n, [Out] out UInt32 buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = &buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                    buffers = *buffers_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")]
-        public static 
-        unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenBuffers((Int32)n, (UInt32*)buffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate buffer object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of buffer object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="buffers">
-        /// <para>
-        /// Specifies an array in which the generated buffer object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenBuffers")]
-        public static 
-        void GenBuffers(Int32 n, [Out] UInt32[] buffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenerateMipmap")]
-        public static 
-        void GenerateMipmap(GenerateMipmapTarget target)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenerateMipmap((GenerateMipmapTarget)target);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
-        public static 
-        unsafe void GenFramebuffers(Int32 n, [Out] Int32* framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
-        public static 
-        void GenFramebuffers(Int32 n, [Out] Int32[] framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
-        public static 
-        void GenFramebuffers(Int32 n, [Out] out Int32 framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                    framebuffers = *framebuffers_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
-        public static 
-        void GenFramebuffers(Int32 n, [Out] out UInt32 framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                    framebuffers = *framebuffers_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
-        public static 
-        unsafe void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenFramebuffers")]
-        public static 
-        void GenFramebuffers(Int32 n, [Out] UInt32[] framebuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glGenFramebuffers((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate a contiguous set of empty display lists
-        /// </summary>
-        /// <param name="range">
-        /// <para>
-        /// Specifies the number of contiguous empty display lists to be generated.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGenLists")]
-        public static 
-        Int32 GenLists(Int32 range)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGenLists((Int32)range);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")]
-        public static 
-        unsafe void GenQueries(Int32 n, [Out] Int32* ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenQueries((Int32)n, (UInt32*)ids);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")]
-        public static 
-        void GenQueries(Int32 n, [Out] Int32[] ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")]
-        public static 
-        void GenQueries(Int32 n, [Out] out Int32 ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")]
-        public static 
-        void GenQueries(Int32 n, [Out] out UInt32 ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")]
-        public static 
-        unsafe void GenQueries(Int32 n, [Out] UInt32* ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenQueries((Int32)n, (UInt32*)ids);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate query object names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of query object names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="ids">
-        /// <para>
-        /// Specifies an array in which the generated query object names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGenQueries")]
-        public static 
-        void GenQueries(Int32 n, [Out] UInt32[] ids)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")]
-        public static 
-        unsafe void GenRenderbuffers(Int32 n, [Out] Int32* renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")]
-        public static 
-        void GenRenderbuffers(Int32 n, [Out] Int32[] renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")]
-        public static 
-        void GenRenderbuffers(Int32 n, [Out] out Int32 renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                    renderbuffers = *renderbuffers_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")]
-        public static 
-        void GenRenderbuffers(Int32 n, [Out] out UInt32 renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                    renderbuffers = *renderbuffers_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")]
-        public static 
-        unsafe void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGenRenderbuffers")]
-        public static 
-        void GenRenderbuffers(Int32 n, [Out] UInt32[] renderbuffers)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glGenRenderbuffers((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
-        public static 
-        unsafe void GenTextures(Int32 n, [Out] Int32* textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenTextures((Int32)n, (UInt32*)textures);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
-        public static 
-        void GenTextures(Int32 n, [Out] Int32[] textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
-        public static 
-        void GenTextures(Int32 n, [Out] out Int32 textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                    textures = *textures_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
-        public static 
-        void GenTextures(Int32 n, [Out] out UInt32 textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                    textures = *textures_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
-        public static 
-        unsafe void GenTextures(Int32 n, [Out] UInt32* textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenTextures((Int32)n, (UInt32*)textures);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGenTextures")]
-        public static 
-        void GenTextures(Int32 n, [Out] UInt32[] textures)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")]
-        public static 
-        unsafe void GenVertexArrays(Int32 n, [Out] Int32* arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")]
-        public static 
-        void GenVertexArrays(Int32 n, [Out] Int32[] arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = arrays)
-                {
-                    Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")]
-        public static 
-        void GenVertexArrays(Int32 n, [Out] out Int32 arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = &arrays)
-                {
-                    Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                    arrays = *arrays_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")]
-        public static 
-        void GenVertexArrays(Int32 n, [Out] out UInt32 arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = &arrays)
-                {
-                    Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                    arrays = *arrays_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")]
-        public static 
-        unsafe void GenVertexArrays(Int32 n, [Out] UInt32* arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glGenVertexArrays")]
-        public static 
-        void GenVertexArrays(Int32 n, [Out] UInt32[] arrays)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = arrays)
-                {
-                    Delegates.glGenVertexArrays((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
-        public static 
-        unsafe void GetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
-        public static 
-        void GetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (ActiveAttribType* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
-        public static 
-        unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active attribute variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the attribute variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the attribute variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the attribute variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveAttrib")]
-        public static 
-        void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (ActiveAttribType* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")]
-        public static 
-        unsafe void GetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveUniformType* type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveUniformType*)type, (System.Text.StringBuilder)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")]
-        public static 
-        void GetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveUniformType type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (ActiveUniformType* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveUniformType*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")]
-        public static 
-        unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveUniformType* type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveUniformType*)type, (System.Text.StringBuilder)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns information about an active uniform variable for the specified program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the maximum number of characters OpenGL is allowed to write in the character buffer indicated by name.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the number of characters actually written by OpenGL in the string indicated by name (excluding the null terminator) if a value other than NULL is passed.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Returns the size of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Returns the data type of the uniform variable.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Returns a null terminated string containing the name of the uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetActiveUniform")]
-        public static 
-        void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveUniformType type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (ActiveUniformType* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveUniformType*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")]
-        public static 
-        unsafe void GetActiveUniformBlock(Int32 program, Int32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")]
-        public static 
-        void GetActiveUniformBlock(Int32 program, Int32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")]
-        public static 
-        void GetActiveUniformBlock(Int32 program, Int32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")]
-        public static 
-        unsafe void GetActiveUniformBlock(UInt32 program, UInt32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")]
-        public static 
-        void GetActiveUniformBlock(UInt32 program, UInt32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockiv")]
-        public static 
-        void GetActiveUniformBlock(UInt32 program, UInt32 uniformBlockIndex, ArbUniformBufferObject pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetActiveUniformBlockiv((UInt32)program, (UInt32)uniformBlockIndex, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")]
-        public static 
-        unsafe void GetActiveUniformBlockName(Int32 program, Int32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformBlockName);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")]
-        public static 
-        void GetActiveUniformBlockName(Int32 program, Int32 uniformBlockIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformBlockName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformBlockName);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")]
-        public static 
-        unsafe void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformBlockName);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformBlockName")]
-        public static 
-        void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformBlockName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniformBlockName((UInt32)program, (UInt32)uniformBlockIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformBlockName);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")]
-        public static 
-        unsafe void GetActiveUniformName(Int32 program, Int32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformName);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")]
-        public static 
-        void GetActiveUniformName(Int32 program, Int32 uniformIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformName);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")]
-        public static 
-        unsafe void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)uniformName);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformName")]
-        public static 
-        void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder uniformName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniformName((UInt32)program, (UInt32)uniformIndex, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)uniformName);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")]
-        public static 
-        unsafe void GetActiveUniforms(Int32 program, Int32 uniformCount, Int32* uniformIndices, ArbUniformBufferObject pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices, (ArbUniformBufferObject)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")]
-        public static 
-        void GetActiveUniforms(Int32 program, Int32 uniformCount, Int32[] uniformIndices, ArbUniformBufferObject pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* uniformIndices_ptr = uniformIndices)
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")]
-        public static 
-        void GetActiveUniforms(Int32 program, Int32 uniformCount, ref Int32 uniformIndices, ArbUniformBufferObject pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* uniformIndices_ptr = &uniformIndices)
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")]
-        public static 
-        void GetActiveUniforms(UInt32 program, Int32 uniformCount, ref UInt32 uniformIndices, ArbUniformBufferObject pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* uniformIndices_ptr = &uniformIndices)
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")]
-        public static 
-        unsafe void GetActiveUniforms(UInt32 program, Int32 uniformCount, UInt32* uniformIndices, ArbUniformBufferObject pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices, (ArbUniformBufferObject)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetActiveUniformsiv")]
-        public static 
-        void GetActiveUniforms(UInt32 program, Int32 uniformCount, UInt32[] uniformIndices, ArbUniformBufferObject pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* uniformIndices_ptr = uniformIndices)
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetActiveUniformsiv((UInt32)program, (Int32)uniformCount, (UInt32*)uniformIndices_ptr, (ArbUniformBufferObject)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the handles of the shader objects attached to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxCount">
-        /// <para>
-        /// Specifies the size of the array for storing the returned object names.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Returns the number of names actually returned in objects.
-        /// </para>
-        /// </param>
-        /// <param name="shaders">
-        /// <para>
-        /// Specifies an array that is used to return the names of attached shader objects.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
-        public static 
-        unsafe void GetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32* count, [Out] Int32* obj)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the handles of the shader objects attached to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxCount">
-        /// <para>
-        /// Specifies the size of the array for storing the returned object names.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Returns the number of names actually returned in objects.
-        /// </para>
-        /// </param>
-        /// <param name="shaders">
-        /// <para>
-        /// Specifies an array that is used to return the names of attached shader objects.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
-        public static 
-        unsafe void GetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32* count, [Out] Int32[] obj)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            fixed (Int32* obj_ptr = obj)
-            {
-                Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the handles of the shader objects attached to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxCount">
-        /// <para>
-        /// Specifies the size of the array for storing the returned object names.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Returns the number of names actually returned in objects.
-        /// </para>
-        /// </param>
-        /// <param name="shaders">
-        /// <para>
-        /// Specifies an array that is used to return the names of attached shader objects.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
-        public static 
-        void GetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                    obj = *obj_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the handles of the shader objects attached to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxCount">
-        /// <para>
-        /// Specifies the size of the array for storing the returned object names.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Returns the number of names actually returned in objects.
-        /// </para>
-        /// </param>
-        /// <param name="shaders">
-        /// <para>
-        /// Specifies an array that is used to return the names of attached shader objects.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
-        public static 
-        unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the handles of the shader objects attached to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxCount">
-        /// <para>
-        /// Specifies the size of the array for storing the returned object names.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Returns the number of names actually returned in objects.
-        /// </para>
-        /// </param>
-        /// <param name="shaders">
-        /// <para>
-        /// Specifies an array that is used to return the names of attached shader objects.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
-        public static 
-        unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32[] obj)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            fixed (UInt32* obj_ptr = obj)
-            {
-                Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the handles of the shader objects attached to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxCount">
-        /// <para>
-        /// Specifies the size of the array for storing the returned object names.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Returns the number of names actually returned in objects.
-        /// </para>
-        /// </param>
-        /// <param name="shaders">
-        /// <para>
-        /// Specifies an array that is used to return the names of attached shader objects.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttachedShaders")]
-        public static 
-        void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                    obj = *obj_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the location of an attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttribLocation")]
-        public static 
-        Int32 GetAttribLocation(Int32 program, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetAttribLocation((UInt32)program, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the location of an attribute variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the attribute variable whose location is to be queried.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetAttribLocation")]
-        public static 
-        Int32 GetAttribLocation(UInt32 program, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetAttribLocation((UInt32)program, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")]
-        public static 
-        unsafe void GetBoolean(GetIndexedPName target, Int32 index, [Out] bool* data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")]
-        public static 
-        void GetBoolean(GetIndexedPName target, Int32 index, [Out] bool[] data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (bool* data_ptr = data)
-                {
-                    Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")]
-        public static 
-        void GetBoolean(GetIndexedPName target, Int32 index, [Out] out bool data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (bool* data_ptr = &data)
-                {
-                    Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")]
-        public static 
-        unsafe void GetBoolean(GetIndexedPName target, UInt32 index, [Out] bool* data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")]
-        public static 
-        void GetBoolean(GetIndexedPName target, UInt32 index, [Out] bool[] data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (bool* data_ptr = data)
-                {
-                    Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetBooleani_v")]
-        public static 
-        void GetBoolean(GetIndexedPName target, UInt32 index, [Out] out bool data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (bool* data_ptr = &data)
-                {
-                    Delegates.glGetBooleani_v((GetIndexedPName)target, (UInt32)index, (bool*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetBooleanv")]
-        public static 
-        unsafe void GetBoolean(GetPName pname, [Out] bool* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBooleanv((GetPName)pname, (bool*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetBooleanv")]
-        public static 
-        void GetBoolean(GetPName pname, [Out] bool[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (bool* @params_ptr = @params)
-                {
-                    Delegates.glGetBooleanv((GetPName)pname, (bool*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetBooleanv")]
-        public static 
-        void GetBoolean(GetPName pname, [Out] out bool @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (bool* @params_ptr = &@params)
-                {
-                    Delegates.glGetBooleanv((GetPName)pname, (bool*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetBufferParameteri64v")]
-        public static 
-        unsafe void GetBufferParameteri64(Version32 target, Version32 pname, [Out] Int64* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBufferParameteri64v((Version32)target, (Version32)pname, (Int64*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetBufferParameteri64v")]
-        public static 
-        void GetBufferParameteri64(Version32 target, Version32 pname, [Out] Int64[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* @params_ptr = @params)
-                {
-                    Delegates.glGetBufferParameteri64v((Version32)target, (Version32)pname, (Int64*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetBufferParameteri64v")]
-        public static 
-        void GetBufferParameteri64(Version32 target, Version32 pname, [Out] out Int64 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* @params_ptr = &@params)
-                {
-                    Delegates.glGetBufferParameteri64v((Version32)target, (Version32)pname, (Int64*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="value">
-        /// <para>
-        /// Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the requested parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferParameteriv")]
-        public static 
-        unsafe void GetBufferParameter(BufferTarget target, BufferParameterName pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBufferParameteriv((BufferTarget)target, (BufferParameterName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="value">
-        /// <para>
-        /// Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the requested parameter.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferParameteriv")]
-        public static 
-        void GetBufferParameter(BufferTarget target, BufferParameterName pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetBufferParameteriv((BufferTarget)target, (BufferParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a buffer object
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="value">
-        /// <para>
-        /// Specifies the symbolic name of a buffer object parameter. Accepted values are GL_BUFFER_ACCESS, GL_BUFFER_MAPPED, GL_BUFFER_SIZE, or GL_BUFFER_USAGE.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the requested parameter.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferParameteriv")]
-        public static 
-        void GetBufferParameter(BufferTarget target, BufferParameterName pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetBufferParameteriv((BufferTarget)target, (BufferParameterName)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the pointer to a mapped buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")]
-        public static 
-        void GetBufferPointer<T2>(BufferTarget target, BufferPointer pname, [In, Out] ref T2 @params)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the pointer to a mapped buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")]
-        public static 
-        void GetBufferPointer<T2>(BufferTarget target, BufferPointer pname, [In, Out] T2[,,] @params)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the pointer to a mapped buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")]
-        public static 
-        void GetBufferPointer<T2>(BufferTarget target, BufferPointer pname, [In, Out] T2[,] @params)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the pointer to a mapped buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")]
-        public static 
-        void GetBufferPointer<T2>(BufferTarget target, BufferPointer pname, [In, Out] T2[] @params)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the pointer to a mapped buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the pointer to be returned. The symbolic constant must be GL_BUFFER_MAP_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferPointerv")]
-        public static 
-        void GetBufferPointer(BufferTarget target, BufferPointer pname, [Out] IntPtr @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBufferPointerv((BufferTarget)target, (BufferPointer)pname, (IntPtr)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")]
-        public static 
-        void GetBufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")]
-        public static 
-        void GetBufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")]
-        public static 
-        void GetBufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")]
-        public static 
-        void GetBufferSubData<T3>(BufferTarget target, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a subset of a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="offset">
-        /// <para>
-        /// Specifies the offset into the buffer object's data store from which data will be returned, measured in bytes.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size in bytes of the data store region being returned.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the location where buffer object data is returned.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetBufferSubData")]
-        public static 
-        void GetBufferSubData(BufferTarget target, IntPtr offset, IntPtr size, [Out] IntPtr data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetBufferSubData((BufferTarget)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the coefficients of the specified clipping plane
-        /// </summary>
-        /// <param name="plane">
-        /// <para>
-        /// Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1.
-        /// </para>
-        /// </param>
-        /// <param name="equation">
-        /// <para>
-        /// Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetClipPlane")]
-        public static 
-        unsafe void GetClipPlane(ClipPlaneName plane, [Out] Double* equation)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetClipPlane((ClipPlaneName)plane, (Double*)equation);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the coefficients of the specified clipping plane
-        /// </summary>
-        /// <param name="plane">
-        /// <para>
-        /// Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1.
-        /// </para>
-        /// </param>
-        /// <param name="equation">
-        /// <para>
-        /// Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetClipPlane")]
-        public static 
-        void GetClipPlane(ClipPlaneName plane, [Out] Double[] equation)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* equation_ptr = equation)
-                {
-                    Delegates.glGetClipPlane((ClipPlaneName)plane, (Double*)equation_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the coefficients of the specified clipping plane
-        /// </summary>
-        /// <param name="plane">
-        /// <para>
-        /// Specifies a clipping plane. The number of clipping planes depends on the implementation, but at least six clipping planes are supported. They are identified by symbolic names of the form GL_CLIP_PLANE where i ranges from 0 to the value of GL_MAX_CLIP_PLANES - 1.
-        /// </para>
-        /// </param>
-        /// <param name="equation">
-        /// <para>
-        /// Returns four double-precision values that are the coefficients of the plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetClipPlane")]
-        public static 
-        void GetClipPlane(ClipPlaneName plane, [Out] out Double equation)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* equation_ptr = &equation)
-                {
-                    Delegates.glGetClipPlane((ClipPlaneName)plane, (Double*)equation_ptr);
-                    equation = *equation_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")]
-        public static 
-        void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] ref T3 table)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")]
-        public static 
-        void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,,] table)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")]
-        public static 
-        void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,] table)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")]
-        public static 
-        void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[] table)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                table_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTable")]
-        public static 
-        void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [Out] IntPtr table)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetColorTable((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)table);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameterfv")]
-        public static 
-        void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameterfv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameterfv")]
-        public static 
-        unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetColorTableParameterfv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameterfv")]
-        public static 
-        void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameterfv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameteriv")]
-        public static 
-        unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetColorTableParameteriv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameteriv")]
-        public static 
-        void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameteriv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetColorTableParameteriv")]
-        public static 
-        void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameteriv((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")]
-        public static 
-        void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] ref T2 img)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                img_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")]
-        public static 
-        void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] T2[,,] img)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                img_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")]
-        public static 
-        void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] T2[,] img)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                img_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")]
-        public static 
-        void GetCompressedTexImage<T2>(TextureTarget target, Int32 level, [In, Out] T2[] img)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                img_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a compressed texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, and GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="lod">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the compressed texture image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glGetCompressedTexImage")]
-        public static 
-        void GetCompressedTexImage(TextureTarget target, Int32 level, [Out] IntPtr img)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetCompressedTexImage((TextureTarget)target, (Int32)level, (IntPtr)img);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")]
-        public static 
-        void GetConvolutionFilter<T3>(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] ref T3 image)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")]
-        public static 
-        void GetConvolutionFilter<T3>(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] T3[,,] image)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")]
-        public static 
-        void GetConvolutionFilter<T3>(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] T3[,] image)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")]
-        public static 
-        void GetConvolutionFilter<T3>(ConvolutionTarget target, PixelFormat format, PixelType type, [In, Out] T3[] image)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                image_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionFilter")]
-        public static 
-        void GetConvolutionFilter(ConvolutionTarget target, PixelFormat format, PixelType type, [Out] IntPtr image)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetConvolutionFilter((ConvolutionTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)image);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameterfv")]
-        public static 
-        void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetConvolutionParameterfv((ConvolutionTarget)target, (Version12Deprecated)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameterfv")]
-        public static 
-        unsafe void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetConvolutionParameterfv((ConvolutionTarget)target, (Version12Deprecated)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameterfv")]
-        public static 
-        void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetConvolutionParameterfv((ConvolutionTarget)target, (Version12Deprecated)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameteriv")]
-        public static 
-        unsafe void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetConvolutionParameteriv((ConvolutionTarget)target, (Version12Deprecated)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameteriv")]
-        public static 
-        void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetConvolutionParameteriv((ConvolutionTarget)target, (Version12Deprecated)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetConvolutionParameteriv")]
-        public static 
-        void GetConvolutionParameter(ConvolutionTarget target, Version12Deprecated pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetConvolutionParameteriv((ConvolutionTarget)target, (Version12Deprecated)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetDoublev")]
-        public static 
-        unsafe void GetDouble(GetPName pname, [Out] Double* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetDoublev((GetPName)pname, (Double*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetDoublev")]
-        public static 
-        void GetDouble(GetPName pname, [Out] Double[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetDoublev((GetPName)pname, (Double*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetDoublev")]
-        public static 
-        void GetDouble(GetPName pname, [Out] out Double @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetDoublev((GetPName)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return error information
-        /// </summary>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetError")]
-        public static 
-        ErrorCode GetError()
-        {
-            return Delegates.glGetError();
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetFloatv")]
-        public static 
-        void GetFloat(GetPName pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetFloatv((GetPName)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetFloatv")]
-        public static 
-        unsafe void GetFloat(GetPName pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetFloatv((GetPName)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetFloatv")]
-        public static 
-        void GetFloat(GetPName pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetFloatv((GetPName)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetFragDataLocation")]
-        public static 
-        Int32 GetFragDataLocation(Int32 program, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetFragDataLocation((UInt32)program, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetFragDataLocation")]
-        public static 
-        Int32 GetFragDataLocation(UInt32 program, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetFragDataLocation((UInt32)program, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")]
-        public static 
-        unsafe void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetFramebufferAttachmentParameteriv((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")]
-        public static 
-        void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFramebufferAttachmentParameteriv((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetFramebufferAttachmentParameteriv")]
-        public static 
-        void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFramebufferAttachmentParameteriv((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")]
-        public static 
-        void GetHistogram<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")]
-        public static 
-        void GetHistogram<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")]
-        public static 
-        void GetHistogram<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")]
-        public static 
-        void GetHistogram<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogram")]
-        public static 
-        void GetHistogram(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetHistogram((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameterfv")]
-        public static 
-        void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetHistogramParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameterfv")]
-        public static 
-        unsafe void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetHistogramParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameterfv")]
-        public static 
-        void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetHistogramParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameteriv")]
-        public static 
-        unsafe void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetHistogramParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameteriv")]
-        public static 
-        void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetHistogramParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetHistogramParameteriv")]
-        public static 
-        void GetHistogramParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetHistogramParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")]
-        public static 
-        unsafe void GetInteger64(Version32 target, Int32 index, [Out] Int64* data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")]
-        public static 
-        void GetInteger64(Version32 target, Int32 index, [Out] Int64[] data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* data_ptr = data)
-                {
-                    Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")]
-        public static 
-        void GetInteger64(Version32 target, Int32 index, [Out] out Int64 data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* data_ptr = &data)
-                {
-                    Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")]
-        public static 
-        unsafe void GetInteger64(Version32 target, UInt32 index, [Out] Int64* data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")]
-        public static 
-        void GetInteger64(Version32 target, UInt32 index, [Out] Int64[] data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* data_ptr = data)
-                {
-                    Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "3.2", EntryPoint = "glGetInteger64i_v")]
-        public static 
-        void GetInteger64(Version32 target, UInt32 index, [Out] out Int64 data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* data_ptr = &data)
-                {
-                    Delegates.glGetInteger64i_v((Version32)target, (UInt32)index, (Int64*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetInteger64v")]
-        public static 
-        unsafe void GetInteger64(ArbSync pname, [Out] Int64* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetInteger64v((ArbSync)pname, (Int64*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetInteger64v")]
-        public static 
-        void GetInteger64(ArbSync pname, [Out] Int64[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* @params_ptr = @params)
-                {
-                    Delegates.glGetInteger64v((ArbSync)pname, (Int64*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetInteger64v")]
-        public static 
-        void GetInteger64(ArbSync pname, [Out] out Int64 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int64* @params_ptr = &@params)
-                {
-                    Delegates.glGetInteger64v((ArbSync)pname, (Int64*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")]
-        public static 
-        unsafe void GetInteger(GetIndexedPName target, Int32 index, [Out] Int32* data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")]
-        public static 
-        void GetInteger(GetIndexedPName target, Int32 index, [Out] Int32[] data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")]
-        public static 
-        void GetInteger(GetIndexedPName target, Int32 index, [Out] out Int32 data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")]
-        public static 
-        unsafe void GetInteger(GetIndexedPName target, UInt32 index, [Out] Int32* data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")]
-        public static 
-        void GetInteger(GetIndexedPName target, UInt32 index, [Out] Int32[] data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetIntegeri_v")]
-        public static 
-        void GetInteger(GetIndexedPName target, UInt32 index, [Out] out Int32 data)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetIntegeri_v((GetIndexedPName)target, (UInt32)index, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetIntegerv")]
-        public static 
-        unsafe void GetInteger(GetPName pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetIntegerv((GetPName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetIntegerv")]
-        public static 
-        void GetInteger(GetPName pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetIntegerv((GetPName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetIntegerv")]
-        public static 
-        void GetInteger(GetPName pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetIntegerv((GetPName)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return light source parameter values
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightfv")]
-        public static 
-        void GetLight(LightName light, LightParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetLightfv((LightName)light, (LightParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return light source parameter values
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightfv")]
-        public static 
-        unsafe void GetLight(LightName light, LightParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetLightfv((LightName)light, (LightParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return light source parameter values
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightfv")]
-        public static 
-        void GetLight(LightName light, LightParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetLightfv((LightName)light, (LightParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return light source parameter values
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightiv")]
-        public static 
-        unsafe void GetLight(LightName light, LightParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetLightiv((LightName)light, (LightParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return light source parameter values
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightiv")]
-        public static 
-        void GetLight(LightName light, LightParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetLightiv((LightName)light, (LightParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return light source parameter values
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light source. The number of possible lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT where ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a light source parameter for light. Accepted symbolic names are GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetLightiv")]
-        public static 
-        void GetLight(LightName light, LightParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetLightiv((LightName)light, (LightParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapdv")]
-        public static 
-        unsafe void GetMap(MapTarget target, GetMapQuery query, [Out] Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMapdv((MapTarget)target, (GetMapQuery)query, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapdv")]
-        public static 
-        void GetMap(MapTarget target, GetMapQuery query, [Out] Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glGetMapdv((MapTarget)target, (GetMapQuery)query, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapdv")]
-        public static 
-        void GetMap(MapTarget target, GetMapQuery query, [Out] out Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glGetMapdv((MapTarget)target, (GetMapQuery)query, (Double*)v_ptr);
-                    v = *v_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapfv")]
-        public static 
-        void GetMap(MapTarget target, GetMapQuery query, [Out] out Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glGetMapfv((MapTarget)target, (GetMapQuery)query, (Single*)v_ptr);
-                    v = *v_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapfv")]
-        public static 
-        unsafe void GetMap(MapTarget target, GetMapQuery query, [Out] Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMapfv((MapTarget)target, (GetMapQuery)query, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapfv")]
-        public static 
-        void GetMap(MapTarget target, GetMapQuery query, [Out] Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glGetMapfv((MapTarget)target, (GetMapQuery)query, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapiv")]
-        public static 
-        unsafe void GetMap(MapTarget target, GetMapQuery query, [Out] Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMapiv((MapTarget)target, (GetMapQuery)query, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapiv")]
-        public static 
-        void GetMap(MapTarget target, GetMapQuery query, [Out] Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glGetMapiv((MapTarget)target, (GetMapQuery)query, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return evaluator parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of a map. Accepted values are GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, and GL_MAP2_VERTEX_4.
-        /// </para>
-        /// </param>
-        /// <param name="query">
-        /// <para>
-        /// Specifies which parameter to return. Symbolic names GL_COEFF, GL_ORDER, and GL_DOMAIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="v">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMapiv")]
-        public static 
-        void GetMap(MapTarget target, GetMapQuery query, [Out] out Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glGetMapiv((MapTarget)target, (GetMapQuery)query, (Int32*)v_ptr);
-                    v = *v_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return material parameters
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialfv")]
-        public static 
-        void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return material parameters
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialfv")]
-        public static 
-        unsafe void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return material parameters
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialfv")]
-        public static 
-        void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return material parameters
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialiv")]
-        public static 
-        unsafe void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return material parameters
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialiv")]
-        public static 
-        void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return material parameters
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which of the two materials is being queried. GL_FRONT or GL_BACK are accepted, representing the front and back materials, respectively.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the material parameter to return. GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, and GL_COLOR_INDEXES are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetMaterialiv")]
-        public static 
-        void GetMaterial(MaterialFace face, MaterialParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")]
-        public static 
-        void GetMinmax<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")]
-        public static 
-        void GetMinmax<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")]
-        public static 
-        void GetMinmax<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")]
-        public static 
-        void GetMinmax<T4>(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                values_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmax")]
-        public static 
-        void GetMinmax(Version12Deprecated target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMinmax((Version12Deprecated)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameterfv")]
-        public static 
-        void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMinmaxParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameterfv")]
-        public static 
-        unsafe void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMinmaxParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameterfv")]
-        public static 
-        void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMinmaxParameterfv((Version12Deprecated)target, (Version12Deprecated)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameteriv")]
-        public static 
-        unsafe void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMinmaxParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameteriv")]
-        public static 
-        void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMinmaxParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetMinmaxParameteriv")]
-        public static 
-        void GetMinmaxParameter(Version12Deprecated target, Version12Deprecated pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMinmaxParameteriv((Version12Deprecated)target, (Version12Deprecated)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")]
-        public static 
-        void GetMultisample(ArbTextureMultisample pname, Int32 index, [Out] out Single val)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* val_ptr = &val)
-                {
-                    Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                    val = *val_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")]
-        public static 
-        unsafe void GetMultisample(ArbTextureMultisample pname, Int32 index, [Out] Single* val)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")]
-        public static 
-        void GetMultisample(ArbTextureMultisample pname, Int32 index, [Out] Single[] val)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* val_ptr = val)
-                {
-                    Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")]
-        public static 
-        void GetMultisample(ArbTextureMultisample pname, UInt32 index, [Out] out Single val)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* val_ptr = &val)
-                {
-                    Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                    val = *val_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")]
-        public static 
-        unsafe void GetMultisample(ArbTextureMultisample pname, UInt32 index, [Out] Single* val)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glGetMultisamplefv")]
-        public static 
-        void GetMultisample(ArbTextureMultisample pname, UInt32 index, [Out] Single[] val)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* val_ptr = val)
-                {
-                    Delegates.glGetMultisamplefv((ArbTextureMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapfv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] out Single values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapfv((PixelMap)map, (Single*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapfv")]
-        public static 
-        unsafe void GetPixelMap(PixelMap map, [Out] Single* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPixelMapfv((PixelMap)map, (Single*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapfv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] Single[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapfv((PixelMap)map, (Single*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")]
-        public static 
-        unsafe void GetPixelMap(PixelMap map, [Out] Int32* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] Int32[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] out Int32 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] out UInt32 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")]
-        public static 
-        unsafe void GetPixelMap(PixelMap map, [Out] UInt32* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapuiv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] UInt32[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapuiv((PixelMap)map, (UInt32*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")]
-        public static 
-        unsafe void GetPixelMap(PixelMap map, [Out] Int16* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] Int16[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] out Int16 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] out UInt16 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")]
-        public static 
-        unsafe void GetPixelMap(PixelMap map, [Out] UInt16* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the specified pixel map
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies the name of the pixel map to return. Accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel map contents.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPixelMapusv")]
-        public static 
-        void GetPixelMap(PixelMap map, [Out] UInt16[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapusv((PixelMap)map, (UInt16*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified pointer
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")]
-        public static 
-        void GetPointer<T1>(GetPointervPName pname, [In, Out] ref T1 @params)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified pointer
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")]
-        public static 
-        void GetPointer<T1>(GetPointervPName pname, [In, Out] T1[,,] @params)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified pointer
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")]
-        public static 
-        void GetPointer<T1>(GetPointervPName pname, [In, Out] T1[,] @params)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified pointer
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")]
-        public static 
-        void GetPointer<T1>(GetPointervPName pname, [In, Out] T1[] @params)
-            where T1 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                @params_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified pointer
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the array or buffer pointer to be returned. Symbolic constants GL_COLOR_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_FOG_COORD_ARRAY_POINTER, GL_FEEDBACK_BUFFER_POINTER, GL_INDEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_SECONDARY_COLOR_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, or GL_VERTEX_ARRAY_POINTER are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the pointer value specified by pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glGetPointerv")]
-        public static 
-        void GetPointer(GetPointervPName pname, [Out] IntPtr @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPointerv((GetPointervPName)pname, (IntPtr)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the polygon stipple pattern
-        /// </summary>
-        /// <param name="pattern">
-        /// <para>
-        /// Returns the stipple pattern. The initial value is all 1's.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPolygonStipple")]
-        public static 
-        unsafe void GetPolygonStipple([Out] Byte* mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetPolygonStipple((Byte*)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the polygon stipple pattern
-        /// </summary>
-        /// <param name="pattern">
-        /// <para>
-        /// Returns the stipple pattern. The initial value is all 1's.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPolygonStipple")]
-        public static 
-        void GetPolygonStipple([Out] Byte[] mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* mask_ptr = mask)
-                {
-                    Delegates.glGetPolygonStipple((Byte*)mask_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the polygon stipple pattern
-        /// </summary>
-        /// <param name="pattern">
-        /// <para>
-        /// Returns the stipple pattern. The initial value is all 1's.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetPolygonStipple")]
-        public static 
-        void GetPolygonStipple([Out] out Byte mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* mask_ptr = &mask)
-                {
-                    Delegates.glGetPolygonStipple((Byte*)mask_ptr);
-                    mask = *mask_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
-        public static 
-        unsafe void GetProgramInfoLog(Int32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
-        public static 
-        void GetProgramInfoLog(Int32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
-        public static 
-        unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramInfoLog")]
-        public static 
-        void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")]
-        public static 
-        unsafe void GetProgram(Int32 program, ProgramParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")]
-        public static 
-        void GetProgram(Int32 program, ProgramParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")]
-        public static 
-        void GetProgram(Int32 program, ProgramParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")]
-        public static 
-        unsafe void GetProgram(UInt32 program, ProgramParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")]
-        public static 
-        void GetProgram(UInt32 program, ProgramParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetProgramiv")]
-        public static 
-        void GetProgram(UInt32 program, ProgramParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (ProgramParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a query object target. Must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryiv")]
-        public static 
-        unsafe void GetQuery(QueryTarget target, GetQueryParam pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetQueryiv((QueryTarget)target, (GetQueryParam)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a query object target. Must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryiv")]
-        public static 
-        void GetQuery(QueryTarget target, GetQueryParam pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryiv((QueryTarget)target, (GetQueryParam)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a query object target. Must be GL_SAMPLES_PASSED.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object target parameter. Accepted values are GL_CURRENT_QUERY or GL_QUERY_COUNTER_BITS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryiv")]
-        public static 
-        void GetQuery(QueryTarget target, GetQueryParam pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryiv((QueryTarget)target, (GetQueryParam)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")]
-        public static 
-        unsafe void GetQueryObject(Int32 id, GetQueryObjectParam pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")]
-        public static 
-        void GetQueryObject(Int32 id, GetQueryObjectParam pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")]
-        public static 
-        void GetQueryObject(Int32 id, GetQueryObjectParam pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")]
-        public static 
-        unsafe void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")]
-        public static 
-        void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectiv")]
-        public static 
-        void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (GetQueryObjectParam)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectuiv")]
-        public static 
-        void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] out UInt32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectuiv((UInt32)id, (GetQueryObjectParam)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectuiv")]
-        public static 
-        unsafe void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] UInt32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetQueryObjectuiv((UInt32)id, (GetQueryObjectParam)pname, (UInt32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return parameters of a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies the name of a query object.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a query object parameter. Accepted values are GL_QUERY_RESULT or GL_QUERY_RESULT_AVAILABLE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glGetQueryObjectuiv")]
-        public static 
-        void GetQueryObject(UInt32 id, GetQueryObjectParam pname, [Out] UInt32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectuiv((UInt32)id, (GetQueryObjectParam)pname, (UInt32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetRenderbufferParameteriv")]
-        public static 
-        unsafe void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetRenderbufferParameteriv((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetRenderbufferParameteriv")]
-        public static 
-        void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetRenderbufferParameteriv((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glGetRenderbufferParameteriv")]
-        public static 
-        void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetRenderbufferParameteriv((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T3,T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] ref T3 row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-            where T3 : struct
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T3,T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] T3[,,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-            where T3 : struct
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T3,T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] T3[,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-            where T3 : struct
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T3,T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [In, Out] T3[] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-            where T3 : struct
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] ref T4 column, [In, Out] T5[,,] span)
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,] column, [In, Out] T5[,,] span)
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T4,T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[] column, [In, Out] T5[,,] span)
-            where T4 : struct
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] ref T5 span)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,,] span)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,] span)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter<T5>(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[] span)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                span_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glGetSeparableFilter")]
-        public static 
-        void GetSeparableFilter(Version12Deprecated target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetSeparableFilter((Version12Deprecated)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
-        public static 
-        unsafe void GetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
-        public static 
-        void GetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
-        public static 
-        unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the information log for a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object whose information log is to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="maxLength">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned information log.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in infoLog (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="infoLog">
-        /// <para>
-        /// Specifies an array of characters that is used to return the information log.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderInfoLog")]
-        public static 
-        void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")]
-        public static 
-        unsafe void GetShader(Int32 shader, ShaderParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")]
-        public static 
-        void GetShader(Int32 shader, ShaderParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")]
-        public static 
-        void GetShader(Int32 shader, ShaderParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")]
-        public static 
-        unsafe void GetShader(UInt32 shader, ShaderParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")]
-        public static 
-        void GetShader(UInt32 shader, ShaderParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns a parameter from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_SHADER_TYPE, GL_DELETE_STATUS, GL_COMPILE_STATUS, GL_INFO_LOG_LENGTH, GL_SHADER_SOURCE_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderiv")]
-        public static 
-        void GetShader(UInt32 shader, ShaderParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (ShaderParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")]
-        public static 
-        unsafe void GetShaderSource(Int32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)source);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")]
-        public static 
-        void GetShaderSource(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder source)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)source);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")]
-        public static 
-        unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)source);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the source code string from a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the shader object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="bufSize">
-        /// <para>
-        /// Specifies the size of the character buffer for storing the returned source code string.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Returns the length of the string returned in source (excluding the null terminator).
-        /// </para>
-        /// </param>
-        /// <param name="source">
-        /// <para>
-        /// Specifies an array of characters that is used to return the source code string.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetShaderSource")]
-        public static 
-        void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder source)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)source);
-                    length = *length_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a string describing the current GL connection
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetString")]
-        public static 
-        string GetString(StringName name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetString((StringName)name));
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a string describing the current GL connection
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetStringi")]
-        public static 
-        string GetString(StringName name, Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetStringi((StringName)name, (UInt32)index));
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a string describing the current GL connection
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a symbolic constant, one of GL_VENDOR, GL_RENDERER, GL_VERSION, GL_SHADING_LANGUAGE_VERSION, or GL_EXTENSIONS.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetStringi")]
-        public static 
-        string GetString(StringName name, UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetStringi((StringName)name, (UInt32)index));
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetSynciv")]
-        public static 
-        unsafe void GetSync(IntPtr sync, ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetSynciv((IntPtr)sync, (ArbSync)pname, (Int32)bufSize, (Int32*)length, (Int32*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetSynciv")]
-        public static 
-        unsafe void GetSync(IntPtr sync, ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            fixed (Int32* values_ptr = values)
-            {
-                Delegates.glGetSynciv((IntPtr)sync, (ArbSync)pname, (Int32)bufSize, (Int32*)length, (Int32*)values_ptr);
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glGetSynciv")]
-        public static 
-        void GetSync(IntPtr sync, ArbSync pname, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* values_ptr = &values)
-                {
-                    Delegates.glGetSynciv((IntPtr)sync, (ArbSync)pname, (Int32)bufSize, (Int32*)length_ptr, (Int32*)values_ptr);
-                    length = *length_ptr;
-                    values = *values_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnvfv")]
-        public static 
-        void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnvfv")]
-        public static 
-        unsafe void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnvfv")]
-        public static 
-        void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnviv")]
-        public static 
-        unsafe void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnviv")]
-        public static 
-        void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL, or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture environment parameter. Accepted values are GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexEnviv")]
-        public static 
-        void GetTexEnv(TextureEnvTarget target, TextureEnvParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGendv")]
-        public static 
-        unsafe void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Double* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGendv")]
-        public static 
-        void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Double[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGendv")]
-        public static 
-        void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] out Double @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGenfv")]
-        public static 
-        void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGenfv")]
-        public static 
-        unsafe void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGenfv")]
-        public static 
-        void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGeniv")]
-        public static 
-        unsafe void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGeniv")]
-        public static 
-        void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture coordinate generation parameters
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the value(s) to be returned. Must be either GL_TEXTURE_GEN_MODE or the name of one of the texture generation plane equations: GL_OBJECT_PLANE or GL_EYE_PLANE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glGetTexGeniv")]
-        public static 
-        void GetTexGen(TextureCoordName coord, TextureGenParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the texture image. Should be a pointer to an array of the type specified by type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")]
-        public static 
-        void GetTexImage<T4>(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T4 pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the texture image. Should be a pointer to an array of the type specified by type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")]
-        public static 
-        void GetTexImage<T4>(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T4[,,] pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the texture image. Should be a pointer to an array of the type specified by type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")]
-        public static 
-        void GetTexImage<T4>(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T4[,] pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the texture image. Should be a pointer to an array of the type specified by type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")]
-        public static 
-        void GetTexImage<T4>(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T4[] pixels)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies which texture is to be obtained. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, and GL_TEXTURE_CUBE_MAP_NEGATIVE_Z are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies a pixel format for the returned data. The supported formats are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies a pixel type for the returned data. The supported types are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="img">
-        /// <para>
-        /// Returns the texture image. Should be a pointer to an array of the type specified by type.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexImage")]
-        public static 
-        void GetTexImage(TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexImage((TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values for a specific level of detail
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameterfv")]
-        public static 
-        void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexLevelParameterfv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values for a specific level of detail
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameterfv")]
-        public static 
-        unsafe void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexLevelParameterfv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values for a specific level of detail
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameterfv")]
-        public static 
-        void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexLevelParameterfv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values for a specific level of detail
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameteriv")]
-        public static 
-        unsafe void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexLevelParameteriv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values for a specific level of detail
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameteriv")]
-        public static 
-        void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexLevelParameteriv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values for a specific level of detail
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture, either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_PROXY_TEXTURE_3D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number of the desired image. Level 0 is the base image level. Level is the th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_DEPTH, GL_TEXTURE_INTERNAL_FORMAT, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_DEPTH_SIZE, GL_TEXTURE_COMPRESSED, and GL_TEXTURE_COMPRESSED_IMAGE_SIZE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexLevelParameteriv")]
-        public static 
-        void GetTexLevelParameter(TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexLevelParameteriv((TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the texture parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameterfv")]
-        public static 
-        void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterfv((TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the texture parameters.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameterfv")]
-        public static 
-        unsafe void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexParameterfv((TextureTarget)target, (GetTextureParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the texture parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameterfv")]
-        public static 
-        void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterfv((TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIiv")]
-        public static 
-        unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexParameterIiv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIiv")]
-        public static 
-        void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterIiv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIiv")]
-        public static 
-        void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterIiv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIuiv")]
-        public static 
-        void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterIuiv((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIuiv")]
-        public static 
-        unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexParameterIuiv((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTexParameterIuiv")]
-        public static 
-        void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterIuiv((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the texture parameters.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameteriv")]
-        public static 
-        unsafe void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTexParameteriv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the texture parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameteriv")]
-        public static 
-        void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameteriv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return texture parameter values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the symbolic name of the target texture. GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, and GL_TEXTURE_CUBE_MAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a texture parameter. GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, and GL_GENERATE_MIPMAP are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the texture parameters.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glGetTexParameteriv")]
-        public static 
-        void GetTexParameter(TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameteriv((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")]
-        public static 
-        unsafe void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")]
-        public static 
-        void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (ActiveAttribType* type_ptr = &type)
-                {
-                    Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")]
-        public static 
-        unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ActiveAttribType* type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ActiveAttribType*)type, (System.Text.StringBuilder)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetTransformFeedbackVarying")]
-        public static 
-        void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ActiveAttribType type, [Out] System.Text.StringBuilder name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (ActiveAttribType* type_ptr = &type)
-                {
-                    Delegates.glGetTransformFeedbackVarying((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ActiveAttribType*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformBlockIndex")]
-        public static 
-        Int32 GetUniformBlockIndex(Int32 program, String uniformBlockName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetUniformBlockIndex((UInt32)program, (String)uniformBlockName);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformBlockIndex")]
-        public static 
-        Int32 GetUniformBlockIndex(UInt32 program, String uniformBlockName)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetUniformBlockIndex((UInt32)program, (String)uniformBlockName);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")]
-        public static 
-        void GetUniform(Int32 program, Int32 location, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")]
-        public static 
-        unsafe void GetUniform(Int32 program, Int32 location, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")]
-        public static 
-        void GetUniform(Int32 program, Int32 location, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")]
-        public static 
-        void GetUniform(UInt32 program, Int32 location, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")]
-        public static 
-        unsafe void GetUniform(UInt32 program, Int32 location, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformfv")]
-        public static 
-        void GetUniform(UInt32 program, Int32 location, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")]
-        public static 
-        unsafe void GetUniformIndices(Int32 program, Int32 uniformCount, String[] uniformNames, [Out] Int32* uniformIndices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")]
-        public static 
-        void GetUniformIndices(Int32 program, Int32 uniformCount, String[] uniformNames, [Out] Int32[] uniformIndices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* uniformIndices_ptr = uniformIndices)
-                {
-                    Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")]
-        public static 
-        void GetUniformIndices(Int32 program, Int32 uniformCount, String[] uniformNames, [Out] out Int32 uniformIndices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* uniformIndices_ptr = &uniformIndices)
-                {
-                    Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr);
-                    uniformIndices = *uniformIndices_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")]
-        public static 
-        void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] out UInt32 uniformIndices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* uniformIndices_ptr = &uniformIndices)
-                {
-                    Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr);
-                    uniformIndices = *uniformIndices_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")]
-        public static 
-        unsafe void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32* uniformIndices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glGetUniformIndices")]
-        public static 
-        void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32[] uniformIndices)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* uniformIndices_ptr = uniformIndices)
-                {
-                    Delegates.glGetUniformIndices((UInt32)program, (Int32)uniformCount, (String[])uniformNames, (UInt32*)uniformIndices_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")]
-        public static 
-        unsafe void GetUniform(Int32 program, Int32 location, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")]
-        public static 
-        void GetUniform(Int32 program, Int32 location, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")]
-        public static 
-        void GetUniform(Int32 program, Int32 location, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")]
-        public static 
-        unsafe void GetUniform(UInt32 program, Int32 location, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")]
-        public static 
-        void GetUniform(UInt32 program, Int32 location, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformiv")]
-        public static 
-        void GetUniform(UInt32 program, Int32 location, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the location of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformLocation")]
-        public static 
-        Int32 GetUniformLocation(Int32 program, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetUniformLocation((UInt32)program, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the location of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="name">
-        /// <para>
-        /// Points to a null terminated string containing the name of the uniform variable whose location is to be queried.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetUniformLocation")]
-        public static 
-        Int32 GetUniformLocation(UInt32 program, String name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glGetUniformLocation((UInt32)program, (String)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetUniformuiv")]
-        public static 
-        void GetUniform(UInt32 program, Int32 location, [Out] out UInt32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformuiv((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetUniformuiv")]
-        public static 
-        unsafe void GetUniform(UInt32 program, Int32 location, [Out] UInt32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetUniformuiv((UInt32)program, (Int32)location, (UInt32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetUniformuiv")]
-        public static 
-        void GetUniform(UInt32 program, Int32 location, [Out] UInt32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformuiv((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")]
-        public static 
-        unsafe void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Double* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")]
-        public static 
-        void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Double[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")]
-        public static 
-        void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] out Double @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")]
-        public static 
-        unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Double* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")]
-        public static 
-        void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Double[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribdv")]
-        public static 
-        void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] out Double @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (VertexAttribParameter)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
-        public static 
-        void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
-        public static 
-        unsafe void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
-        public static 
-        void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
-        public static 
-        void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] out Single @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
-        public static 
-        unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribfv")]
-        public static 
-        void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (VertexAttribParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")]
-        public static 
-        unsafe void GetVertexAttribI(Int32 index, VertexAttribParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")]
-        public static 
-        void GetVertexAttribI(Int32 index, VertexAttribParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")]
-        public static 
-        unsafe void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIiv")]
-        public static 
-        void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIuiv")]
-        public static 
-        void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] out UInt32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIuiv((UInt32)index, (VertexAttribParameter)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glGetVertexAttribIuiv")]
-        public static 
-        unsafe void GetVertexAttribI(UInt32 index, VertexAttribParameter pname, [Out] UInt32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribIuiv((UInt32)index, (VertexAttribParameter)pname, (UInt32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
-        public static 
-        unsafe void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
-        public static 
-        void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
-        public static 
-        void GetVertexAttrib(Int32 index, VertexAttribParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
-        public static 
-        unsafe void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
-        public static 
-        void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribiv")]
-        public static 
-        void GetVertexAttrib(UInt32 index, VertexAttribParameter pname, [Out] out Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (VertexAttribParameter)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerType pname, [In, Out] ref T2 pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerType pname, [In, Out] T2[,,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerType pname, [In, Out] T2[,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(Int32 index, VertexAttribPointerType pname, [In, Out] T2[] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer(Int32 index, VertexAttribPointerType pname, [Out] IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerType pname, [In, Out] ref T2 pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerType pname, [In, Out] T2[,,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerType pname, [In, Out] T2[,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer<T2>(UInt32 index, VertexAttribPointerType pname, [In, Out] T2[] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Return the address of the specified generic vertex attribute pointer
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be returned.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the generic vertex attribute parameter to be returned. Must be GL_VERTEX_ATTRIB_ARRAY_POINTER.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Returns the pointer value.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glGetVertexAttribPointerv")]
-        public static 
-        void GetVertexAttribPointer(UInt32 index, VertexAttribPointerType pname, [Out] IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glGetVertexAttribPointerv((UInt32)index, (VertexAttribPointerType)pname, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify implementation-specific hints
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glHint")]
-        public static 
-        void Hint(HintTarget target, HintMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glHint((HintTarget)target, (HintMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the histogram table. Must be a power of 2.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="sink">
-        /// <para>
-        /// If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glHistogram")]
-        public static 
-        void Histogram(Version12Deprecated target, Int32 width, PixelInternalFormat internalformat, bool sink)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glHistogram((Version12Deprecated)target, (Int32)width, (PixelInternalFormat)internalformat, (bool)sink);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexd")]
-        public static 
-        void Index(Double c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexd((Double)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexdv")]
-        public static 
-        unsafe void Index(Double* c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexdv((Double*)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexf")]
-        public static 
-        void Index(Single c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexf((Single)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexfv")]
-        public static 
-        unsafe void Index(Single* c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexfv((Single*)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexi")]
-        public static 
-        void Index(Int32 c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexi((Int32)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexiv")]
-        public static 
-        unsafe void Index(Int32* c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexiv((Int32*)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the writing of individual bits in the color index buffers
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexMask")]
-        public static 
-        void IndexMask(Int32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexMask((UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the writing of individual bits in the color index buffers
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a bit mask to enable and disable the writing of individual bits in the color index buffers. Initially, the mask is all 1's.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexMask")]
-        public static 
-        void IndexMask(UInt32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexMask((UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")]
-        public static 
-        void IndexPointer<T2>(IndexPointerType type, Int32 stride, [In, Out] ref T2 pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")]
-        public static 
-        void IndexPointer<T2>(IndexPointerType type, Int32 stride, [In, Out] T2[,,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")]
-        public static 
-        void IndexPointer<T2>(IndexPointerType type, Int32 stride, [In, Out] T2[,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")]
-        public static 
-        void IndexPointer<T2>(IndexPointerType type, Int32 stride, [In, Out] T2[] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexPointer")]
-        public static 
-        void IndexPointer(IndexPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexPointer((IndexPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexs")]
-        public static 
-        void Index(Int16 c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexs((Int16)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIndexsv")]
-        public static 
-        unsafe void Index(Int16* c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexsv((Int16*)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexub")]
-        public static 
-        void Index(Byte c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexub((Byte)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current color index
-        /// </summary>
-        /// <param name="c">
-        /// <para>
-        /// Specifies the new value for the current color index.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glIndexubv")]
-        public static 
-        unsafe void Index(Byte* c)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glIndexubv((Byte*)c);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Initialize the name stack
-        /// </summary>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glInitNames")]
-        public static 
-        void InitNames()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glInitNames();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Simultaneously specify and enable several interleaved arrays
-        /// </summary>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the offset in bytes between each aggregate array element.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")]
-        public static 
-        void InterleavedArrays<T2>(InterleavedArrayFormat format, Int32 stride, [In, Out] ref T2 pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Simultaneously specify and enable several interleaved arrays
-        /// </summary>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the offset in bytes between each aggregate array element.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")]
-        public static 
-        void InterleavedArrays<T2>(InterleavedArrayFormat format, Int32 stride, [In, Out] T2[,,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Simultaneously specify and enable several interleaved arrays
-        /// </summary>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the offset in bytes between each aggregate array element.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")]
-        public static 
-        void InterleavedArrays<T2>(InterleavedArrayFormat format, Int32 stride, [In, Out] T2[,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Simultaneously specify and enable several interleaved arrays
-        /// </summary>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the offset in bytes between each aggregate array element.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")]
-        public static 
-        void InterleavedArrays<T2>(InterleavedArrayFormat format, Int32 stride, [In, Out] T2[] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Simultaneously specify and enable several interleaved arrays
-        /// </summary>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the type of array to enable. Symbolic constants GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, and GL_T4F_C4F_N3F_V4F are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the offset in bytes between each aggregate array element.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glInterleavedArrays")]
-        public static 
-        void InterleavedArrays(InterleavedArrayFormat format, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glInterleavedArrays((InterleavedArrayFormat)format, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a buffer object
-        /// </summary>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies a value that may be the name of a buffer object.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsBuffer")]
-        public static 
-        bool IsBuffer(Int32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsBuffer((UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a buffer object
-        /// </summary>
-        /// <param name="buffer">
-        /// <para>
-        /// Specifies a value that may be the name of a buffer object.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsBuffer")]
-        public static 
-        bool IsBuffer(UInt32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsBuffer((UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Test whether a capability is enabled
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies a symbolic constant indicating a GL capability.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glIsEnabled")]
-        public static 
-        bool IsEnabled(EnableCap cap)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsEnabled((EnableCap)cap);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Test whether a capability is enabled
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies a symbolic constant indicating a GL capability.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glIsEnabledi")]
-        public static 
-        bool IsEnabled(IndexedEnableCap target, Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsEnabledi((IndexedEnableCap)target, (UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Test whether a capability is enabled
-        /// </summary>
-        /// <param name="cap">
-        /// <para>
-        /// Specifies a symbolic constant indicating a GL capability.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glIsEnabledi")]
-        public static 
-        bool IsEnabled(IndexedEnableCap target, UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsEnabledi((IndexedEnableCap)target, (UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsFramebuffer")]
-        public static 
-        bool IsFramebuffer(Int32 framebuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsFramebuffer((UInt32)framebuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsFramebuffer")]
-        public static 
-        bool IsFramebuffer(UInt32 framebuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsFramebuffer((UInt32)framebuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a display list
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies a potential display list name.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIsList")]
-        public static 
-        bool IsList(Int32 list)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsList((UInt32)list);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a display list
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies a potential display list name.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glIsList")]
-        public static 
-        bool IsList(UInt32 list)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsList((UInt32)list);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determines if a name corresponds to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies a potential program object.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsProgram")]
-        public static 
-        bool IsProgram(Int32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determines if a name corresponds to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies a potential program object.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsProgram")]
-        public static 
-        bool IsProgram(UInt32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies a value that may be the name of a query object.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsQuery")]
-        public static 
-        bool IsQuery(Int32 id)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsQuery((UInt32)id);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a query object
-        /// </summary>
-        /// <param name="id">
-        /// <para>
-        /// Specifies a value that may be the name of a query object.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glIsQuery")]
-        public static 
-        bool IsQuery(UInt32 id)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsQuery((UInt32)id);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsRenderbuffer")]
-        public static 
-        bool IsRenderbuffer(Int32 renderbuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsRenderbuffer((UInt32)renderbuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glIsRenderbuffer")]
-        public static 
-        bool IsRenderbuffer(UInt32 renderbuffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsRenderbuffer((UInt32)renderbuffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determines if a name corresponds to a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies a potential shader object.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsShader")]
-        public static 
-        bool IsShader(Int32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsShader((UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determines if a name corresponds to a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies a potential shader object.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glIsShader")]
-        public static 
-        bool IsShader(UInt32 shader)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsShader((UInt32)shader);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glIsSync")]
-        public static 
-        bool IsSync(IntPtr sync)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsSync((IntPtr)sync);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a texture
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies a value that may be the name of a texture.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glIsTexture")]
-        public static 
-        bool IsTexture(Int32 texture)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsTexture((UInt32)texture);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Determine if a name corresponds to a texture
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies a value that may be the name of a texture.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glIsTexture")]
-        public static 
-        bool IsTexture(UInt32 texture)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsTexture((UInt32)texture);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glIsVertexArray")]
-        public static 
-        bool IsVertexArray(Int32 array)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsVertexArray((UInt32)array);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbVertexArrayObject", Version = "3.0", EntryPoint = "glIsVertexArray")]
-        public static 
-        bool IsVertexArray(UInt32 array)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glIsVertexArray((UInt32)array);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set light source parameters
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter pname of light source light will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightf")]
-        public static 
-        void Light(LightName light, LightParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightf((LightName)light, (LightParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set light source parameters
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter pname of light source light will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightfv")]
-        public static 
-        unsafe void Light(LightName light, LightParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightfv((LightName)light, (LightParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set light source parameters
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter pname of light source light will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightfv")]
-        public static 
-        void Light(LightName light, LightParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glLightfv((LightName)light, (LightParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set light source parameters
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter pname of light source light will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLighti")]
-        public static 
-        void Light(LightName light, LightParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLighti((LightName)light, (LightParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set light source parameters
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter pname of light source light will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightiv")]
-        public static 
-        unsafe void Light(LightName light, LightParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightiv((LightName)light, (LightParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set light source parameters
-        /// </summary>
-        /// <param name="light">
-        /// <para>
-        /// Specifies a light. The number of lights depends on the implementation, but at least eight lights are supported. They are identified by symbolic names of the form GL_LIGHT , where i ranges from 0 to the value of GL_MAX_LIGHTS - 1.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued light source parameter for light. GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter pname of light source light will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightiv")]
-        public static 
-        void Light(LightName light, LightParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glLightiv((LightName)light, (LightParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the lighting model parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that param will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModelf")]
-        public static 
-        void LightModel(LightModelParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightModelf((LightModelParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the lighting model parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that param will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModelfv")]
-        public static 
-        unsafe void LightModel(LightModelParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightModelfv((LightModelParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the lighting model parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that param will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModelfv")]
-        public static 
-        void LightModel(LightModelParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glLightModelfv((LightModelParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the lighting model parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that param will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModeli")]
-        public static 
-        void LightModel(LightModelParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightModeli((LightModelParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the lighting model parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that param will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModeliv")]
-        public static 
-        unsafe void LightModel(LightModelParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLightModeliv((LightModelParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the lighting model parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued lighting model parameter. GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_COLOR_CONTROL, and GL_LIGHT_MODEL_TWO_SIDE are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that param will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLightModeliv")]
-        public static 
-        void LightModel(LightModelParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glLightModeliv((LightModelParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the line stipple pattern
-        /// </summary>
-        /// <param name="factor">
-        /// <para>
-        /// Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1.
-        /// </para>
-        /// </param>
-        /// <param name="pattern">
-        /// <para>
-        /// Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLineStipple")]
-        public static 
-        void LineStipple(Int32 factor, Int16 pattern)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLineStipple((Int32)factor, (UInt16)pattern);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the line stipple pattern
-        /// </summary>
-        /// <param name="factor">
-        /// <para>
-        /// Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1.
-        /// </para>
-        /// </param>
-        /// <param name="pattern">
-        /// <para>
-        /// Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLineStipple")]
-        public static 
-        void LineStipple(Int32 factor, UInt16 pattern)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLineStipple((Int32)factor, (UInt16)pattern);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the width of rasterized lines
-        /// </summary>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of rasterized lines. The initial value is 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glLineWidth")]
-        public static 
-        void LineWidth(Single width)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLineWidth((Single)width);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Links a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be linked.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glLinkProgram")]
-        public static 
-        void LinkProgram(Int32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLinkProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Links a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be linked.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glLinkProgram")]
-        public static 
-        void LinkProgram(UInt32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLinkProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the display-list base for glCallLists
-        /// </summary>
-        /// <param name="base">
-        /// <para>
-        /// Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glListBase")]
-        public static 
-        void ListBase(Int32 @base)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glListBase((UInt32)@base);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the display-list base for glCallLists
-        /// </summary>
-        /// <param name="base">
-        /// <para>
-        /// Specifies an integer offset that will be added to glCallLists offsets to generate display-list names. The initial value is 0.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glListBase")]
-        public static 
-        void ListBase(UInt32 @base)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glListBase((UInt32)@base);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the identity matrix
-        /// </summary>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadIdentity")]
-        public static 
-        void LoadIdentity()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadIdentity();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixd")]
-        public static 
-        unsafe void LoadMatrix(Double* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadMatrixd((Double*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixd")]
-        public static 
-        void LoadMatrix(Double[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glLoadMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixd")]
-        public static 
-        void LoadMatrix(ref Double m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glLoadMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixf")]
-        public static 
-        void LoadMatrix(ref Single m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glLoadMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixf")]
-        public static 
-        unsafe void LoadMatrix(Single* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadMatrixf((Single*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadMatrixf")]
-        public static 
-        void LoadMatrix(Single[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glLoadMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Load a name onto the name stack
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a name that will replace the top value on the name stack.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadName")]
-        public static 
-        void LoadName(Int32 name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadName((UInt32)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Load a name onto the name stack
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a name that will replace the top value on the name stack.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glLoadName")]
-        public static 
-        void LoadName(UInt32 name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadName((UInt32)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixd")]
-        public static 
-        unsafe void LoadTransposeMatrix(Double* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadTransposeMatrixd((Double*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixd")]
-        public static 
-        void LoadTransposeMatrix(Double[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glLoadTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixd")]
-        public static 
-        void LoadTransposeMatrix(ref Double m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glLoadTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixf")]
-        public static 
-        void LoadTransposeMatrix(ref Single m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glLoadTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixf")]
-        public static 
-        unsafe void LoadTransposeMatrix(Single* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLoadTransposeMatrixf((Single*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replace the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Specifies a pointer to 16 consecutive values, which are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glLoadTransposeMatrixf")]
-        public static 
-        void LoadTransposeMatrix(Single[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glLoadTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a logical pixel operation for color index rendering
-        /// </summary>
-        /// <param name="opcode">
-        /// <para>
-        /// Specifies a symbolic constant that selects a logical operation. The following symbols are accepted: GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED, GL_OR_REVERSE, and GL_OR_INVERTED. The initial value is GL_COPY.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glLogicOp")]
-        public static 
-        void LogicOp(LogicOp opcode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glLogicOp((LogicOp)opcode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
-        /// </para>
-        /// </param>
-        /// <param name="order">
-        /// <para>
-        /// Specifies the number of control points. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1d")]
-        public static 
-        unsafe void Map1(MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double* points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMap1d((MapTarget)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
-        /// </para>
-        /// </param>
-        /// <param name="order">
-        /// <para>
-        /// Specifies the number of control points. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1d")]
-        public static 
-        void Map1(MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double[] points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* points_ptr = points)
-                {
-                    Delegates.glMap1d((MapTarget)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
-        /// </para>
-        /// </param>
-        /// <param name="order">
-        /// <para>
-        /// Specifies the number of control points. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1d")]
-        public static 
-        void Map1(MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, ref Double points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* points_ptr = &points)
-                {
-                    Delegates.glMap1d((MapTarget)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
-        /// </para>
-        /// </param>
-        /// <param name="order">
-        /// <para>
-        /// Specifies the number of control points. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1f")]
-        public static 
-        void Map1(MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, ref Single points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glMap1f((MapTarget)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
-        /// </para>
-        /// </param>
-        /// <param name="order">
-        /// <para>
-        /// Specifies the number of control points. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1f")]
-        public static 
-        unsafe void Map1(MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single* points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMap1f((MapTarget)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP1_INDEX, GL_MAP1_COLOR_4, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, and GL_MAP1_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord1, to u hat, the variable that is evaluated by the equations specified by this command.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of one control point and the beginning of the next one in the data structure referenced in points. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations.
-        /// </para>
-        /// </param>
-        /// <param name="order">
-        /// <para>
-        /// Specifies the number of control points. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap1f")]
-        public static 
-        void Map1(MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single[] points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glMap1f((MapTarget)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="ustride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="uorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="vstride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="vorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2d")]
-        public static 
-        unsafe void Map2(MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMap2d((MapTarget)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="ustride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="uorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="vstride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="vorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2d")]
-        public static 
-        void Map2(MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* points_ptr = points)
-                {
-                    Delegates.glMap2d((MapTarget)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="ustride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="uorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="vstride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="vorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2d")]
-        public static 
-        void Map2(MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* points_ptr = &points)
-                {
-                    Delegates.glMap2d((MapTarget)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="ustride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="uorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="vstride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="vorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2f")]
-        public static 
-        void Map2(MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glMap2f((MapTarget)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="ustride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="uorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="vstride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="vorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2f")]
-        public static 
-        unsafe void Map2(MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMap2f((MapTarget)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a two-dimensional evaluator
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the kind of values that are generated by the evaluator. Symbolic constants GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP2_INDEX, GL_MAP2_COLOR_4, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, and GL_MAP2_TEXTURE_COORD_4 are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to u hat, one of the two variables that are evaluated by the equations specified by this command. Initially, u1 is 0 and u2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="ustride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { (i+1) j }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of ustride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="uorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify a linear mapping of , as presented to glEvalCoord2, to v hat, one of the two variables that are evaluated by the equations specified by this command. Initially, v1 is 0 and v2 is 1.
-        /// </para>
-        /// </param>
-        /// <param name="vstride">
-        /// <para>
-        /// Specifies the number of floats or doubles between the beginning of control point R sub ij and the beginning of control point R sub { i (j+1) }, where and are the and control point indices, respectively. This allows control points to be embedded in arbitrary data structures. The only constraint is that the values for a particular control point must occupy contiguous memory locations. The initial value of vstride is 0.
-        /// </para>
-        /// </param>
-        /// <param name="vorder">
-        /// <para>
-        /// Specifies the dimension of the control point array in the axis. Must be positive. The initial value is 1.
-        /// </para>
-        /// </param>
-        /// <param name="points">
-        /// <para>
-        /// Specifies a pointer to the array of control points.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMap2f")]
-        public static 
-        void Map2(MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glMap2f((MapTarget)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Map a buffer object's data store
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target buffer object being mapped. The symbolic constant must be GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER.
-        /// </para>
-        /// </param>
-        /// <param name="access">
-        /// <para>
-        /// Specifies the access policy, indicating whether it will be possible to read from, write to, or both read from and write to the buffer object's mapped data store. The symbolic constant must be GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glMapBuffer")]
-        public static 
-        unsafe IntPtr MapBuffer(BufferTarget target, BufferAccess access)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glMapBuffer((BufferTarget)target, (BufferAccess)access);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbMapBufferRange", Version = "3.0", EntryPoint = "glMapBufferRange")]
-        public static 
-        unsafe IntPtr MapBufferRange(BufferTarget target, IntPtr offset, IntPtr length, BufferAccessMask access)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glMapBufferRange((BufferTarget)target, (IntPtr)offset, (IntPtr)length, (BufferAccessMask)access);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one- or two-dimensional mesh
-        /// </summary>
-        /// <param name="un">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values i = 0 and i = un.
-        /// </para>
-        /// </param>
-        /// <param name="vn">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid1d")]
-        public static 
-        void MapGrid1(Int32 un, Double u1, Double u2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMapGrid1d((Int32)un, (Double)u1, (Double)u2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one- or two-dimensional mesh
-        /// </summary>
-        /// <param name="un">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values i = 0 and i = un.
-        /// </para>
-        /// </param>
-        /// <param name="vn">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid1f")]
-        public static 
-        void MapGrid1(Int32 un, Single u1, Single u2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMapGrid1f((Int32)un, (Single)u1, (Single)u2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one- or two-dimensional mesh
-        /// </summary>
-        /// <param name="un">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values i = 0 and i = un.
-        /// </para>
-        /// </param>
-        /// <param name="vn">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid2d")]
-        public static 
-        void MapGrid2(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMapGrid2d((Int32)un, (Double)u1, (Double)u2, (Int32)vn, (Double)v1, (Double)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a one- or two-dimensional mesh
-        /// </summary>
-        /// <param name="un">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive.
-        /// </para>
-        /// </param>
-        /// <param name="u1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values i = 0 and i = un.
-        /// </para>
-        /// </param>
-        /// <param name="vn">
-        /// <para>
-        /// Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        /// <param name="v1">
-        /// <para>
-        /// Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only).
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMapGrid2f")]
-        public static 
-        void MapGrid2(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMapGrid2f((Int32)un, (Single)u1, (Single)u2, (Int32)vn, (Single)v1, (Single)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify material parameters for the lighting model
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter GL_SHININESS will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialf")]
-        public static 
-        void Material(MaterialFace face, MaterialParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMaterialf((MaterialFace)face, (MaterialParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify material parameters for the lighting model
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter GL_SHININESS will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialfv")]
-        public static 
-        unsafe void Material(MaterialFace face, MaterialParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify material parameters for the lighting model
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter GL_SHININESS will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialfv")]
-        public static 
-        void Material(MaterialFace face, MaterialParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glMaterialfv((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify material parameters for the lighting model
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter GL_SHININESS will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMateriali")]
-        public static 
-        void Material(MaterialFace face, MaterialParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMateriali((MaterialFace)face, (MaterialParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify material parameters for the lighting model
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter GL_SHININESS will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialiv")]
-        public static 
-        unsafe void Material(MaterialFace face, MaterialParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify material parameters for the lighting model
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies which face or faces are being updated. Must be one of GL_FRONT, GL_BACK, or GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the single-valued material parameter of the face or faces that is being updated. Must be GL_SHININESS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that parameter GL_SHININESS will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMaterialiv")]
-        public static 
-        void Material(MaterialFace face, MaterialParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glMaterialiv((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify which matrix is the current matrix
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies which matrix stack is the target for subsequent matrix operations. Three values are accepted: GL_MODELVIEW, GL_PROJECTION, and GL_TEXTURE. The initial value is GL_MODELVIEW. Additionally, if the ARB_imaging extension is supported, GL_COLOR is also accepted.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMatrixMode")]
-        public static 
-        void MatrixMode(MatrixMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMatrixMode((MatrixMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define minmax table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The minmax table whose parameters are to be set. Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="sink">
-        /// <para>
-        /// If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glMinmax")]
-        public static 
-        void Minmax(Version12Deprecated target, PixelInternalFormat internalformat, bool sink)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMinmax((Version12Deprecated)target, (PixelInternalFormat)internalformat, (bool)sink);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSampleShading", Version = "1.2", EntryPoint = "glMinSampleShading")]
-        public static 
-        void MinSampleShading(Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMinSampleShading((Single)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Points to an array of starting indices in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the first and count
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawArrays")]
-        public static 
-        unsafe void MultiDrawArrays(BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiDrawArrays((BeginMode)mode, (Int32*)first, (Int32*)count, (Int32)primcount);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Points to an array of starting indices in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the first and count
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawArrays")]
-        public static 
-        void MultiDrawArrays(BeginMode mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArrays((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Points to an array of starting indices in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the first and count
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawArrays")]
-        public static 
-        void MultiDrawArrays(BeginMode mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArrays((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    first = *first_ptr;
-                    count = *count_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glMultiDrawElements")]
-        public static 
-        void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawElements((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        unsafe void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32* basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        unsafe void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32* basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        unsafe void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32* basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        unsafe void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32* basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex);
-            }
-            finally
-            {
-                indices_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        unsafe void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32* basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32*)basevertex);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32[] basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* basevertex_ptr = basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32[] basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* basevertex_ptr = basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32[] basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* basevertex_ptr = basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32[] basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* basevertex_ptr = basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32[] basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* basevertex_ptr = basevertex)
-                {
-                    Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32*)basevertex_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, ref Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* basevertex_ptr = &basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, ref Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* basevertex_ptr = &basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, ref Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* basevertex_ptr = &basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex<T3>(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, ref Int32 basevertex)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* basevertex_ptr = &basevertex)
-                {
-                    GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32*)basevertex_ptr);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbDrawElementsBaseVertex", Version = "1.2", EntryPoint = "glMultiDrawElementsBaseVertex")]
-        public static 
-        void MultiDrawElementsBaseVertex(ArbDrawElementsBaseVertex mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount, ref Int32 basevertex)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* basevertex_ptr = &basevertex)
-                {
-                    Delegates.glMultiDrawElementsBaseVertex((ArbDrawElementsBaseVertex)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32*)basevertex_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1d")]
-        public static 
-        void MultiTexCoord1(TextureUnit target, Double s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1d((TextureUnit)target, (Double)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1dv")]
-        public static 
-        unsafe void MultiTexCoord1(TextureUnit target, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1dv((TextureUnit)target, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1f")]
-        public static 
-        void MultiTexCoord1(TextureUnit target, Single s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1f((TextureUnit)target, (Single)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1fv")]
-        public static 
-        unsafe void MultiTexCoord1(TextureUnit target, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1fv((TextureUnit)target, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1i")]
-        public static 
-        void MultiTexCoord1(TextureUnit target, Int32 s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1i((TextureUnit)target, (Int32)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1iv")]
-        public static 
-        unsafe void MultiTexCoord1(TextureUnit target, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1iv((TextureUnit)target, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1s")]
-        public static 
-        void MultiTexCoord1(TextureUnit target, Int16 s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1s((TextureUnit)target, (Int16)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord1sv")]
-        public static 
-        unsafe void MultiTexCoord1(TextureUnit target, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord1sv((TextureUnit)target, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2d")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Double s, Double t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2d((TextureUnit)target, (Double)s, (Double)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2dv")]
-        public static 
-        unsafe void MultiTexCoord2(TextureUnit target, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2dv((TextureUnit)target, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2dv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2dv((TextureUnit)target, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2dv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2dv((TextureUnit)target, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2f")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Single s, Single t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2f((TextureUnit)target, (Single)s, (Single)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2fv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2fv((TextureUnit)target, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2fv")]
-        public static 
-        unsafe void MultiTexCoord2(TextureUnit target, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2fv((TextureUnit)target, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2fv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2fv((TextureUnit)target, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2i")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Int32 s, Int32 t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2i((TextureUnit)target, (Int32)s, (Int32)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2iv")]
-        public static 
-        unsafe void MultiTexCoord2(TextureUnit target, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2iv((TextureUnit)target, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2iv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2iv((TextureUnit)target, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2iv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2iv((TextureUnit)target, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2s")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Int16 s, Int16 t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2s((TextureUnit)target, (Int16)s, (Int16)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2sv")]
-        public static 
-        unsafe void MultiTexCoord2(TextureUnit target, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord2sv((TextureUnit)target, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2sv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2sv((TextureUnit)target, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord2sv")]
-        public static 
-        void MultiTexCoord2(TextureUnit target, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2sv((TextureUnit)target, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3d")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Double s, Double t, Double r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3d((TextureUnit)target, (Double)s, (Double)t, (Double)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3dv")]
-        public static 
-        unsafe void MultiTexCoord3(TextureUnit target, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3dv((TextureUnit)target, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3dv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3dv((TextureUnit)target, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3dv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3dv((TextureUnit)target, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3f")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Single s, Single t, Single r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3f((TextureUnit)target, (Single)s, (Single)t, (Single)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3fv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3fv((TextureUnit)target, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3fv")]
-        public static 
-        unsafe void MultiTexCoord3(TextureUnit target, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3fv((TextureUnit)target, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3fv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3fv((TextureUnit)target, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3i")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Int32 s, Int32 t, Int32 r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3i((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3iv")]
-        public static 
-        unsafe void MultiTexCoord3(TextureUnit target, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3iv((TextureUnit)target, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3iv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3iv((TextureUnit)target, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3iv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3iv((TextureUnit)target, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3s")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Int16 s, Int16 t, Int16 r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3s((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3sv")]
-        public static 
-        unsafe void MultiTexCoord3(TextureUnit target, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord3sv((TextureUnit)target, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3sv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3sv((TextureUnit)target, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord3sv")]
-        public static 
-        void MultiTexCoord3(TextureUnit target, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3sv((TextureUnit)target, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4d")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Double s, Double t, Double r, Double q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4d((TextureUnit)target, (Double)s, (Double)t, (Double)r, (Double)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4dv")]
-        public static 
-        unsafe void MultiTexCoord4(TextureUnit target, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4dv((TextureUnit)target, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4dv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4dv((TextureUnit)target, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4dv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4dv((TextureUnit)target, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4f")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Single s, Single t, Single r, Single q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4f((TextureUnit)target, (Single)s, (Single)t, (Single)r, (Single)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4fv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4fv((TextureUnit)target, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4fv")]
-        public static 
-        unsafe void MultiTexCoord4(TextureUnit target, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4fv((TextureUnit)target, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4fv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4fv((TextureUnit)target, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4i")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4i((TextureUnit)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4iv")]
-        public static 
-        unsafe void MultiTexCoord4(TextureUnit target, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4iv((TextureUnit)target, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4iv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4iv((TextureUnit)target, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4iv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4iv((TextureUnit)target, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4s")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4s((TextureUnit)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4sv")]
-        public static 
-        unsafe void MultiTexCoord4(TextureUnit target, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultiTexCoord4sv((TextureUnit)target, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4sv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4sv((TextureUnit)target, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of GL_TEXTURE, where i ranges from 0 to GL_MAX_TEXTURE_COORDS - 1, which is an implementation-dependent value.
-        /// </para>
-        /// </param>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates for target texture unit. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultiTexCoord4sv")]
-        public static 
-        void MultiTexCoord4(TextureUnit target, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4sv((TextureUnit)target, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixd")]
-        public static 
-        unsafe void MultMatrix(Double* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultMatrixd((Double*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixd")]
-        public static 
-        void MultMatrix(Double[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glMultMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixd")]
-        public static 
-        void MultMatrix(ref Double m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glMultMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixf")]
-        public static 
-        void MultMatrix(ref Single m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glMultMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixf")]
-        public static 
-        unsafe void MultMatrix(Single* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultMatrixf((Single*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 column-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glMultMatrixf")]
-        public static 
-        void MultMatrix(Single[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glMultMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixd")]
-        public static 
-        unsafe void MultTransposeMatrix(Double* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultTransposeMatrixd((Double*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixd")]
-        public static 
-        void MultTransposeMatrix(Double[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glMultTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixd")]
-        public static 
-        void MultTransposeMatrix(ref Double m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glMultTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixf")]
-        public static 
-        void MultTransposeMatrix(ref Single m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glMultTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixf")]
-        public static 
-        unsafe void MultTransposeMatrix(Single* m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glMultTransposeMatrixf((Single*)m);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with the specified row-major ordered matrix
-        /// </summary>
-        /// <param name="m">
-        /// <para>
-        /// Points to 16 consecutive values that are used as the elements of a 4 times 4 row-major matrix.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13Deprecated", Version = "1.3", EntryPoint = "glMultTransposeMatrixf")]
-        public static 
-        void MultTransposeMatrix(Single[] m)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glMultTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Create or replace a display list
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies the display-list name.
-        /// </para>
-        /// </param>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNewList")]
-        public static 
-        void NewList(Int32 list, ListMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNewList((UInt32)list, (ListMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Create or replace a display list
-        /// </summary>
-        /// <param name="list">
-        /// <para>
-        /// Specifies the display-list name.
-        /// </para>
-        /// </param>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies the compilation mode, which can be GL_COMPILE or GL_COMPILE_AND_EXECUTE.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNewList")]
-        public static 
-        void NewList(UInt32 list, ListMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNewList((UInt32)list, (ListMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3b")]
-        public static 
-        void Normal3(Byte nx, Byte ny, Byte nz)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3b")]
-        public static 
-        void Normal3(SByte nx, SByte ny, SByte nz)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")]
-        public static 
-        unsafe void Normal3(Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3bv((SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")]
-        public static 
-        void Normal3(Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")]
-        public static 
-        void Normal3(ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")]
-        public static 
-        void Normal3(ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")]
-        public static 
-        unsafe void Normal3(SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3bv((SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3bv")]
-        public static 
-        void Normal3(SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3d")]
-        public static 
-        void Normal3(Double nx, Double ny, Double nz)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3d((Double)nx, (Double)ny, (Double)nz);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3dv")]
-        public static 
-        unsafe void Normal3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3dv")]
-        public static 
-        void Normal3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glNormal3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3dv")]
-        public static 
-        void Normal3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glNormal3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3f")]
-        public static 
-        void Normal3(Single nx, Single ny, Single nz)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3f((Single)nx, (Single)ny, (Single)nz);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3fv")]
-        public static 
-        void Normal3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glNormal3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3fv")]
-        public static 
-        unsafe void Normal3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3fv")]
-        public static 
-        void Normal3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glNormal3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3i")]
-        public static 
-        void Normal3(Int32 nx, Int32 ny, Int32 nz)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3i((Int32)nx, (Int32)ny, (Int32)nz);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3iv")]
-        public static 
-        unsafe void Normal3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3iv")]
-        public static 
-        void Normal3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glNormal3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3iv")]
-        public static 
-        void Normal3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glNormal3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3s")]
-        public static 
-        void Normal3(Int16 nx, Int16 ny, Int16 nz)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3s((Int16)nx, (Int16)ny, (Int16)nz);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3sv")]
-        public static 
-        unsafe void Normal3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormal3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3sv")]
-        public static 
-        void Normal3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glNormal3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current normal vector
-        /// </summary>
-        /// <param name="nx">
-        /// <para>
-        /// Specify the , , and coordinates of the new current normal. The initial value of the current normal is the unit vector, (0, 0, 1).
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glNormal3sv")]
-        public static 
-        void Normal3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glNormal3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")]
-        public static 
-        void NormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")]
-        public static 
-        void NormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")]
-        public static 
-        void NormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")]
-        public static 
-        void NormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer)
-            where T2 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glNormalPointer")]
-        public static 
-        void NormalPointer(NormalPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glNormalPointer((NormalPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix with an orthographic matrix
-        /// </summary>
-        /// <param name="left">
-        /// <para>
-        /// Specify the coordinates for the left and right vertical clipping planes.
-        /// </para>
-        /// </param>
-        /// <param name="bottom">
-        /// <para>
-        /// Specify the coordinates for the bottom and top horizontal clipping planes.
-        /// </para>
-        /// </param>
-        /// <param name="nearVal">
-        /// <para>
-        /// Specify the distances to the nearer and farther depth clipping planes. These values are negative if the plane is to be behind the viewer.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glOrtho")]
-        public static 
-        void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glOrtho((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Place a marker in the feedback buffer
-        /// </summary>
-        /// <param name="token">
-        /// <para>
-        /// Specifies a marker value to be placed in the feedback buffer following a GL_PASS_THROUGH_TOKEN.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPassThrough")]
-        public static 
-        void PassThrough(Single token)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPassThrough((Single)token);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapfv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, ref Single values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* values_ptr = &values)
-                {
-                    Delegates.glPixelMapfv((PixelMap)map, (Int32)mapsize, (Single*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapfv")]
-        public static 
-        unsafe void PixelMap(PixelMap map, Int32 mapsize, Single* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelMapfv((PixelMap)map, (Int32)mapsize, (Single*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapfv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, Single[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* values_ptr = values)
-                {
-                    Delegates.glPixelMapfv((PixelMap)map, (Int32)mapsize, (Single*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")]
-        public static 
-        unsafe void PixelMap(PixelMap map, Int32 mapsize, Int32* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, Int32[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* values_ptr = values)
-                {
-                    Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, ref Int32 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* values_ptr = &values)
-                {
-                    Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, ref UInt32 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* values_ptr = &values)
-                {
-                    Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")]
-        public static 
-        unsafe void PixelMap(PixelMap map, Int32 mapsize, UInt32* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapuiv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, UInt32[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* values_ptr = values)
-                {
-                    Delegates.glPixelMapuiv((PixelMap)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")]
-        public static 
-        unsafe void PixelMap(PixelMap map, Int32 mapsize, Int16* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, Int16[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* values_ptr = values)
-                {
-                    Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, ref Int16 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* values_ptr = &values)
-                {
-                    Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, ref UInt16 values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* values_ptr = &values)
-                {
-                    Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")]
-        public static 
-        unsafe void PixelMap(PixelMap map, Int32 mapsize, UInt16* values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set up pixel transfer maps
-        /// </summary>
-        /// <param name="map">
-        /// <para>
-        /// Specifies a symbolic map name. Must be one of the following: GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, or GL_PIXEL_MAP_A_TO_A.
-        /// </para>
-        /// </param>
-        /// <param name="mapsize">
-        /// <para>
-        /// Specifies the size of the map being defined.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// Specifies an array of mapsize values.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelMapusv")]
-        public static 
-        void PixelMap(PixelMap map, Int32 mapsize, UInt16[] values)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* values_ptr = values)
-                {
-                    Delegates.glPixelMapusv((PixelMap)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set pixel storage modes
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname is set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPixelStoref")]
-        public static 
-        void PixelStore(PixelStoreParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelStoref((PixelStoreParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set pixel storage modes
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the parameter to be set. Six values affect the packing of pixel data into memory: GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_IMAGE_HEIGHT, GL_PACK_SKIP_PIXELS, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_IMAGES, and GL_PACK_ALIGNMENT. Six more affect the unpacking of pixel data from memory: GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_IMAGE_HEIGHT, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_IMAGES, and GL_UNPACK_ALIGNMENT.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname is set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPixelStorei")]
-        public static 
-        void PixelStore(PixelStoreParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelStorei((PixelStoreParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set pixel transfer modes
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS.
-        /// </para>
-        /// <para>
-        /// Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname is set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelTransferf")]
-        public static 
-        void PixelTransfer(PixelTransferParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelTransferf((PixelTransferParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set pixel transfer modes
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the pixel transfer parameter to be set. Must be one of the following: GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, or GL_DEPTH_BIAS.
-        /// </para>
-        /// <para>
-        /// Additionally, if the ARB_imaging extension is supported, the following symbolic names are accepted: GL_POST_COLOR_MATRIX_RED_SCALE, GL_POST_COLOR_MATRIX_GREEN_SCALE, GL_POST_COLOR_MATRIX_BLUE_SCALE, GL_POST_COLOR_MATRIX_ALPHA_SCALE, GL_POST_COLOR_MATRIX_RED_BIAS, GL_POST_COLOR_MATRIX_GREEN_BIAS, GL_POST_COLOR_MATRIX_BLUE_BIAS, GL_POST_COLOR_MATRIX_ALPHA_BIAS, GL_POST_CONVOLUTION_RED_SCALE, GL_POST_CONVOLUTION_GREEN_SCALE, GL_POST_CONVOLUTION_BLUE_SCALE, GL_POST_CONVOLUTION_ALPHA_SCALE, GL_POST_CONVOLUTION_RED_BIAS, GL_POST_CONVOLUTION_GREEN_BIAS, GL_POST_CONVOLUTION_BLUE_BIAS, and GL_POST_CONVOLUTION_ALPHA_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname is set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelTransferi")]
-        public static 
-        void PixelTransfer(PixelTransferParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelTransferi((PixelTransferParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the pixel zoom factors
-        /// </summary>
-        /// <param name="xfactor">
-        /// <para>
-        /// Specify the and zoom factors for pixel write operations.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPixelZoom")]
-        public static 
-        void PixelZoom(Single xfactor, Single yfactor)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPixelZoom((Single)xfactor, (Single)yfactor);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameterf")]
-        public static 
-        void PointParameter(PointParameterName pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPointParameterf((PointParameterName)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameterfv")]
-        public static 
-        unsafe void PointParameter(PointParameterName pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPointParameterfv((PointParameterName)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameterfv")]
-        public static 
-        void PointParameter(PointParameterName pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPointParameterfv((PointParameterName)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameteri")]
-        public static 
-        void PointParameter(PointParameterName pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPointParameteri((PointParameterName)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameteriv")]
-        public static 
-        unsafe void PointParameter(PointParameterName pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPointParameteriv((PointParameterName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14", Version = "1.4", EntryPoint = "glPointParameteriv")]
-        public static 
-        void PointParameter(PointParameterName pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glPointParameteriv((PointParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the diameter of rasterized points
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the diameter of rasterized points. The initial value is 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPointSize")]
-        public static 
-        void PointSize(Single size)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPointSize((Single)size);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Select a polygon rasterization mode
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies the polygons that mode applies to. Must be GL_FRONT for front-facing polygons, GL_BACK for back-facing polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons.
-        /// </para>
-        /// </param>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies how polygons will be rasterized. Accepted values are GL_POINT, GL_LINE, and GL_FILL. The initial value is GL_FILL for both front- and back-facing polygons.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glPolygonMode")]
-        public static 
-        void PolygonMode(MaterialFace face, PolygonMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPolygonMode((MaterialFace)face, (PolygonMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the scale and units used to calculate depth values
-        /// </summary>
-        /// <param name="factor">
-        /// <para>
-        /// Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="units">
-        /// <para>
-        /// Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glPolygonOffset")]
-        public static 
-        void PolygonOffset(Single factor, Single units)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPolygonOffset((Single)factor, (Single)units);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the polygon stippling pattern
-        /// </summary>
-        /// <param name="pattern">
-        /// <para>
-        /// Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPolygonStipple")]
-        public static 
-        unsafe void PolygonStipple(Byte* mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPolygonStipple((Byte*)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the polygon stippling pattern
-        /// </summary>
-        /// <param name="pattern">
-        /// <para>
-        /// Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPolygonStipple")]
-        public static 
-        void PolygonStipple(Byte[] mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* mask_ptr = mask)
-                {
-                    Delegates.glPolygonStipple((Byte*)mask_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the polygon stippling pattern
-        /// </summary>
-        /// <param name="pattern">
-        /// <para>
-        /// Specifies a pointer to a 32 times 32 stipple pattern that will be unpacked from memory in the same way that glDrawPixels unpacks pixels.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPolygonStipple")]
-        public static 
-        void PolygonStipple(ref Byte mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* mask_ptr = &mask)
-                {
-                    Delegates.glPolygonStipple((Byte*)mask_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPopAttrib")]
-        public static 
-        void PopAttrib()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPopAttrib();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPopClientAttrib")]
-        public static 
-        void PopClientAttrib()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPopClientAttrib();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPopMatrix")]
-        public static 
-        void PopMatrix()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPopMatrix();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPopName")]
-        public static 
-        void PopName()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPopName();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glPrimitiveRestartIndex")]
-        public static 
-        void PrimitiveRestartIndex(Int32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPrimitiveRestartIndex((UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glPrimitiveRestartIndex")]
-        public static 
-        void PrimitiveRestartIndex(UInt32 index)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPrimitiveRestartIndex((UInt32)index);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")]
-        public static 
-        unsafe void PrioritizeTextures(Int32 n, Int32* textures, Single* priorities)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")]
-        public static 
-        void PrioritizeTextures(Int32 n, Int32[] textures, Single[] priorities)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")]
-        public static 
-        void PrioritizeTextures(Int32 n, ref Int32 textures, ref Single priorities)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")]
-        public static 
-        void PrioritizeTextures(Int32 n, ref UInt32 textures, ref Single priorities)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")]
-        public static 
-        unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPrioritizeTextures")]
-        public static 
-        void PrioritizeTextures(Int32 n, UInt32[] textures, Single[] priorities)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glProgramParameteri")]
-        public static 
-        void ProgramParameter(Int32 program, Version32 pname, Int32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glProgramParameteri((UInt32)program, (Version32)pname, (Int32)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version32", Version = "1.2", EntryPoint = "glProgramParameteri")]
-        public static 
-        void ProgramParameter(UInt32 program, Version32 pname, Int32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glProgramParameteri((UInt32)program, (Version32)pname, (Int32)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbProvokingVertex", Version = "1.2", EntryPoint = "glProvokingVertex")]
-        public static 
-        void ProvokingVertex(ArbProvokingVertex mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glProvokingVertex((ArbProvokingVertex)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Push and pop the server attribute stack
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a mask that indicates which attributes to save. Values for mask are listed below.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushAttrib")]
-        public static 
-        void PushAttrib(AttribMask mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPushAttrib((AttribMask)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Push and pop the client attribute stack
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a mask that indicates which attributes to save. Values for mask are listed below.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glPushClientAttrib")]
-        public static 
-        void PushClientAttrib(ClientAttribMask mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPushClientAttrib((ClientAttribMask)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Push and pop the current matrix stack
-        /// </summary>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushMatrix")]
-        public static 
-        void PushMatrix()
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPushMatrix();
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Push and pop the name stack
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a name that will be pushed onto the name stack.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushName")]
-        public static 
-        void PushName(Int32 name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPushName((UInt32)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Push and pop the name stack
-        /// </summary>
-        /// <param name="name">
-        /// <para>
-        /// Specifies a name that will be pushed onto the name stack.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glPushName")]
-        public static 
-        void PushName(UInt32 name)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glPushName((UInt32)name);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2d")]
-        public static 
-        void RasterPos2(Double x, Double y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2d((Double)x, (Double)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2dv")]
-        public static 
-        unsafe void RasterPos2(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2dv")]
-        public static 
-        void RasterPos2(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glRasterPos2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2dv")]
-        public static 
-        void RasterPos2(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2f")]
-        public static 
-        void RasterPos2(Single x, Single y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2f((Single)x, (Single)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2fv")]
-        public static 
-        void RasterPos2(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2fv")]
-        public static 
-        unsafe void RasterPos2(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2fv")]
-        public static 
-        void RasterPos2(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glRasterPos2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2i")]
-        public static 
-        void RasterPos2(Int32 x, Int32 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2i((Int32)x, (Int32)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2iv")]
-        public static 
-        unsafe void RasterPos2(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2iv")]
-        public static 
-        void RasterPos2(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glRasterPos2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2iv")]
-        public static 
-        void RasterPos2(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2s")]
-        public static 
-        void RasterPos2(Int16 x, Int16 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2s((Int16)x, (Int16)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2sv")]
-        public static 
-        unsafe void RasterPos2(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos2sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2sv")]
-        public static 
-        void RasterPos2(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glRasterPos2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos2sv")]
-        public static 
-        void RasterPos2(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3d")]
-        public static 
-        void RasterPos3(Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3d((Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3dv")]
-        public static 
-        unsafe void RasterPos3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3dv")]
-        public static 
-        void RasterPos3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glRasterPos3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3dv")]
-        public static 
-        void RasterPos3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3f")]
-        public static 
-        void RasterPos3(Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3f((Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3fv")]
-        public static 
-        void RasterPos3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3fv")]
-        public static 
-        unsafe void RasterPos3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3fv")]
-        public static 
-        void RasterPos3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glRasterPos3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3i")]
-        public static 
-        void RasterPos3(Int32 x, Int32 y, Int32 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3i((Int32)x, (Int32)y, (Int32)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3iv")]
-        public static 
-        unsafe void RasterPos3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3iv")]
-        public static 
-        void RasterPos3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glRasterPos3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3iv")]
-        public static 
-        void RasterPos3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3s")]
-        public static 
-        void RasterPos3(Int16 x, Int16 y, Int16 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3s((Int16)x, (Int16)y, (Int16)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3sv")]
-        public static 
-        unsafe void RasterPos3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3sv")]
-        public static 
-        void RasterPos3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glRasterPos3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos3sv")]
-        public static 
-        void RasterPos3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4d")]
-        public static 
-        void RasterPos4(Double x, Double y, Double z, Double w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4d((Double)x, (Double)y, (Double)z, (Double)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4dv")]
-        public static 
-        unsafe void RasterPos4(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4dv")]
-        public static 
-        void RasterPos4(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glRasterPos4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4dv")]
-        public static 
-        void RasterPos4(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4f")]
-        public static 
-        void RasterPos4(Single x, Single y, Single z, Single w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4f((Single)x, (Single)y, (Single)z, (Single)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4fv")]
-        public static 
-        void RasterPos4(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4fv")]
-        public static 
-        unsafe void RasterPos4(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4fv")]
-        public static 
-        void RasterPos4(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glRasterPos4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4i")]
-        public static 
-        void RasterPos4(Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4i((Int32)x, (Int32)y, (Int32)z, (Int32)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4iv")]
-        public static 
-        unsafe void RasterPos4(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4iv")]
-        public static 
-        void RasterPos4(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glRasterPos4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4iv")]
-        public static 
-        void RasterPos4(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4s")]
-        public static 
-        void RasterPos4(Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4s((Int16)x, (Int16)y, (Int16)z, (Int16)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4sv")]
-        public static 
-        unsafe void RasterPos4(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRasterPos4sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4sv")]
-        public static 
-        void RasterPos4(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glRasterPos4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , , and object coordinates (if present) for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRasterPos4sv")]
-        public static 
-        void RasterPos4(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Select a color buffer source for pixels
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies a color buffer. Accepted values are GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and GL_AUXi, where i is between 0 and the value of GL_AUX_BUFFERS minus 1.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadBuffer")]
-        public static 
-        void ReadBuffer(ReadBufferMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glReadBuffer((ReadBufferMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Read a block of pixels from the frame buffer
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")]
-        public static 
-        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Read a block of pixels from the frame buffer
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")]
-        public static 
-        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Read a block of pixels from the frame buffer
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")]
-        public static 
-        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Read a block of pixels from the frame buffer
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")]
-        public static 
-        void ReadPixels<T6>(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Read a block of pixels from the frame buffer
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the dimensions of the pixel rectangle. width and height of one correspond to a single pixel.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. Must be one of GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, or GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Returns the pixel data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glReadPixels")]
-        public static 
-        void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, PixelFormat format, PixelType type, [Out] IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectd")]
-        public static 
-        void Rect(Double x1, Double y1, Double x2, Double y2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRectd((Double)x1, (Double)y1, (Double)x2, (Double)y2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectdv")]
-        public static 
-        unsafe void Rect(Double* v1, Double* v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRectdv((Double*)v1, (Double*)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectdv")]
-        public static 
-        void Rect(Double[] v1, Double[] v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v1_ptr = v1)
-                fixed (Double* v2_ptr = v2)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectdv")]
-        public static 
-        void Rect(ref Double v1, ref Double v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v1_ptr = &v1)
-                fixed (Double* v2_ptr = &v2)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectf")]
-        public static 
-        void Rect(Single x1, Single y1, Single x2, Single y2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRectf((Single)x1, (Single)y1, (Single)x2, (Single)y2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectfv")]
-        public static 
-        void Rect(ref Single v1, ref Single v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v1_ptr = &v1)
-                fixed (Single* v2_ptr = &v2)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectfv")]
-        public static 
-        unsafe void Rect(Single* v1, Single* v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRectfv((Single*)v1, (Single*)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectfv")]
-        public static 
-        void Rect(Single[] v1, Single[] v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v1_ptr = v1)
-                fixed (Single* v2_ptr = v2)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRecti")]
-        public static 
-        void Rect(Int32 x1, Int32 y1, Int32 x2, Int32 y2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRecti((Int32)x1, (Int32)y1, (Int32)x2, (Int32)y2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectiv")]
-        public static 
-        unsafe void Rect(Int32* v1, Int32* v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRectiv((Int32*)v1, (Int32*)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectiv")]
-        public static 
-        void Rect(Int32[] v1, Int32[] v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v1_ptr = v1)
-                fixed (Int32* v2_ptr = v2)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectiv")]
-        public static 
-        void Rect(ref Int32 v1, ref Int32 v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v1_ptr = &v1)
-                fixed (Int32* v2_ptr = &v2)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRects")]
-        public static 
-        void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRects((Int16)x1, (Int16)y1, (Int16)x2, (Int16)y2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectsv")]
-        public static 
-        unsafe void Rect(Int16* v1, Int16* v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRectsv((Int16*)v1, (Int16*)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectsv")]
-        public static 
-        void Rect(Int16[] v1, Int16[] v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v1_ptr = v1)
-                fixed (Int16* v2_ptr = v2)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Draw a rectangle
-        /// </summary>
-        /// <param name="x1">
-        /// <para>
-        /// Specify one vertex of a rectangle.
-        /// </para>
-        /// </param>
-        /// <param name="x2">
-        /// <para>
-        /// Specify the opposite vertex of the rectangle.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRectsv")]
-        public static 
-        void Rect(ref Int16 v1, ref Int16 v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v1_ptr = &v1)
-                fixed (Int16* v2_ptr = &v2)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glRenderbufferStorage")]
-        public static 
-        void RenderbufferStorage(RenderbufferTarget target, RenderbufferStorage internalformat, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRenderbufferStorage((RenderbufferTarget)target, (RenderbufferStorage)internalformat, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbFramebufferObject", Version = "3.0", EntryPoint = "glRenderbufferStorageMultisample")]
-        public static 
-        void RenderbufferStorageMultisample(RenderbufferTarget target, Int32 samples, RenderbufferStorage internalformat, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRenderbufferStorageMultisample((RenderbufferTarget)target, (Int32)samples, (RenderbufferStorage)internalformat, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set rasterization mode
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies the rasterization mode. Three values are accepted: GL_RENDER, GL_SELECT, and GL_FEEDBACK. The initial value is GL_RENDER.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRenderMode")]
-        public static 
-        Int32 RenderMode(RenderingMode mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glRenderMode((RenderingMode)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Reset histogram table entries to zero
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glResetHistogram")]
-        public static 
-        void ResetHistogram(Version12Deprecated target)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glResetHistogram((Version12Deprecated)target);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Reset minmax table entries to initial values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glResetMinmax")]
-        public static 
-        void ResetMinmax(Version12Deprecated target)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glResetMinmax((Version12Deprecated)target);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a rotation matrix
-        /// </summary>
-        /// <param name="angle">
-        /// <para>
-        /// Specifies the angle of rotation, in degrees.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the x, y, and z coordinates of a vector, respectively.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRotated")]
-        public static 
-        void Rotate(Double angle, Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRotated((Double)angle, (Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a rotation matrix
-        /// </summary>
-        /// <param name="angle">
-        /// <para>
-        /// Specifies the angle of rotation, in degrees.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the x, y, and z coordinates of a vector, respectively.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glRotatef")]
-        public static 
-        void Rotate(Single angle, Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glRotatef((Single)angle, (Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify multisample coverage parameters
-        /// </summary>
-        /// <param name="value">
-        /// <para>
-        /// Specify a single floating-point sample coverage value. The value is clamped to the range [0 ,1]. The initial value is 1.0.
-        /// </para>
-        /// </param>
-        /// <param name="invert">
-        /// <para>
-        /// Specify a single boolean value representing if the coverage masks should be inverted. GL_TRUE and GL_FALSE are accepted. The initial value is GL_FALSE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version13", Version = "1.3", EntryPoint = "glSampleCoverage")]
-        public static 
-        void SampleCoverage(Single value, bool invert)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSampleCoverage((Single)value, (bool)invert);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glSampleMaski")]
-        public static 
-        void SampleMask(Int32 index, Int32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSampleMaski((UInt32)index, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glSampleMaski")]
-        public static 
-        void SampleMask(UInt32 index, UInt32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSampleMaski((UInt32)index, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a general scaling matrix
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify scale factors along the x, y, and z axes, respectively.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glScaled")]
-        public static 
-        void Scale(Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glScaled((Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a general scaling matrix
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify scale factors along the x, y, and z axes, respectively.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glScalef")]
-        public static 
-        void Scale(Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glScalef((Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define the scissor box
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the lower left corner of the scissor box. Initially (0, 0).
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the width and height of the scissor box. When a GL context is first attached to a window, width and height are set to the dimensions of that window.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glScissor")]
-        public static 
-        void Scissor(Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glScissor((Int32)x, (Int32)y, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3b")]
-        public static 
-        void SecondaryColor3(SByte red, SByte green, SByte blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3b((SByte)red, (SByte)green, (SByte)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3bv")]
-        public static 
-        void SecondaryColor3(ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3bv")]
-        public static 
-        unsafe void SecondaryColor3(SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3bv((SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3bv")]
-        public static 
-        void SecondaryColor3(SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3bv((SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3d")]
-        public static 
-        void SecondaryColor3(Double red, Double green, Double blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3d((Double)red, (Double)green, (Double)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3dv")]
-        public static 
-        unsafe void SecondaryColor3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3dv")]
-        public static 
-        void SecondaryColor3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3dv")]
-        public static 
-        void SecondaryColor3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3f")]
-        public static 
-        void SecondaryColor3(Single red, Single green, Single blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3f((Single)red, (Single)green, (Single)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3fv")]
-        public static 
-        void SecondaryColor3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3fv")]
-        public static 
-        unsafe void SecondaryColor3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3fv")]
-        public static 
-        void SecondaryColor3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3i")]
-        public static 
-        void SecondaryColor3(Int32 red, Int32 green, Int32 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3i((Int32)red, (Int32)green, (Int32)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3iv")]
-        public static 
-        unsafe void SecondaryColor3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3iv")]
-        public static 
-        void SecondaryColor3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3iv")]
-        public static 
-        void SecondaryColor3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3s")]
-        public static 
-        void SecondaryColor3(Int16 red, Int16 green, Int16 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3s((Int16)red, (Int16)green, (Int16)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3sv")]
-        public static 
-        unsafe void SecondaryColor3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3sv")]
-        public static 
-        void SecondaryColor3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3sv")]
-        public static 
-        void SecondaryColor3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ub")]
-        public static 
-        void SecondaryColor3(Byte red, Byte green, Byte blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3ub((Byte)red, (Byte)green, (Byte)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ubv")]
-        public static 
-        unsafe void SecondaryColor3(Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3ubv((Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ubv")]
-        public static 
-        void SecondaryColor3(Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3ubv((Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ubv")]
-        public static 
-        void SecondaryColor3(ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3ubv((Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3ui")]
-        public static 
-        void SecondaryColor3(UInt32 red, UInt32 green, UInt32 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3ui((UInt32)red, (UInt32)green, (UInt32)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3uiv")]
-        public static 
-        void SecondaryColor3(ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3uiv((UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3uiv")]
-        public static 
-        unsafe void SecondaryColor3(UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3uiv((UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3uiv")]
-        public static 
-        void SecondaryColor3(UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3uiv((UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3us")]
-        public static 
-        void SecondaryColor3(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3us((UInt16)red, (UInt16)green, (UInt16)blue);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3usv")]
-        public static 
-        void SecondaryColor3(ref UInt16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3usv((UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3usv")]
-        public static 
-        unsafe void SecondaryColor3(UInt16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColor3usv((UInt16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColor3usv")]
-        public static 
-        void SecondaryColor3(UInt16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3usv((UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")]
-        public static 
-        void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")]
-        public static 
-        void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")]
-        public static 
-        void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")]
-        public static 
-        void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glSecondaryColorPointer")]
-        public static 
-        void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSecondaryColorPointer((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Establish a buffer for selection mode values
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size of buffer.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the selection data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")]
-        public static 
-        unsafe void SelectBuffer(Int32 size, [Out] Int32* buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Establish a buffer for selection mode values
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size of buffer.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the selection data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")]
-        public static 
-        void SelectBuffer(Int32 size, [Out] Int32[] buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* buffer_ptr = buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Establish a buffer for selection mode values
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size of buffer.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the selection data.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")]
-        public static 
-        void SelectBuffer(Int32 size, [Out] out Int32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* buffer_ptr = &buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Establish a buffer for selection mode values
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size of buffer.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the selection data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")]
-        public static 
-        void SelectBuffer(Int32 size, [Out] out UInt32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* buffer_ptr = &buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Establish a buffer for selection mode values
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size of buffer.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the selection data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")]
-        public static 
-        unsafe void SelectBuffer(Int32 size, [Out] UInt32* buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Establish a buffer for selection mode values
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the size of buffer.
-        /// </para>
-        /// </param>
-        /// <param name="buffer">
-        /// <para>
-        /// Returns the selection data.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glSelectBuffer")]
-        public static 
-        void SelectBuffer(Int32 size, [Out] UInt32[] buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* buffer_ptr = buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T6,T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 row, [In, Out] T7[,,] column)
-            where T6 : struct
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T6,T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] row, [In, Out] T7[,,] column)
-            where T6 : struct
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T6,T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] row, [In, Out] T7[,,] column)
-            where T6 : struct
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T6,T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] row, [In, Out] T7[,,] column)
-            where T6 : struct
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                row_ptr.Free();
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] ref T7 column)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,,] column)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,] column)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D<T7>(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[] column)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                column_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12Deprecated", Version = "1.2", EntryPoint = "glSeparableFilter2D")]
-        public static 
-        void SeparableFilter2D(Version12Deprecated target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, IntPtr column)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glSeparableFilter2D((Version12Deprecated)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Select flat or smooth shading
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies a symbolic value representing a shading technique. Accepted values are GL_FLAT and GL_SMOOTH. The initial value is GL_SMOOTH.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glShadeModel")]
-        public static 
-        void ShadeModel(ShadingModel mode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glShadeModel((ShadingModel)mode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")]
-        public static 
-        unsafe void ShaderSource(Int32 shader, Int32 count, String[] @string, Int32* length)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")]
-        public static 
-        void ShaderSource(Int32 shader, Int32 count, String[] @string, ref Int32 length)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")]
-        public static 
-        unsafe void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Replaces the source code in a shader object
-        /// </summary>
-        /// <param name="shader">
-        /// <para>
-        /// Specifies the handle of the shader object whose source code is to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements in the string and length arrays.
-        /// </para>
-        /// </param>
-        /// <param name="string">
-        /// <para>
-        /// Specifies an array of pointers to strings containing the source code to be loaded into the shader.
-        /// </para>
-        /// </param>
-        /// <param name="length">
-        /// <para>
-        /// Specifies an array of string lengths.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glShaderSource")]
-        public static 
-        void ShaderSource(UInt32 shader, Int32 count, String[] @string, ref Int32 length)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glShaderSource((UInt32)shader, (Int32)count, (String[])@string, (Int32*)length_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set front and back function and reference value for stencil testing
-        /// </summary>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilFunc")]
-        public static 
-        void StencilFunc(StencilFunction func, Int32 @ref, Int32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilFunc((StencilFunction)func, (Int32)@ref, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set front and back function and reference value for stencil testing
-        /// </summary>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilFunc")]
-        public static 
-        void StencilFunc(StencilFunction func, Int32 @ref, UInt32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilFunc((StencilFunction)func, (Int32)@ref, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set front and/or back function and reference value for stencil testing
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilFuncSeparate")]
-        public static 
-        void StencilFuncSeparate(StencilFace face, StencilFunction func, Int32 @ref, Int32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilFuncSeparate((StencilFace)face, (StencilFunction)func, (Int32)@ref, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set front and/or back function and reference value for stencil testing
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="func">
-        /// <para>
-        /// Specifies the test function. Eight symbolic constants are valid: GL_NEVER, GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_EQUAL, GL_NOTEQUAL, and GL_ALWAYS. The initial value is GL_ALWAYS.
-        /// </para>
-        /// </param>
-        /// <param name="ref">
-        /// <para>
-        /// Specifies the reference value for the stencil test. ref is clamped to the range [0, 2 sup n - 1], where is the number of bitplanes in the stencil buffer. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// 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.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilFuncSeparate")]
-        public static 
-        void StencilFuncSeparate(StencilFace face, StencilFunction func, Int32 @ref, UInt32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilFuncSeparate((StencilFace)face, (StencilFunction)func, (Int32)@ref, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the front and back writing of individual bits in the stencil planes
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilMask")]
-        public static 
-        void StencilMask(Int32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilMask((UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the front and back writing of individual bits in the stencil planes
-        /// </summary>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilMask")]
-        public static 
-        void StencilMask(UInt32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilMask((UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the front and/or back writing of individual bits in the stencil planes
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilMaskSeparate")]
-        public static 
-        void StencilMaskSeparate(StencilFace face, Int32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilMaskSeparate((StencilFace)face, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the front and/or back writing of individual bits in the stencil planes
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether the front and/or back stencil writemask is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="mask">
-        /// <para>
-        /// Specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilMaskSeparate")]
-        public static 
-        void StencilMaskSeparate(StencilFace face, UInt32 mask)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilMaskSeparate((StencilFace)face, (UInt32)mask);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set front and back stencil test actions
-        /// </summary>
-        /// <param name="sfail">
-        /// <para>
-        /// Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        /// <param name="dpfail">
-        /// <para>
-        /// Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        /// <param name="dppass">
-        /// <para>
-        /// 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. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glStencilOp")]
-        public static 
-        void StencilOp(StencilOp fail, StencilOp zfail, StencilOp zpass)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilOp((StencilOp)fail, (StencilOp)zfail, (StencilOp)zpass);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set front and/or back stencil test actions
-        /// </summary>
-        /// <param name="face">
-        /// <para>
-        /// Specifies whether front and/or back stencil state is updated. Three symbolic constants are valid: GL_FRONT, GL_BACK, and GL_FRONT_AND_BACK.
-        /// </para>
-        /// </param>
-        /// <param name="sfail">
-        /// <para>
-        /// Specifies the action to take when the stencil test fails. Eight symbolic constants are accepted: GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP, and GL_INVERT. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        /// <param name="dpfail">
-        /// <para>
-        /// Specifies the stencil action when the stencil test passes, but the depth test fails. dpfail accepts the same symbolic constants as sfail. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        /// <param name="dppass">
-        /// <para>
-        /// 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. dppass accepts the same symbolic constants as sfail. The initial value is GL_KEEP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glStencilOpSeparate")]
-        public static 
-        void StencilOpSeparate(StencilFace face, StencilOp sfail, StencilOp dpfail, StencilOp dppass)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glStencilOpSeparate((StencilFace)face, (StencilOp)sfail, (StencilOp)dpfail, (StencilOp)dppass);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glTexBuffer")]
-        public static 
-        void TexBuffer(TextureBufferTarget target, SizedInternalFormat internalformat, Int32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexBuffer((TextureBufferTarget)target, (SizedInternalFormat)internalformat, (UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version31", Version = "3.1", EntryPoint = "glTexBuffer")]
-        public static 
-        void TexBuffer(TextureBufferTarget target, SizedInternalFormat internalformat, UInt32 buffer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexBuffer((TextureBufferTarget)target, (SizedInternalFormat)internalformat, (UInt32)buffer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1d")]
-        public static 
-        void TexCoord1(Double s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1d((Double)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1dv")]
-        public static 
-        unsafe void TexCoord1(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1f")]
-        public static 
-        void TexCoord1(Single s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1f((Single)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1fv")]
-        public static 
-        unsafe void TexCoord1(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1i")]
-        public static 
-        void TexCoord1(Int32 s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1i((Int32)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1iv")]
-        public static 
-        unsafe void TexCoord1(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1s")]
-        public static 
-        void TexCoord1(Int16 s)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1s((Int16)s);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord1sv")]
-        public static 
-        unsafe void TexCoord1(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord1sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2d")]
-        public static 
-        void TexCoord2(Double s, Double t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2d((Double)s, (Double)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2dv")]
-        public static 
-        unsafe void TexCoord2(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2dv")]
-        public static 
-        void TexCoord2(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2dv")]
-        public static 
-        void TexCoord2(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2f")]
-        public static 
-        void TexCoord2(Single s, Single t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2f((Single)s, (Single)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2fv")]
-        public static 
-        void TexCoord2(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2fv")]
-        public static 
-        unsafe void TexCoord2(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2fv")]
-        public static 
-        void TexCoord2(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2i")]
-        public static 
-        void TexCoord2(Int32 s, Int32 t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2i((Int32)s, (Int32)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2iv")]
-        public static 
-        unsafe void TexCoord2(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2iv")]
-        public static 
-        void TexCoord2(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2iv")]
-        public static 
-        void TexCoord2(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2s")]
-        public static 
-        void TexCoord2(Int16 s, Int16 t)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2s((Int16)s, (Int16)t);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2sv")]
-        public static 
-        unsafe void TexCoord2(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord2sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2sv")]
-        public static 
-        void TexCoord2(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord2sv")]
-        public static 
-        void TexCoord2(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3d")]
-        public static 
-        void TexCoord3(Double s, Double t, Double r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3d((Double)s, (Double)t, (Double)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3dv")]
-        public static 
-        unsafe void TexCoord3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3dv")]
-        public static 
-        void TexCoord3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3dv")]
-        public static 
-        void TexCoord3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3f")]
-        public static 
-        void TexCoord3(Single s, Single t, Single r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3f((Single)s, (Single)t, (Single)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3fv")]
-        public static 
-        void TexCoord3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3fv")]
-        public static 
-        unsafe void TexCoord3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3fv")]
-        public static 
-        void TexCoord3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3i")]
-        public static 
-        void TexCoord3(Int32 s, Int32 t, Int32 r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3i((Int32)s, (Int32)t, (Int32)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3iv")]
-        public static 
-        unsafe void TexCoord3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3iv")]
-        public static 
-        void TexCoord3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3iv")]
-        public static 
-        void TexCoord3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3s")]
-        public static 
-        void TexCoord3(Int16 s, Int16 t, Int16 r)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3s((Int16)s, (Int16)t, (Int16)r);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3sv")]
-        public static 
-        unsafe void TexCoord3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3sv")]
-        public static 
-        void TexCoord3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord3sv")]
-        public static 
-        void TexCoord3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4d")]
-        public static 
-        void TexCoord4(Double s, Double t, Double r, Double q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4d((Double)s, (Double)t, (Double)r, (Double)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4dv")]
-        public static 
-        unsafe void TexCoord4(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4dv")]
-        public static 
-        void TexCoord4(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4dv")]
-        public static 
-        void TexCoord4(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4f")]
-        public static 
-        void TexCoord4(Single s, Single t, Single r, Single q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4f((Single)s, (Single)t, (Single)r, (Single)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4fv")]
-        public static 
-        void TexCoord4(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4fv")]
-        public static 
-        unsafe void TexCoord4(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4fv")]
-        public static 
-        void TexCoord4(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4i")]
-        public static 
-        void TexCoord4(Int32 s, Int32 t, Int32 r, Int32 q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4i((Int32)s, (Int32)t, (Int32)r, (Int32)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4iv")]
-        public static 
-        unsafe void TexCoord4(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4iv")]
-        public static 
-        void TexCoord4(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4iv")]
-        public static 
-        void TexCoord4(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4s")]
-        public static 
-        void TexCoord4(Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4s((Int16)s, (Int16)t, (Int16)r, (Int16)q);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4sv")]
-        public static 
-        unsafe void TexCoord4(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoord4sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4sv")]
-        public static 
-        void TexCoord4(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the current texture coordinates
-        /// </summary>
-        /// <param name="s">
-        /// <para>
-        /// Specify s, t, r, and q texture coordinates. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexCoord4sv")]
-        public static 
-        void TexCoord4(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")]
-        public static 
-        void TexCoordPointer<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] ref T3 pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")]
-        public static 
-        void TexCoordPointer<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")]
-        public static 
-        void TexCoordPointer<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")]
-        public static 
-        void TexCoordPointer<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glTexCoordPointer")]
-        public static 
-        void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexCoordPointer((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvf")]
-        public static 
-        void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexEnvf((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvfv")]
-        public static 
-        unsafe void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvfv")]
-        public static 
-        void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glTexEnvfv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnvi")]
-        public static 
-        void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexEnvi((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnviv")]
-        public static 
-        unsafe void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture environment parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a texture environment. May be GL_TEXTURE_ENV, GL_TEXTURE_FILTER_CONTROL or GL_POINT_SPRITE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture environment parameter. May be either GL_TEXTURE_ENV_MODE, GL_TEXTURE_LOD_BIAS, GL_COMBINE_RGB, GL_COMBINE_ALPHA, GL_SRC0_RGB, GL_SRC1_RGB, GL_SRC2_RGB, GL_SRC0_ALPHA, GL_SRC1_ALPHA, GL_SRC2_ALPHA, GL_OPERAND0_RGB, GL_OPERAND1_RGB, GL_OPERAND2_RGB, GL_OPERAND0_ALPHA, GL_OPERAND1_ALPHA, GL_OPERAND2_ALPHA, GL_RGB_SCALE, GL_ALPHA_SCALE, or GL_COORD_REPLACE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single symbolic constant, one of GL_ADD, GL_ADD_SIGNED, GL_INTERPOLATE, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_SUBTRACT, GL_COMBINE, GL_TEXTURE, GL_CONSTANT, GL_PRIMARY_COLOR, GL_PREVIOUS, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the GL_RGB_SCALE or GL_ALPHA_SCALE.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexEnviv")]
-        public static 
-        void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexEnviv((TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGend")]
-        public static 
-        void TexGend(TextureCoordName coord, TextureGenParameter pname, Double param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexGend((TextureCoordName)coord, (TextureGenParameter)pname, (Double)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGendv")]
-        public static 
-        unsafe void TexGen(TextureCoordName coord, TextureGenParameter pname, Double* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGendv")]
-        public static 
-        void TexGen(TextureCoordName coord, TextureGenParameter pname, Double[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGendv")]
-        public static 
-        void TexGen(TextureCoordName coord, TextureGenParameter pname, ref Double @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glTexGendv((TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGenf")]
-        public static 
-        void TexGen(TextureCoordName coord, TextureGenParameter pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexGenf((TextureCoordName)coord, (TextureGenParameter)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGenfv")]
-        public static 
-        unsafe void TexGen(TextureCoordName coord, TextureGenParameter pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGenfv")]
-        public static 
-        void TexGen(TextureCoordName coord, TextureGenParameter pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glTexGenfv((TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGeni")]
-        public static 
-        void TexGen(TextureCoordName coord, TextureGenParameter pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexGeni((TextureCoordName)coord, (TextureGenParameter)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGeniv")]
-        public static 
-        unsafe void TexGen(TextureCoordName coord, TextureGenParameter pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Control the generation of texture coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies a single-valued texture generation parameter, one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_NORMAL_MAP, or GL_REFLECTION_MAP.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTexGeniv")]
-        public static 
-        void TexGen(TextureCoordName coord, TextureGenParameter pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexGeniv((TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")]
-        public static 
-        void TexImage1D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T7 pixels)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")]
-        public static 
-        void TexImage1D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")]
-        public static 
-        void TexImage1D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T7[,] pixels)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")]
-        public static 
-        void TexImage1D<T7>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T7[] pixels)
-            where T7 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D or GL_PROXY_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide. The height of the 1D texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage1D")]
-        public static 
-        void TexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexImage1D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")]
-        public static 
-        void TexImage2D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")]
-        public static 
-        void TexImage2D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")]
-        public static 
-        void TexImage2D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")]
-        public static 
-        void TexImage2D<T8>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, or GL_PROXY_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support texture images that are at least 64 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexImage2D")]
-        public static 
-        void TexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexImage2D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glTexImage2DMultisample")]
-        public static 
-        void TexImage2DMultisample(ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, bool fixedsamplelocations)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexImage2DMultisample((ArbTextureMultisample)target, (Int32)samples, (Int32)internalformat, (Int32)width, (Int32)height, (bool)fixedsamplelocations);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")]
-        public static 
-        void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-            where T9 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")]
-        public static 
-        void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-            where T9 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")]
-        public static 
-        void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-            where T9 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")]
-        public static 
-        void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-            where T9 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexImage3D")]
-        public static 
-        void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexImage3D((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbTextureMultisample", Version = "1.2", EntryPoint = "glTexImage3DMultisample")]
-        public static 
-        void TexImage3DMultisample(ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexImage3DMultisample((ArbTextureMultisample)target, (Int32)samples, (Int32)internalformat, (Int32)width, (Int32)height, (Int32)depth, (bool)fixedsamplelocations);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value of pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameterf")]
-        public static 
-        void TexParameter(TextureTarget target, TextureParameterName pname, Single param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexParameterf((TextureTarget)target, (TextureParameterName)pname, (Single)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value of pname.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameterfv")]
-        public static 
-        unsafe void TexParameter(TextureTarget target, TextureParameterName pname, Single* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexParameterfv((TextureTarget)target, (TextureParameterName)pname, (Single*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value of pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameterfv")]
-        public static 
-        void TexParameter(TextureTarget target, TextureParameterName pname, Single[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterfv((TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value of pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameteri")]
-        public static 
-        void TexParameter(TextureTarget target, TextureParameterName pname, Int32 param)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexParameteri((TextureTarget)target, (TextureParameterName)pname, (Int32)param);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIiv")]
-        public static 
-        unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexParameterIiv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIiv")]
-        public static 
-        void TexParameterI(TextureTarget target, TextureParameterName pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterIiv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIiv")]
-        public static 
-        void TexParameterI(TextureTarget target, TextureParameterName pname, ref Int32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameterIiv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIuiv")]
-        public static 
-        void TexParameterI(TextureTarget target, TextureParameterName pname, ref UInt32 @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameterIuiv((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIuiv")]
-        public static 
-        unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexParameterIuiv((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTexParameterIuiv")]
-        public static 
-        void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterIuiv((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value of pname.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameteriv")]
-        public static 
-        unsafe void TexParameter(TextureTarget target, TextureParameterName pname, Int32* @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexParameteriv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set texture parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture, which must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of a single-valued texture parameter. pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, GL_TEXTURE_PRIORITY, GL_TEXTURE_COMPARE_MODE, GL_TEXTURE_COMPARE_FUNC, GL_DEPTH_TEXTURE_MODE, or GL_GENERATE_MIPMAP.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value of pname.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glTexParameteriv")]
-        public static 
-        void TexParameter(TextureTarget target, TextureParameterName pname, Int32[] @params)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameteriv((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")]
-        public static 
-        void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T6 pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")]
-        public static 
-        void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,,] pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")]
-        public static 
-        void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,] pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")]
-        public static 
-        void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[] pixels)
-            where T6 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage1D")]
-        public static 
-        void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexSubImage1D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")]
-        public static 
-        void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T8 pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")]
-        public static 
-        void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")]
-        public static 
-        void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,] pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")]
-        public static 
-        void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[] pixels)
-            where T8 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11", Version = "1.1", EntryPoint = "glTexSubImage2D")]
-        public static 
-        void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexSubImage2D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")]
-        public static 
-        void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T10 pixels)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")]
-        public static 
-        void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")]
-        public static 
-        void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,] pixels)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")]
-        public static 
-        void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[] pixels)
-            where T10 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pixels_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version12", Version = "1.2", EntryPoint = "glTexSubImage3D")]
-        public static 
-        void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTexSubImage3D((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTransformFeedbackVaryings")]
-        public static 
-        void TransformFeedbackVaryings(Int32 program, Int32 count, String[] varyings, TransformFeedbackMode bufferMode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTransformFeedbackVaryings((UInt32)program, (Int32)count, (String[])varyings, (TransformFeedbackMode)bufferMode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glTransformFeedbackVaryings")]
-        public static 
-        void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, TransformFeedbackMode bufferMode)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTransformFeedbackVaryings((UInt32)program, (Int32)count, (String[])varyings, (TransformFeedbackMode)bufferMode);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a translation matrix
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the x, y, and z coordinates of a translation vector.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTranslated")]
-        public static 
-        void Translate(Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTranslated((Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Multiply the current matrix by a translation matrix
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the x, y, and z coordinates of a translation vector.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glTranslatef")]
-        public static 
-        void Translate(Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glTranslatef((Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1f")]
-        public static 
-        void Uniform1(Int32 location, Single v0)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform1f((Int32)location, (Single)v0);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1fv")]
-        public static 
-        void Uniform1(Int32 location, Int32 count, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1fv")]
-        public static 
-        unsafe void Uniform1(Int32 location, Int32 count, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1fv")]
-        public static 
-        void Uniform1(Int32 location, Int32 count, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1i")]
-        public static 
-        void Uniform1(Int32 location, Int32 v0)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform1i((Int32)location, (Int32)v0);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1iv")]
-        public static 
-        unsafe void Uniform1(Int32 location, Int32 count, Int32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1iv")]
-        public static 
-        void Uniform1(Int32 location, Int32 count, Int32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform1iv")]
-        public static 
-        void Uniform1(Int32 location, Int32 count, ref Int32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1ui")]
-        public static 
-        void Uniform1(Int32 location, UInt32 v0)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform1ui((Int32)location, (UInt32)v0);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1uiv")]
-        public static 
-        void Uniform1(Int32 location, Int32 count, ref UInt32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform1uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1uiv")]
-        public static 
-        unsafe void Uniform1(Int32 location, Int32 count, UInt32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform1uiv((Int32)location, (Int32)count, (UInt32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform1uiv")]
-        public static 
-        void Uniform1(Int32 location, Int32 count, UInt32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform1uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2f")]
-        public static 
-        void Uniform2(Int32 location, Single v0, Single v1)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform2f((Int32)location, (Single)v0, (Single)v1);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2fv")]
-        public static 
-        void Uniform2(Int32 location, Int32 count, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2fv")]
-        public static 
-        unsafe void Uniform2(Int32 location, Int32 count, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2fv")]
-        public static 
-        void Uniform2(Int32 location, Int32 count, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2i")]
-        public static 
-        void Uniform2(Int32 location, Int32 v0, Int32 v1)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform2i((Int32)location, (Int32)v0, (Int32)v1);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2iv")]
-        public static 
-        unsafe void Uniform2(Int32 location, Int32 count, Int32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform2iv")]
-        public static 
-        void Uniform2(Int32 location, Int32 count, Int32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2ui")]
-        public static 
-        void Uniform2(Int32 location, UInt32 v0, UInt32 v1)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform2ui((Int32)location, (UInt32)v0, (UInt32)v1);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2uiv")]
-        public static 
-        void Uniform2(Int32 location, Int32 count, ref UInt32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform2uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2uiv")]
-        public static 
-        unsafe void Uniform2(Int32 location, Int32 count, UInt32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform2uiv((Int32)location, (Int32)count, (UInt32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform2uiv")]
-        public static 
-        void Uniform2(Int32 location, Int32 count, UInt32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform2uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3f")]
-        public static 
-        void Uniform3(Int32 location, Single v0, Single v1, Single v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform3f((Int32)location, (Single)v0, (Single)v1, (Single)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3fv")]
-        public static 
-        void Uniform3(Int32 location, Int32 count, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3fv")]
-        public static 
-        unsafe void Uniform3(Int32 location, Int32 count, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3fv")]
-        public static 
-        void Uniform3(Int32 location, Int32 count, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3i")]
-        public static 
-        void Uniform3(Int32 location, Int32 v0, Int32 v1, Int32 v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform3i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3iv")]
-        public static 
-        unsafe void Uniform3(Int32 location, Int32 count, Int32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3iv")]
-        public static 
-        void Uniform3(Int32 location, Int32 count, Int32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform3iv")]
-        public static 
-        void Uniform3(Int32 location, Int32 count, ref Int32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3ui")]
-        public static 
-        void Uniform3(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform3ui((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3uiv")]
-        public static 
-        void Uniform3(Int32 location, Int32 count, ref UInt32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform3uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3uiv")]
-        public static 
-        unsafe void Uniform3(Int32 location, Int32 count, UInt32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform3uiv((Int32)location, (Int32)count, (UInt32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform3uiv")]
-        public static 
-        void Uniform3(Int32 location, Int32 count, UInt32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform3uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4f")]
-        public static 
-        void Uniform4(Int32 location, Single v0, Single v1, Single v2, Single v3)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform4f((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4fv")]
-        public static 
-        void Uniform4(Int32 location, Int32 count, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4fv")]
-        public static 
-        unsafe void Uniform4(Int32 location, Int32 count, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4fv")]
-        public static 
-        void Uniform4(Int32 location, Int32 count, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4i")]
-        public static 
-        void Uniform4(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform4i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4iv")]
-        public static 
-        unsafe void Uniform4(Int32 location, Int32 count, Int32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4iv")]
-        public static 
-        void Uniform4(Int32 location, Int32 count, Int32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniform4iv")]
-        public static 
-        void Uniform4(Int32 location, Int32 count, ref Int32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4ui")]
-        public static 
-        void Uniform4(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform4ui((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4uiv")]
-        public static 
-        void Uniform4(Int32 location, Int32 count, ref UInt32 value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform4uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4uiv")]
-        public static 
-        unsafe void Uniform4(Int32 location, Int32 count, UInt32* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniform4uiv((Int32)location, (Int32)count, (UInt32*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glUniform4uiv")]
-        public static 
-        void Uniform4(Int32 location, Int32 count, UInt32[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform4uiv((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glUniformBlockBinding")]
-        public static 
-        void UniformBlockBinding(Int32 program, Int32 uniformBlockIndex, Int32 uniformBlockBinding)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformBlockBinding((UInt32)program, (UInt32)uniformBlockIndex, (UInt32)uniformBlockBinding);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbUniformBufferObject", Version = "2.0", EntryPoint = "glUniformBlockBinding")]
-        public static 
-        void UniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformBlockBinding((UInt32)program, (UInt32)uniformBlockIndex, (UInt32)uniformBlockBinding);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
-        public static 
-        void UniformMatrix2(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
-        public static 
-        unsafe void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix2fv")]
-        public static 
-        void UniformMatrix2(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x3fv")]
-        public static 
-        void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x3fv")]
-        public static 
-        unsafe void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x3fv")]
-        public static 
-        void UniformMatrix2x3(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x4fv")]
-        public static 
-        void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x4fv")]
-        public static 
-        unsafe void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix2x4fv")]
-        public static 
-        void UniformMatrix2x4(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
-        public static 
-        void UniformMatrix3(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
-        public static 
-        unsafe void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix3fv")]
-        public static 
-        void UniformMatrix3(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x2fv")]
-        public static 
-        void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x2fv")]
-        public static 
-        unsafe void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x2fv")]
-        public static 
-        void UniformMatrix3x2(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x4fv")]
-        public static 
-        void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x4fv")]
-        public static 
-        unsafe void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix3x4fv")]
-        public static 
-        void UniformMatrix3x4(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
-        public static 
-        void UniformMatrix4(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
-        public static 
-        unsafe void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUniformMatrix4fv")]
-        public static 
-        void UniformMatrix4(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x2fv")]
-        public static 
-        void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x2fv")]
-        public static 
-        unsafe void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x2fv")]
-        public static 
-        void UniformMatrix4x2(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x3fv")]
-        public static 
-        void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, ref Single value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x3fv")]
-        public static 
-        unsafe void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single* value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version21", Version = "2.1", EntryPoint = "glUniformMatrix4x3fv")]
-        public static 
-        void UniformMatrix4x3(Int32 location, Int32 count, bool transpose, Single[] value)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version15", Version = "1.5", EntryPoint = "glUnmapBuffer")]
-        public static 
-        bool UnmapBuffer(BufferTarget target)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            return Delegates.glUnmapBuffer((BufferTarget)target);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Installs a program object as part of current rendering state
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object whose executables are to be used as part of current rendering state.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUseProgram")]
-        public static 
-        void UseProgram(Int32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUseProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Installs a program object as part of current rendering state
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object whose executables are to be used as part of current rendering state.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glUseProgram")]
-        public static 
-        void UseProgram(UInt32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glUseProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Validates a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be validated.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glValidateProgram")]
-        public static 
-        void ValidateProgram(Int32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glValidateProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Validates a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the handle of the program object to be validated.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glValidateProgram")]
-        public static 
-        void ValidateProgram(UInt32 program)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glValidateProgram((UInt32)program);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2d")]
-        public static 
-        void Vertex2(Double x, Double y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2d((Double)x, (Double)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2dv")]
-        public static 
-        unsafe void Vertex2(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2dv")]
-        public static 
-        void Vertex2(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertex2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2dv")]
-        public static 
-        void Vertex2(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertex2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2f")]
-        public static 
-        void Vertex2(Single x, Single y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2f((Single)x, (Single)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2fv")]
-        public static 
-        void Vertex2(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertex2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2fv")]
-        public static 
-        unsafe void Vertex2(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2fv")]
-        public static 
-        void Vertex2(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertex2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2i")]
-        public static 
-        void Vertex2(Int32 x, Int32 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2i((Int32)x, (Int32)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2iv")]
-        public static 
-        unsafe void Vertex2(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2iv")]
-        public static 
-        void Vertex2(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertex2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2iv")]
-        public static 
-        void Vertex2(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertex2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2s")]
-        public static 
-        void Vertex2(Int16 x, Int16 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2s((Int16)x, (Int16)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2sv")]
-        public static 
-        unsafe void Vertex2(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex2sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2sv")]
-        public static 
-        void Vertex2(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex2sv")]
-        public static 
-        void Vertex2(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3d")]
-        public static 
-        void Vertex3(Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3d((Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3dv")]
-        public static 
-        unsafe void Vertex3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3dv")]
-        public static 
-        void Vertex3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertex3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3dv")]
-        public static 
-        void Vertex3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertex3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3f")]
-        public static 
-        void Vertex3(Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3f((Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3fv")]
-        public static 
-        void Vertex3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertex3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3fv")]
-        public static 
-        unsafe void Vertex3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3fv")]
-        public static 
-        void Vertex3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertex3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3i")]
-        public static 
-        void Vertex3(Int32 x, Int32 y, Int32 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3i((Int32)x, (Int32)y, (Int32)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3iv")]
-        public static 
-        unsafe void Vertex3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3iv")]
-        public static 
-        void Vertex3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertex3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3iv")]
-        public static 
-        void Vertex3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertex3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3s")]
-        public static 
-        void Vertex3(Int16 x, Int16 y, Int16 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3s((Int16)x, (Int16)y, (Int16)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3sv")]
-        public static 
-        unsafe void Vertex3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3sv")]
-        public static 
-        void Vertex3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex3sv")]
-        public static 
-        void Vertex3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4d")]
-        public static 
-        void Vertex4(Double x, Double y, Double z, Double w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4d((Double)x, (Double)y, (Double)z, (Double)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4dv")]
-        public static 
-        unsafe void Vertex4(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4dv")]
-        public static 
-        void Vertex4(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertex4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4dv")]
-        public static 
-        void Vertex4(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertex4dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4f")]
-        public static 
-        void Vertex4(Single x, Single y, Single z, Single w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4f((Single)x, (Single)y, (Single)z, (Single)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4fv")]
-        public static 
-        void Vertex4(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertex4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4fv")]
-        public static 
-        unsafe void Vertex4(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4fv")]
-        public static 
-        void Vertex4(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertex4fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4i")]
-        public static 
-        void Vertex4(Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4i((Int32)x, (Int32)y, (Int32)z, (Int32)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4iv")]
-        public static 
-        unsafe void Vertex4(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4iv")]
-        public static 
-        void Vertex4(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertex4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4iv")]
-        public static 
-        void Vertex4(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertex4iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4s")]
-        public static 
-        void Vertex4(Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4s((Int16)x, (Int16)y, (Int16)z, (Int16)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4sv")]
-        public static 
-        unsafe void Vertex4(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertex4sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4sv")]
-        public static 
-        void Vertex4(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify a vertex
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify x, y, z, and w coordinates of a vertex. Not all parameters are present in all forms of the command.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10Deprecated", Version = "1.0", EntryPoint = "glVertex4sv")]
-        public static 
-        void Vertex4(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex4sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1d")]
-        public static 
-        void VertexAttrib1(Int32 index, Double x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1d((UInt32)index, (Double)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1d")]
-        public static 
-        void VertexAttrib1(UInt32 index, Double x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1d((UInt32)index, (Double)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1dv")]
-        public static 
-        unsafe void VertexAttrib1(Int32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1dv")]
-        public static 
-        unsafe void VertexAttrib1(UInt32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1f")]
-        public static 
-        void VertexAttrib1(Int32 index, Single x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1f((UInt32)index, (Single)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1f")]
-        public static 
-        void VertexAttrib1(UInt32 index, Single x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1f((UInt32)index, (Single)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1fv")]
-        public static 
-        unsafe void VertexAttrib1(Int32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1fv")]
-        public static 
-        unsafe void VertexAttrib1(UInt32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1s")]
-        public static 
-        void VertexAttrib1(Int32 index, Int16 x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1s((UInt32)index, (Int16)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1s")]
-        public static 
-        void VertexAttrib1(UInt32 index, Int16 x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1s((UInt32)index, (Int16)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1sv")]
-        public static 
-        unsafe void VertexAttrib1(Int32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib1sv")]
-        public static 
-        unsafe void VertexAttrib1(UInt32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2d")]
-        public static 
-        void VertexAttrib2(Int32 index, Double x, Double y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2d")]
-        public static 
-        void VertexAttrib2(UInt32 index, Double x, Double y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")]
-        public static 
-        unsafe void VertexAttrib2(Int32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")]
-        public static 
-        void VertexAttrib2(Int32 index, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")]
-        public static 
-        void VertexAttrib2(Int32 index, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")]
-        public static 
-        unsafe void VertexAttrib2(UInt32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")]
-        public static 
-        void VertexAttrib2(UInt32 index, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2dv")]
-        public static 
-        void VertexAttrib2(UInt32 index, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2f")]
-        public static 
-        void VertexAttrib2(Int32 index, Single x, Single y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2f")]
-        public static 
-        void VertexAttrib2(UInt32 index, Single x, Single y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
-        public static 
-        void VertexAttrib2(Int32 index, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
-        public static 
-        unsafe void VertexAttrib2(Int32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
-        public static 
-        void VertexAttrib2(Int32 index, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
-        public static 
-        void VertexAttrib2(UInt32 index, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
-        public static 
-        unsafe void VertexAttrib2(UInt32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2fv")]
-        public static 
-        void VertexAttrib2(UInt32 index, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2s")]
-        public static 
-        void VertexAttrib2(Int32 index, Int16 x, Int16 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2s")]
-        public static 
-        void VertexAttrib2(UInt32 index, Int16 x, Int16 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")]
-        public static 
-        unsafe void VertexAttrib2(Int32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")]
-        public static 
-        void VertexAttrib2(Int32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")]
-        public static 
-        void VertexAttrib2(Int32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")]
-        public static 
-        unsafe void VertexAttrib2(UInt32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")]
-        public static 
-        void VertexAttrib2(UInt32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib2sv")]
-        public static 
-        void VertexAttrib2(UInt32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3d")]
-        public static 
-        void VertexAttrib3(Int32 index, Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3d")]
-        public static 
-        void VertexAttrib3(UInt32 index, Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")]
-        public static 
-        unsafe void VertexAttrib3(Int32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")]
-        public static 
-        void VertexAttrib3(Int32 index, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")]
-        public static 
-        void VertexAttrib3(Int32 index, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")]
-        public static 
-        unsafe void VertexAttrib3(UInt32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")]
-        public static 
-        void VertexAttrib3(UInt32 index, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3dv")]
-        public static 
-        void VertexAttrib3(UInt32 index, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3f")]
-        public static 
-        void VertexAttrib3(Int32 index, Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3f")]
-        public static 
-        void VertexAttrib3(UInt32 index, Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
-        public static 
-        void VertexAttrib3(Int32 index, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
-        public static 
-        unsafe void VertexAttrib3(Int32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
-        public static 
-        void VertexAttrib3(Int32 index, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
-        public static 
-        void VertexAttrib3(UInt32 index, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
-        public static 
-        unsafe void VertexAttrib3(UInt32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3fv")]
-        public static 
-        void VertexAttrib3(UInt32 index, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3s")]
-        public static 
-        void VertexAttrib3(Int32 index, Int16 x, Int16 y, Int16 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3s")]
-        public static 
-        void VertexAttrib3(UInt32 index, Int16 x, Int16 y, Int16 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")]
-        public static 
-        unsafe void VertexAttrib3(Int32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")]
-        public static 
-        void VertexAttrib3(Int32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")]
-        public static 
-        void VertexAttrib3(Int32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")]
-        public static 
-        unsafe void VertexAttrib3(UInt32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")]
-        public static 
-        void VertexAttrib3(UInt32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib3sv")]
-        public static 
-        void VertexAttrib3(UInt32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4bv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4bv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4bv")]
-        public static 
-        void VertexAttrib4(UInt32 index, SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4d")]
-        public static 
-        void VertexAttrib4(Int32 index, Double x, Double y, Double z, Double w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4d")]
-        public static 
-        void VertexAttrib4(UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")]
-        public static 
-        unsafe void VertexAttrib4(Int32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")]
-        public static 
-        void VertexAttrib4(Int32 index, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")]
-        public static 
-        void VertexAttrib4(Int32 index, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")]
-        public static 
-        void VertexAttrib4(UInt32 index, Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4dv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4f")]
-        public static 
-        void VertexAttrib4(Int32 index, Single x, Single y, Single z, Single w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4f")]
-        public static 
-        void VertexAttrib4(UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
-        public static 
-        void VertexAttrib4(Int32 index, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
-        public static 
-        unsafe void VertexAttrib4(Int32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
-        public static 
-        void VertexAttrib4(Int32 index, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4fv")]
-        public static 
-        void VertexAttrib4(UInt32 index, Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")]
-        public static 
-        unsafe void VertexAttrib4(Int32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")]
-        public static 
-        void VertexAttrib4(Int32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")]
-        public static 
-        void VertexAttrib4(Int32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")]
-        public static 
-        void VertexAttrib4(UInt32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4iv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nbv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nbv")]
-        public static 
-        unsafe void VertexAttrib4N(UInt32 index, SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nbv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")]
-        public static 
-        unsafe void VertexAttrib4N(Int32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")]
-        public static 
-        void VertexAttrib4N(Int32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")]
-        public static 
-        void VertexAttrib4N(Int32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")]
-        public static 
-        unsafe void VertexAttrib4N(UInt32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Niv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")]
-        public static 
-        unsafe void VertexAttrib4N(Int32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")]
-        public static 
-        void VertexAttrib4N(Int32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")]
-        public static 
-        void VertexAttrib4N(Int32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")]
-        public static 
-        unsafe void VertexAttrib4N(UInt32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nsv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nub")]
-        public static 
-        void VertexAttrib4N(Int32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nub")]
-        public static 
-        void VertexAttrib4N(UInt32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")]
-        public static 
-        unsafe void VertexAttrib4N(Int32 index, Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")]
-        public static 
-        void VertexAttrib4N(Int32 index, Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")]
-        public static 
-        void VertexAttrib4N(Int32 index, ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")]
-        public static 
-        unsafe void VertexAttrib4N(UInt32 index, Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nubv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nuiv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nuiv")]
-        public static 
-        unsafe void VertexAttrib4N(UInt32 index, UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nuiv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nusv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, ref UInt16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nusv")]
-        public static 
-        unsafe void VertexAttrib4N(UInt32 index, UInt16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4Nusv")]
-        public static 
-        void VertexAttrib4N(UInt32 index, UInt16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4s")]
-        public static 
-        void VertexAttrib4(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4s")]
-        public static 
-        void VertexAttrib4(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")]
-        public static 
-        unsafe void VertexAttrib4(Int32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")]
-        public static 
-        void VertexAttrib4(Int32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")]
-        public static 
-        void VertexAttrib4(Int32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")]
-        public static 
-        void VertexAttrib4(UInt32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4sv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")]
-        public static 
-        unsafe void VertexAttrib4(Int32 index, Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")]
-        public static 
-        void VertexAttrib4(Int32 index, Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")]
-        public static 
-        void VertexAttrib4(Int32 index, ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")]
-        public static 
-        void VertexAttrib4(UInt32 index, Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4ubv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4uiv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4uiv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4uiv")]
-        public static 
-        void VertexAttrib4(UInt32 index, UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4usv")]
-        public static 
-        void VertexAttrib4(UInt32 index, ref UInt16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4usv")]
-        public static 
-        unsafe void VertexAttrib4(UInt32 index, UInt16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttrib4usv")]
-        public static 
-        void VertexAttrib4(UInt32 index, UInt16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1i")]
-        public static 
-        void VertexAttribI1(Int32 index, Int32 x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI1i((UInt32)index, (Int32)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1i")]
-        public static 
-        void VertexAttribI1(UInt32 index, Int32 x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI1i((UInt32)index, (Int32)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1iv")]
-        public static 
-        unsafe void VertexAttribI1(Int32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI1iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1iv")]
-        public static 
-        unsafe void VertexAttribI1(UInt32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI1iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1ui")]
-        public static 
-        void VertexAttribI1(UInt32 index, UInt32 x)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI1ui((UInt32)index, (UInt32)x);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI1uiv")]
-        public static 
-        unsafe void VertexAttribI1(UInt32 index, UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI1uiv((UInt32)index, (UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2i")]
-        public static 
-        void VertexAttribI2(Int32 index, Int32 x, Int32 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI2i((UInt32)index, (Int32)x, (Int32)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2i")]
-        public static 
-        void VertexAttribI2(UInt32 index, Int32 x, Int32 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI2i((UInt32)index, (Int32)x, (Int32)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")]
-        public static 
-        unsafe void VertexAttribI2(Int32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")]
-        public static 
-        void VertexAttribI2(Int32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")]
-        public static 
-        void VertexAttribI2(Int32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")]
-        public static 
-        unsafe void VertexAttribI2(UInt32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")]
-        public static 
-        void VertexAttribI2(UInt32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2iv")]
-        public static 
-        void VertexAttribI2(UInt32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2ui")]
-        public static 
-        void VertexAttribI2(UInt32 index, UInt32 x, UInt32 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI2ui((UInt32)index, (UInt32)x, (UInt32)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2uiv")]
-        public static 
-        void VertexAttribI2(UInt32 index, ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2uiv")]
-        public static 
-        unsafe void VertexAttribI2(UInt32 index, UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI2uiv((UInt32)index, (UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI2uiv")]
-        public static 
-        void VertexAttribI2(UInt32 index, UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3i")]
-        public static 
-        void VertexAttribI3(Int32 index, Int32 x, Int32 y, Int32 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI3i((UInt32)index, (Int32)x, (Int32)y, (Int32)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3i")]
-        public static 
-        void VertexAttribI3(UInt32 index, Int32 x, Int32 y, Int32 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI3i((UInt32)index, (Int32)x, (Int32)y, (Int32)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")]
-        public static 
-        unsafe void VertexAttribI3(Int32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")]
-        public static 
-        void VertexAttribI3(Int32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")]
-        public static 
-        void VertexAttribI3(Int32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")]
-        public static 
-        unsafe void VertexAttribI3(UInt32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")]
-        public static 
-        void VertexAttribI3(UInt32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3iv")]
-        public static 
-        void VertexAttribI3(UInt32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3ui")]
-        public static 
-        void VertexAttribI3(UInt32 index, UInt32 x, UInt32 y, UInt32 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI3ui((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3uiv")]
-        public static 
-        void VertexAttribI3(UInt32 index, ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3uiv")]
-        public static 
-        unsafe void VertexAttribI3(UInt32 index, UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI3uiv((UInt32)index, (UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI3uiv")]
-        public static 
-        void VertexAttribI3(UInt32 index, UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4bv")]
-        public static 
-        void VertexAttribI4(UInt32 index, ref SByte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4bv")]
-        public static 
-        unsafe void VertexAttribI4(UInt32 index, SByte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4bv((UInt32)index, (SByte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4bv")]
-        public static 
-        void VertexAttribI4(UInt32 index, SByte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4i")]
-        public static 
-        void VertexAttribI4(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4i((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4i")]
-        public static 
-        void VertexAttribI4(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4i((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")]
-        public static 
-        unsafe void VertexAttribI4(Int32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")]
-        public static 
-        void VertexAttribI4(Int32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")]
-        public static 
-        void VertexAttribI4(Int32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")]
-        public static 
-        unsafe void VertexAttribI4(UInt32 index, Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")]
-        public static 
-        void VertexAttribI4(UInt32 index, Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4iv")]
-        public static 
-        void VertexAttribI4(UInt32 index, ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")]
-        public static 
-        unsafe void VertexAttribI4(Int32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")]
-        public static 
-        void VertexAttribI4(Int32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")]
-        public static 
-        void VertexAttribI4(Int32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")]
-        public static 
-        unsafe void VertexAttribI4(UInt32 index, Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")]
-        public static 
-        void VertexAttribI4(UInt32 index, Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4sv")]
-        public static 
-        void VertexAttribI4(UInt32 index, ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")]
-        public static 
-        unsafe void VertexAttribI4(Int32 index, Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")]
-        public static 
-        void VertexAttribI4(Int32 index, Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")]
-        public static 
-        void VertexAttribI4(Int32 index, ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")]
-        public static 
-        unsafe void VertexAttribI4(UInt32 index, Byte* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")]
-        public static 
-        void VertexAttribI4(UInt32 index, Byte[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ubv")]
-        public static 
-        void VertexAttribI4(UInt32 index, ref Byte v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4ui")]
-        public static 
-        void VertexAttribI4(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4ui((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4uiv")]
-        public static 
-        void VertexAttribI4(UInt32 index, ref UInt32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4uiv")]
-        public static 
-        unsafe void VertexAttribI4(UInt32 index, UInt32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4uiv((UInt32)index, (UInt32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4uiv")]
-        public static 
-        void VertexAttribI4(UInt32 index, UInt32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4usv")]
-        public static 
-        void VertexAttribI4(UInt32 index, ref UInt16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4usv")]
-        public static 
-        unsafe void VertexAttribI4(UInt32 index, UInt16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribI4usv((UInt32)index, (UInt16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribI4usv")]
-        public static 
-        void VertexAttribI4(UInt32 index, UInt16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] ref T4 pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,,] pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,] pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[] pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer(Int32 index, Int32 size, VertexAttribParameter type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] ref T4 pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,,] pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[,] pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer<T4>(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, [In, Out] T4[] pointer)
-            where T4 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version30", Version = "3.0", EntryPoint = "glVertexAttribIPointer")]
-        public static 
-        void VertexAttribIPointer(UInt32 index, Int32 size, VertexAttribParameter type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribIPointer((UInt32)index, (Int32)size, (VertexAttribParameter)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] ref T5 pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,] pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[] pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer(Int32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] ref T5 pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,,] pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[,] pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer<T5>(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, [In, Out] T5[] pointer)
-            where T5 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version20", Version = "2.0", EntryPoint = "glVertexAttribPointer")]
-        public static 
-        void VertexAttribPointer(UInt32 index, Int32 size, VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (VertexAttribPointerType)type, (bool)normalized, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")]
-        public static 
-        void VertexPointer<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] ref T3 pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")]
-        public static 
-        void VertexPointer<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")]
-        public static 
-        void VertexPointer<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")]
-        public static 
-        void VertexPointer<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[] pointer)
-            where T3 : struct
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-            try
-            {
-                Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                pointer_ptr.Free();
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version11Deprecated", Version = "1.1", EntryPoint = "glVertexPointer")]
-        public static 
-        void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, IntPtr pointer)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glVertexPointer((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Set the viewport
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the lower left corner of the viewport rectangle, in pixels. The initial value is (0,0).
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specify the width and height of the viewport. When a GL context is first attached to a window, width and height are set to the dimensions of that window.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version10", Version = "1.0", EntryPoint = "glViewport")]
-        public static 
-        void Viewport(Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glViewport((Int32)x, (Int32)y, (Int32)width, (Int32)height);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glWaitSync")]
-        public static 
-        void WaitSync(IntPtr sync, Int32 flags, Int64 timeout)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "ArbSync", Version = "1.2", EntryPoint = "glWaitSync")]
-        public static 
-        void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWaitSync((IntPtr)sync, (UInt32)flags, (UInt64)timeout);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2d")]
-        public static 
-        void WindowPos2(Double x, Double y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2d((Double)x, (Double)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2dv")]
-        public static 
-        unsafe void WindowPos2(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2dv")]
-        public static 
-        void WindowPos2(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2dv")]
-        public static 
-        void WindowPos2(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2f")]
-        public static 
-        void WindowPos2(Single x, Single y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2f((Single)x, (Single)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2fv")]
-        public static 
-        void WindowPos2(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2fv")]
-        public static 
-        unsafe void WindowPos2(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2fv")]
-        public static 
-        void WindowPos2(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos2fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2i")]
-        public static 
-        void WindowPos2(Int32 x, Int32 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2i((Int32)x, (Int32)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2iv")]
-        public static 
-        unsafe void WindowPos2(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2iv")]
-        public static 
-        void WindowPos2(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2iv")]
-        public static 
-        void WindowPos2(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2s")]
-        public static 
-        void WindowPos2(Int16 x, Int16 y)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2s((Int16)x, (Int16)y);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2sv")]
-        public static 
-        unsafe void WindowPos2(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos2sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2sv")]
-        public static 
-        void WindowPos2(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos2sv")]
-        public static 
-        void WindowPos2(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3d")]
-        public static 
-        void WindowPos3(Double x, Double y, Double z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3d((Double)x, (Double)y, (Double)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3dv")]
-        public static 
-        unsafe void WindowPos3(Double* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3dv((Double*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3dv")]
-        public static 
-        void WindowPos3(Double[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3dv")]
-        public static 
-        void WindowPos3(ref Double v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3dv((Double*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3f")]
-        public static 
-        void WindowPos3(Single x, Single y, Single z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3f((Single)x, (Single)y, (Single)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3fv")]
-        public static 
-        void WindowPos3(ref Single v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3fv")]
-        public static 
-        unsafe void WindowPos3(Single* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3fv((Single*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3fv")]
-        public static 
-        void WindowPos3(Single[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos3fv((Single*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3i")]
-        public static 
-        void WindowPos3(Int32 x, Int32 y, Int32 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3i((Int32)x, (Int32)y, (Int32)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3iv")]
-        public static 
-        unsafe void WindowPos3(Int32* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3iv((Int32*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3iv")]
-        public static 
-        void WindowPos3(Int32[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3iv")]
-        public static 
-        void WindowPos3(ref Int32 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3iv((Int32*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3s")]
-        public static 
-        void WindowPos3(Int16 x, Int16 y, Int16 z)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3s((Int16)x, (Int16)y, (Int16)z);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [System.CLSCompliant(false)]
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3sv")]
-        public static 
-        unsafe void WindowPos3(Int16* v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            Delegates.glWindowPos3sv((Int16*)v);
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3sv")]
-        public static 
-        void WindowPos3(Int16[] v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-        [AutoGenerated(Category = "Version14Deprecated", Version = "1.4", EntryPoint = "glWindowPos3sv")]
-        public static 
-        void WindowPos3(ref Int16 v)
-        {
-            #if DEBUG
-            using (new ErrorHelper(GraphicsContext.CurrentContext))
-            {
-            #endif
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3sv((Int16*)v_ptr);
-                }
-            }
-            #if DEBUG
-            }
-            #endif
-        }
-
-        public static partial class Ext
-        {
-            [AutoGenerated(Category = "ExtStencilTwoSide", Version = "1.3", EntryPoint = "glActiveStencilFaceEXT")]
-            public static 
-            void ActiveStencilFace(ExtStencilTwoSide face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glActiveStencilFaceEXT((ExtStencilTwoSide)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtLightTexture", Version = "1.1", EntryPoint = "glApplyTextureEXT")]
-            public static 
-            void ApplyTexture(ExtLightTexture mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glApplyTextureEXT((ExtLightTexture)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")]
-            public static 
-            unsafe bool AreTexturesResident(Int32 n, Int32* textures, [Out] bool* residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (bool*)residences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")]
-            public static 
-            bool AreTexturesResident(Int32 n, Int32[] textures, [Out] bool[] residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = textures)
-                    fixed (bool* residences_ptr = residences)
-                    {
-                        return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")]
-            public static 
-            bool AreTexturesResident(Int32 n, ref Int32 textures, [Out] out bool residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = &textures)
-                    fixed (bool* residences_ptr = &residences)
-                    {
-                        bool retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                        residences = *residences_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")]
-            public static 
-            bool AreTexturesResident(Int32 n, ref UInt32 textures, [Out] out bool residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = &textures)
-                    fixed (bool* residences_ptr = &residences)
-                    {
-                        bool retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                        residences = *residences_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")]
-            public static 
-            unsafe bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (bool*)residences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if textures are loaded in texture memory
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="residences">
-        /// <para>
-        /// Specifies an array in which the texture residence status is returned. The residence status of a texture named by an element of textures is returned in the corresponding element of residences.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glAreTexturesResidentEXT")]
-            public static 
-            bool AreTexturesResident(Int32 n, UInt32[] textures, [Out] bool[] residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = textures)
-                    fixed (bool* residences_ptr = residences)
-                    {
-                        return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (bool*)residences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render a vertex using the specified vertex array element
-        /// </summary>
-        /// <param name="i">
-        /// <para>
-        /// Specifies an index into the enabled vertex data arrays.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glArrayElementEXT")]
-            public static 
-            void ArrayElement(Int32 i)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glArrayElementEXT((Int32)i);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBeginTransformFeedbackEXT")]
-            public static 
-            void BeginTransformFeedback(ExtTransformFeedback primitiveMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginTransformFeedbackEXT((ExtTransformFeedback)primitiveMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBeginVertexShaderEXT")]
-            public static 
-            void BeginVertexShader()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginVertexShaderEXT();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferBaseEXT")]
-            public static 
-            void BindBufferBase(ExtTransformFeedback target, Int32 index, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferBaseEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferBaseEXT")]
-            public static 
-            void BindBufferBase(ExtTransformFeedback target, UInt32 index, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferBaseEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferOffsetEXT")]
-            public static 
-            void BindBufferOffset(ExtTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferOffsetEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferOffsetEXT")]
-            public static 
-            void BindBufferOffset(ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferOffsetEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferRangeEXT")]
-            public static 
-            void BindBufferRange(ExtTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferRangeEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glBindBufferRangeEXT")]
-            public static 
-            void BindBufferRange(ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferRangeEXT((ExtTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glBindFragDataLocationEXT")]
-            public static 
-            void BindFragDataLocation(Int32 program, Int32 color, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glBindFragDataLocationEXT")]
-            public static 
-            void BindFragDataLocation(UInt32 program, UInt32 color, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindFramebufferEXT")]
-            public static 
-            void BindFramebuffer(FramebufferTarget target, Int32 framebuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindFramebufferEXT((FramebufferTarget)target, (UInt32)framebuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindFramebufferEXT")]
-            public static 
-            void BindFramebuffer(FramebufferTarget target, UInt32 framebuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindFramebufferEXT((FramebufferTarget)target, (UInt32)framebuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindLightParameterEXT")]
-            public static 
-            Int32 BindLightParameter(LightName light, LightParameter value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glBindLightParameterEXT((LightName)light, (LightParameter)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindMaterialParameterEXT")]
-            public static 
-            Int32 BindMaterialParameter(MaterialFace face, MaterialParameter value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glBindMaterialParameterEXT((MaterialFace)face, (MaterialParameter)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glBindMultiTextureEXT")]
-            public static 
-            void BindMultiTexture(TextureUnit texunit, TextureTarget target, Int32 texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindMultiTextureEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glBindMultiTextureEXT")]
-            public static 
-            void BindMultiTexture(TextureUnit texunit, TextureTarget target, UInt32 texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindMultiTextureEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindParameterEXT")]
-            public static 
-            Int32 BindParameter(ExtVertexShader value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glBindParameterEXT((ExtVertexShader)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindRenderbufferEXT")]
-            public static 
-            void BindRenderbuffer(RenderbufferTarget target, Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindRenderbufferEXT((RenderbufferTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glBindRenderbufferEXT")]
-            public static 
-            void BindRenderbuffer(RenderbufferTarget target, UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindRenderbufferEXT((RenderbufferTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindTexGenParameterEXT")]
-            public static 
-            Int32 BindTexGenParameter(TextureUnit unit, TextureCoordName coord, TextureGenParameter value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glBindTexGenParameterEXT((TextureUnit)unit, (TextureCoordName)coord, (TextureGenParameter)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Bind a named texture to a texturing target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies the name of a texture.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glBindTextureEXT")]
-            public static 
-            void BindTexture(TextureTarget target, Int32 texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindTextureEXT((TextureTarget)target, (UInt32)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Bind a named texture to a texturing target
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target to which the texture is bound. Must be either GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D, or GL_TEXTURE_CUBE_MAP.
-        /// </para>
-        /// </param>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies the name of a texture.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glBindTextureEXT")]
-            public static 
-            void BindTexture(TextureTarget target, UInt32 texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindTextureEXT((TextureTarget)target, (UInt32)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindTextureUnitParameterEXT")]
-            public static 
-            Int32 BindTextureUnitParameter(TextureUnit unit, ExtVertexShader value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glBindTextureUnitParameterEXT((TextureUnit)unit, (ExtVertexShader)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindVertexShaderEXT")]
-            public static 
-            void BindVertexShader(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindVertexShaderEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glBindVertexShaderEXT")]
-            public static 
-            void BindVertexShader(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindVertexShaderEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bEXT")]
-            public static 
-            void Binormal3(Byte bx, Byte by, Byte bz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bEXT")]
-            public static 
-            void Binormal3(SByte bx, SByte by, SByte bz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")]
-            public static 
-            unsafe void Binormal3(Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3bvEXT((SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")]
-            public static 
-            void Binormal3(Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")]
-            public static 
-            void Binormal3(ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")]
-            public static 
-            void Binormal3(ref SByte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = &v)
-                    {
-                        Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")]
-            public static 
-            unsafe void Binormal3(SByte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3bvEXT((SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3bvEXT")]
-            public static 
-            void Binormal3(SByte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = v)
-                    {
-                        Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dEXT")]
-            public static 
-            void Binormal3(Double bx, Double by, Double bz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3dEXT((Double)bx, (Double)by, (Double)bz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dvEXT")]
-            public static 
-            unsafe void Binormal3(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3dvEXT((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dvEXT")]
-            public static 
-            void Binormal3(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glBinormal3dvEXT((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3dvEXT")]
-            public static 
-            void Binormal3(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glBinormal3dvEXT((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fEXT")]
-            public static 
-            void Binormal3(Single bx, Single by, Single bz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3fEXT((Single)bx, (Single)by, (Single)bz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fvEXT")]
-            public static 
-            void Binormal3(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glBinormal3fvEXT((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fvEXT")]
-            public static 
-            unsafe void Binormal3(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3fvEXT((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3fvEXT")]
-            public static 
-            void Binormal3(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glBinormal3fvEXT((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3iEXT")]
-            public static 
-            void Binormal3(Int32 bx, Int32 by, Int32 bz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3iEXT((Int32)bx, (Int32)by, (Int32)bz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3ivEXT")]
-            public static 
-            unsafe void Binormal3(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3ivEXT((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3ivEXT")]
-            public static 
-            void Binormal3(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glBinormal3ivEXT((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3ivEXT")]
-            public static 
-            void Binormal3(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glBinormal3ivEXT((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3sEXT")]
-            public static 
-            void Binormal3(Int16 bx, Int16 by, Int16 bz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3sEXT((Int16)bx, (Int16)by, (Int16)bz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3svEXT")]
-            public static 
-            unsafe void Binormal3(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormal3svEXT((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3svEXT")]
-            public static 
-            void Binormal3(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glBinormal3svEXT((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormal3svEXT")]
-            public static 
-            void Binormal3(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glBinormal3svEXT((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")]
-            public static 
-            void BinormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")]
-            public static 
-            void BinormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")]
-            public static 
-            void BinormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")]
-            public static 
-            void BinormalPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glBinormalPointerEXT")]
-            public static 
-            void BinormalPointer(NormalPointerType type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBinormalPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the blend color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// specify the components of GL_BLEND_COLOR
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtBlendColor", Version = "1.0", EntryPoint = "glBlendColorEXT")]
-            public static 
-            void BlendColor(Single red, Single green, Single blue, Single alpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendColorEXT((Single)red, (Single)green, (Single)blue, (Single)alpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the equation used for both the RGB blend equation and the Alpha blend equation
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// specifies how source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtBlendMinmax", Version = "1.0", EntryPoint = "glBlendEquationEXT")]
-            public static 
-            void BlendEquation(ExtBlendMinmax mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendEquationEXT((ExtBlendMinmax)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the RGB blend equation and the alpha blend equation separately
-        /// </summary>
-        /// <param name="modeRGB">
-        /// <para>
-        /// specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-        /// <param name="modeAlpha">
-        /// <para>
-        /// specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be GL_FUNC_ADD, GL_FUNC_SUBTRACT, GL_FUNC_REVERSE_SUBTRACT, GL_MIN, GL_MAX.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtBlendEquationSeparate", Version = "1.2", EntryPoint = "glBlendEquationSeparateEXT")]
-            public static 
-            void BlendEquationSeparate(ExtBlendEquationSeparate modeRGB, ExtBlendEquationSeparate modeAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendEquationSeparateEXT((ExtBlendEquationSeparate)modeRGB, (ExtBlendEquationSeparate)modeAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify pixel arithmetic for RGB and alpha components separately
-        /// </summary>
-        /// <param name="srcRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        /// <param name="srcAlpha">
-        /// <para>
-        /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstAlpha">
-        /// <para>
-        /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtBlendFuncSeparate", Version = "1.0", EntryPoint = "glBlendFuncSeparateEXT")]
-            public static 
-            void BlendFuncSeparate(ExtBlendFuncSeparate sfactorRGB, ExtBlendFuncSeparate dfactorRGB, ExtBlendFuncSeparate sfactorAlpha, ExtBlendFuncSeparate dfactorAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendFuncSeparateEXT((ExtBlendFuncSeparate)sfactorRGB, (ExtBlendFuncSeparate)dfactorRGB, (ExtBlendFuncSeparate)sfactorAlpha, (ExtBlendFuncSeparate)dfactorAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferBlit", Version = "1.5", EntryPoint = "glBlitFramebufferEXT")]
-            public static 
-            void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, ClearBufferMask mask, ExtFramebufferBlit filter)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlitFramebufferEXT((Int32)srcX0, (Int32)srcY0, (Int32)srcX1, (Int32)srcY1, (Int32)dstX0, (Int32)dstY0, (Int32)dstX1, (Int32)dstY1, (ClearBufferMask)mask, (ExtFramebufferBlit)filter);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glCheckFramebufferStatusEXT")]
-            public static 
-            FramebufferErrorCode CheckFramebufferStatus(FramebufferTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glCheckFramebufferStatusEXT((FramebufferTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCheckNamedFramebufferStatusEXT")]
-            public static 
-            ExtDirectStateAccess CheckNamedFramebufferStatus(Int32 framebuffer, FramebufferTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glCheckNamedFramebufferStatusEXT((UInt32)framebuffer, (FramebufferTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCheckNamedFramebufferStatusEXT")]
-            public static 
-            ExtDirectStateAccess CheckNamedFramebufferStatus(UInt32 framebuffer, FramebufferTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glCheckNamedFramebufferStatusEXT((UInt32)framebuffer, (FramebufferTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glClearColorIiEXT")]
-            public static 
-            void ClearColorI(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClearColorIiEXT((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glClearColorIuiEXT")]
-            public static 
-            void ClearColorI(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClearColorIuiEXT((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glClientAttribDefaultEXT")]
-            public static 
-            void ClientAttribDefault(ClientAttribMask mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClientAttribDefaultEXT((ClientAttribMask)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glColorMaskIndexedEXT")]
-            public static 
-            void ColorMaskIndexed(Int32 index, bool r, bool g, bool b, bool a)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorMaskIndexedEXT((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glColorMaskIndexedEXT")]
-            public static 
-            void ColorMaskIndexed(UInt32 index, bool r, bool g, bool b, bool a)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorMaskIndexedEXT((UInt32)index, (bool)r, (bool)g, (bool)b, (bool)a);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")]
-            public static 
-            void ColorPointer<T4>(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")]
-            public static 
-            void ColorPointer<T4>(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")]
-            public static 
-            void ColorPointer<T4>(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")]
-            public static 
-            void ColorPointer<T4>(Int32 size, ColorPointerType type, Int32 stride, Int32 count, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glColorPointerEXT")]
-            public static 
-            void ColorPointer(Int32 size, ColorPointerType type, Int32 stride, Int32 count, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")]
-            public static 
-            void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] ref T5 data)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")]
-            public static 
-            void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,,] data)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")]
-            public static 
-            void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[,] data)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")]
-            public static 
-            void ColorSubTable<T5>(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, [In, Out] T5[] data)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glColorSubTableEXT")]
-            public static 
-            void ColorSubTable(ColorTableTarget target, Int32 start, Int32 count, PixelFormat format, PixelType type, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)count, (PixelFormat)format, (PixelType)type, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")]
-            public static 
-            void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")]
-            public static 
-            void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")]
-            public static 
-            void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")]
-            public static 
-            void ColorTable<T5>(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glColorTableEXT")]
-            public static 
-            void ColorTable(ColorTableTarget target, PixelInternalFormat internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr table)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorTableEXT((ColorTableTarget)target, (PixelInternalFormat)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")]
-            public static 
-            void CompressedMultiTexImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T7 bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")]
-            public static 
-            void CompressedMultiTexImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")]
-            public static 
-            void CompressedMultiTexImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")]
-            public static 
-            void CompressedMultiTexImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage1DEXT")]
-            public static 
-            void CompressedMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")]
-            public static 
-            void CompressedMultiTexImage2D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T8 bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")]
-            public static 
-            void CompressedMultiTexImage2D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,,] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")]
-            public static 
-            void CompressedMultiTexImage2D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")]
-            public static 
-            void CompressedMultiTexImage2D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage2DEXT")]
-            public static 
-            void CompressedMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")]
-            public static 
-            void CompressedMultiTexImage3D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T9 bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")]
-            public static 
-            void CompressedMultiTexImage3D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")]
-            public static 
-            void CompressedMultiTexImage3D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")]
-            public static 
-            void CompressedMultiTexImage3D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexImage3DEXT")]
-            public static 
-            void CompressedMultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")]
-            public static 
-            void CompressedMultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T7 bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")]
-            public static 
-            void CompressedMultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")]
-            public static 
-            void CompressedMultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")]
-            public static 
-            void CompressedMultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage1DEXT")]
-            public static 
-            void CompressedMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")]
-            public static 
-            void CompressedMultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T9 bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")]
-            public static 
-            void CompressedMultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")]
-            public static 
-            void CompressedMultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")]
-            public static 
-            void CompressedMultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage2DEXT")]
-            public static 
-            void CompressedMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")]
-            public static 
-            void CompressedMultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T11 bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")]
-            public static 
-            void CompressedMultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,,] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")]
-            public static 
-            void CompressedMultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")]
-            public static 
-            void CompressedMultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedMultiTexSubImage3DEXT")]
-            public static 
-            void CompressedMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T7 bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] ref T7 bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] T7[] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage1DEXT")]
-            public static 
-            void CompressedTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T8 bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,,] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] ref T8 bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,,] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[,] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] T8[] bits)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage2DEXT")]
-            public static 
-            void CompressedTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T9 bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] ref T9 bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] T9[] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureImage3DEXT")]
-            public static 
-            void CompressedTextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T7 bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] ref T7 bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[,] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, [In, Out] T7[] bits)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage1DEXT")]
-            public static 
-            void CompressedTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T9 bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] ref T9 bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[,] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, [In, Out] T9[] bits)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage2DEXT")]
-            public static 
-            void CompressedTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T11 bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,,] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] ref T11 bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,,] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[,] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, [In, Out] T11[] bits)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle bits_ptr = GCHandle.Alloc(bits, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    bits_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCompressedTextureSubImage3DEXT")]
-            public static 
-            void CompressedTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, Int32 imageSize, IntPtr bits)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCompressedTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (Int32)imageSize, (IntPtr)bits);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")]
-            public static 
-            void ConvolutionFilter1D<T5>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 image)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")]
-            public static 
-            void ConvolutionFilter1D<T5>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] image)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")]
-            public static 
-            void ConvolutionFilter1D<T5>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] image)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")]
-            public static 
-            void ConvolutionFilter1D<T5>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] image)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_INTENSITY, GL_RGB, and GL_RGBA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter1DEXT")]
-            public static 
-            void ConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr image)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)image);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")]
-            public static 
-            void ConvolutionFilter2D<T6>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 image)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")]
-            public static 
-            void ConvolutionFilter2D<T6>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] image)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")]
-            public static 
-            void ConvolutionFilter2D<T6>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] image)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")]
-            public static 
-            void ConvolutionFilter2D<T6>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] image)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array referenced by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a two-dimensional array of pixel data that is processed to build the convolution filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionFilter2DEXT")]
-            public static 
-            void ConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr image)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)image);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterfEXT")]
-            public static 
-            void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glConvolutionParameterfEXT((ExtConvolution)target, (ExtConvolution)pname, (Single)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterfvEXT")]
-            public static 
-            unsafe void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterfvEXT")]
-            public static 
-            void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameteriEXT")]
-            public static 
-            void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glConvolutionParameteriEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterivEXT")]
-            public static 
-            unsafe void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target for the convolution parameter. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be set. Must be GL_CONVOLUTION_BORDER_MODE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// The parameter value. Must be one of GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER.
-        /// </para>
-        /// <para>
-        /// 
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glConvolutionParameterivEXT")]
-            public static 
-            void ConvolutionParameter(ExtConvolution target, ExtConvolution pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Respecify a portion of a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// The starting index of the portion of the color table to be replaced.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The window coordinates of the left corner of the row of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of table entries to replace.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtColorSubtable", Version = "1.2", EntryPoint = "glCopyColorSubTableEXT")]
-            public static 
-            void CopyColorSubTable(ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyColorSubTableEXT((ColorTableTarget)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy pixels into a one-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_1D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The window space coordinates of the lower-left coordinate of the pixel array to copy.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array to copy.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glCopyConvolutionFilter1DEXT")]
-            public static 
-            void CopyConvolutionFilter1D(ExtConvolution target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyConvolutionFilter1DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy pixels into a two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The window space coordinates of the lower-left coordinate of the pixel array to copy.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel array to copy.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The height of the pixel array to copy.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glCopyConvolutionFilter2DEXT")]
-            public static 
-            void CopyConvolutionFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyConvolutionFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexImage1DEXT")]
-            public static 
-            void CopyMultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexImage2DEXT")]
-            public static 
-            void CopyMultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexSubImage1DEXT")]
-            public static 
-            void CopyMultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexSubImage2DEXT")]
-            public static 
-            void CopyMultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyMultiTexSubImage3DEXT")]
-            public static 
-            void CopyMultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy pixels into a 1D texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the left corner of the row of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer . The height of the texture image is 1.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexImage1DEXT")]
-            public static 
-            void CopyTexImage1D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTexImage1DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy pixels into a 2D texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// Specifies the internal format of the texture. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24, GL_DEPTH_COMPONENT32, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image. Must be 0 or 2 sup n + 2 ( border ) for some integer .
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image. Must be 0 or 2 sup m + 2 ( border ) for some integer .
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexImage2DEXT")]
-            public static 
-            void CopyTexImage2D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTexImage2DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies the texel offset within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the left corner of the row of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexSubImage1DEXT")]
-            public static 
-            void CopyTexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexSubImage2DEXT")]
-            public static 
-            void CopyTexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// Specify the window coordinates of the lower left corner of the rectangular region of pixels to be copied.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtCopyTexture", Version = "1.0", EntryPoint = "glCopyTexSubImage3DEXT")]
-            public static 
-            void CopyTexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage1DEXT")]
-            public static 
-            void CopyTextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage1DEXT")]
-            public static 
-            void CopyTextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage2DEXT")]
-            public static 
-            void CopyTextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureImage2DEXT")]
-            public static 
-            void CopyTextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage1DEXT")]
-            public static 
-            void CopyTextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage1DEXT")]
-            public static 
-            void CopyTextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage2DEXT")]
-            public static 
-            void CopyTextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage2DEXT")]
-            public static 
-            void CopyTextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage3DEXT")]
-            public static 
-            void CopyTextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glCopyTextureSubImage3DEXT")]
-            public static 
-            void CopyTextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterdvEXT")]
-            public static 
-            unsafe void CullParameter(ExtCullVertex pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCullParameterdvEXT((ExtCullVertex)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterdvEXT")]
-            public static 
-            void CullParameter(ExtCullVertex pname, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glCullParameterdvEXT((ExtCullVertex)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterdvEXT")]
-            public static 
-            void CullParameter(ExtCullVertex pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glCullParameterdvEXT((ExtCullVertex)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterfvEXT")]
-            public static 
-            void CullParameter(ExtCullVertex pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glCullParameterfvEXT((ExtCullVertex)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterfvEXT")]
-            public static 
-            unsafe void CullParameter(ExtCullVertex pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCullParameterfvEXT((ExtCullVertex)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCullVertex", Version = "1.1", EntryPoint = "glCullParameterfvEXT")]
-            public static 
-            void CullParameter(ExtCullVertex pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glCullParameterfvEXT((ExtCullVertex)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")]
-            public static 
-            unsafe void DeleteFramebuffers(Int32 n, Int32* framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")]
-            public static 
-            void DeleteFramebuffers(Int32 n, Int32[] framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* framebuffers_ptr = framebuffers)
-                    {
-                        Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")]
-            public static 
-            void DeleteFramebuffers(Int32 n, ref Int32 framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* framebuffers_ptr = &framebuffers)
-                    {
-                        Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")]
-            public static 
-            void DeleteFramebuffers(Int32 n, ref UInt32 framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* framebuffers_ptr = &framebuffers)
-                    {
-                        Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")]
-            public static 
-            unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteFramebuffersEXT")]
-            public static 
-            void DeleteFramebuffers(Int32 n, UInt32[] framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* framebuffers_ptr = framebuffers)
-                    {
-                        Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")]
-            public static 
-            unsafe void DeleteRenderbuffers(Int32 n, Int32* renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")]
-            public static 
-            void DeleteRenderbuffers(Int32 n, Int32[] renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* renderbuffers_ptr = renderbuffers)
-                    {
-                        Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")]
-            public static 
-            void DeleteRenderbuffers(Int32 n, ref Int32 renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* renderbuffers_ptr = &renderbuffers)
-                    {
-                        Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")]
-            public static 
-            void DeleteRenderbuffers(Int32 n, ref UInt32 renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* renderbuffers_ptr = &renderbuffers)
-                    {
-                        Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")]
-            public static 
-            unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glDeleteRenderbuffersEXT")]
-            public static 
-            void DeleteRenderbuffers(Int32 n, UInt32[] renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* renderbuffers_ptr = renderbuffers)
-                    {
-                        Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")]
-            public static 
-            unsafe void DeleteTextures(Int32 n, Int32* textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")]
-            public static 
-            void DeleteTextures(Int32 n, Int32[] textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = textures)
-                    {
-                        Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")]
-            public static 
-            void DeleteTextures(Int32 n, ref Int32 textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = &textures)
-                    {
-                        Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")]
-            public static 
-            void DeleteTextures(Int32 n, ref UInt32 textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = &textures)
-                    {
-                        Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")]
-            public static 
-            unsafe void DeleteTextures(Int32 n, UInt32* textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Delete named textures
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be deleted.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array of textures to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glDeleteTexturesEXT")]
-            public static 
-            void DeleteTextures(Int32 n, UInt32[] textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = textures)
-                    {
-                        Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDeleteVertexShaderEXT")]
-            public static 
-            void DeleteVertexShader(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteVertexShaderEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDeleteVertexShaderEXT")]
-            public static 
-            void DeleteVertexShader(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteVertexShaderEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDepthBoundsTest", Version = "1.2", EntryPoint = "glDepthBoundsEXT")]
-            public static 
-            void DepthBounds(Double zmin, Double zmax)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDepthBoundsEXT((Double)zmin, (Double)zmax);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glDisableClientStateIndexedEXT")]
-            public static 
-            void DisableClientStateIndexed(EnableCap array, Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableClientStateIndexedEXT((EnableCap)array, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glDisableClientStateIndexedEXT")]
-            public static 
-            void DisableClientStateIndexed(EnableCap array, UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableClientStateIndexedEXT((EnableCap)array, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glDisableIndexedEXT")]
-            public static 
-            void DisableIndexed(ExtDrawBuffers2 target, Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glDisableIndexedEXT")]
-            public static 
-            void DisableIndexed(ExtDrawBuffers2 target, UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDisableVariantClientStateEXT")]
-            public static 
-            void DisableVariantClientState(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableVariantClientStateEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glDisableVariantClientStateEXT")]
-            public static 
-            void DisableVariantClientState(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDisableVariantClientStateEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Specifies the starting index in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of indices to be rendered.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glDrawArraysEXT")]
-            public static 
-            void DrawArrays(BeginMode mode, Int32 first, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawArraysEXT((BeginMode)mode, (Int32)first, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawArraysInstancedEXT")]
-            public static 
-            void DrawArraysInstanced(BeginMode mode, Int32 start, Int32 count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawArraysInstancedEXT((BeginMode)mode, (Int32)start, (Int32)count, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")]
-            public static 
-            void DrawElementsInstanced<T3>(BeginMode mode, Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawInstanced", Version = "2.0", EntryPoint = "glDrawElementsInstancedEXT")]
-            public static 
-            void DrawElementsInstanced(BeginMode mode, Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawElementsInstancedEXT((BeginMode)mode, (Int32)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements(BeginMode mode, Int32 start, Int32 end, Int32 count, DrawElementsType type, IntPtr indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] ref T5 indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,,] indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[,] indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements<T5>(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, [In, Out] T5[] indices)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="start">
-        /// <para>
-        /// Specifies the minimum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="end">
-        /// <para>
-        /// Specifies the maximum array index contained in indices.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Specifies the number of elements to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawRangeElements", Version = "1.1", EntryPoint = "glDrawRangeElementsEXT")]
-            public static 
-            void DrawRangeElements(BeginMode mode, UInt32 start, UInt32 end, Int32 count, DrawElementsType type, IntPtr indices)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawRangeElementsEXT((BeginMode)mode, (UInt32)start, (UInt32)end, (Int32)count, (DrawElementsType)type, (IntPtr)indices);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glEdgeFlagPointerEXT")]
-            public static 
-            unsafe void EdgeFlagPointer(Int32 stride, Int32 count, bool* pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (bool*)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glEdgeFlagPointerEXT")]
-            public static 
-            void EdgeFlagPointer(Int32 stride, Int32 count, bool[] pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* pointer_ptr = pointer)
-                    {
-                        Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (bool*)pointer_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of edge flags
-        /// </summary>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive edge flags. If stride is 0, the edge flags are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first edge flag in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glEdgeFlagPointerEXT")]
-            public static 
-            void EdgeFlagPointer(Int32 stride, Int32 count, ref bool pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* pointer_ptr = &pointer)
-                    {
-                        Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (bool*)pointer_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glEnableClientStateIndexedEXT")]
-            public static 
-            void EnableClientStateIndexed(EnableCap array, Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableClientStateIndexedEXT((EnableCap)array, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glEnableClientStateIndexedEXT")]
-            public static 
-            void EnableClientStateIndexed(EnableCap array, UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableClientStateIndexedEXT((EnableCap)array, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glEnableIndexedEXT")]
-            public static 
-            void EnableIndexed(ExtDrawBuffers2 target, Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glEnableIndexedEXT")]
-            public static 
-            void EnableIndexed(ExtDrawBuffers2 target, UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableIndexedEXT((ExtDrawBuffers2)target, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glEnableVariantClientStateEXT")]
-            public static 
-            void EnableVariantClientState(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableVariantClientStateEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glEnableVariantClientStateEXT")]
-            public static 
-            void EnableVariantClientState(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEnableVariantClientStateEXT((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glEndTransformFeedbackEXT")]
-            public static 
-            void EndTransformFeedback()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndTransformFeedbackEXT();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glEndVertexShaderEXT")]
-            public static 
-            void EndVertexShader()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndVertexShaderEXT();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glExtractComponentEXT")]
-            public static 
-            void ExtractComponent(Int32 res, Int32 src, Int32 num)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glExtractComponentEXT")]
-            public static 
-            void ExtractComponent(UInt32 res, UInt32 src, UInt32 num)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoorddEXT")]
-            public static 
-            void FogCoord(Double coord)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoorddEXT((Double)coord);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoorddvEXT")]
-            public static 
-            unsafe void FogCoord(Double* coord)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoorddvEXT((Double*)coord);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordfEXT")]
-            public static 
-            void FogCoord(Single coord)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoordfEXT((Single)coord);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current fog coordinates
-        /// </summary>
-        /// <param name="coord">
-        /// <para>
-        /// Specify the fog distance.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordfvEXT")]
-            public static 
-            unsafe void FogCoord(Single* coord)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoordfvEXT((Single*)coord);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")]
-            public static 
-            void FogCoordPointer<T2>(ExtFogCoord type, Int32 stride, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")]
-            public static 
-            void FogCoordPointer<T2>(ExtFogCoord type, Int32 stride, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")]
-            public static 
-            void FogCoordPointer<T2>(ExtFogCoord type, Int32 stride, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")]
-            public static 
-            void FogCoordPointer<T2>(ExtFogCoord type, Int32 stride, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of fog coordinates
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each fog coordinate. Symbolic constants GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive fog coordinates. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first fog coordinate in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtFogCoord", Version = "1.1", EntryPoint = "glFogCoordPointerEXT")]
-            public static 
-            void FogCoordPointer(ExtFogCoord type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoordPointerEXT((ExtFogCoord)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBufferEXT")]
-            public static 
-            void FramebufferDrawBuffer(Int32 framebuffer, DrawBufferMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferDrawBufferEXT((UInt32)framebuffer, (DrawBufferMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBufferEXT")]
-            public static 
-            void FramebufferDrawBuffer(UInt32 framebuffer, DrawBufferMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferDrawBufferEXT((UInt32)framebuffer, (DrawBufferMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")]
-            public static 
-            unsafe void FramebufferDrawBuffers(Int32 framebuffer, Int32 n, DrawBufferMode* bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")]
-            public static 
-            void FramebufferDrawBuffers(Int32 framebuffer, Int32 n, DrawBufferMode[] bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (DrawBufferMode* bufs_ptr = bufs)
-                    {
-                        Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")]
-            public static 
-            void FramebufferDrawBuffers(Int32 framebuffer, Int32 n, ref DrawBufferMode bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (DrawBufferMode* bufs_ptr = &bufs)
-                    {
-                        Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")]
-            public static 
-            unsafe void FramebufferDrawBuffers(UInt32 framebuffer, Int32 n, DrawBufferMode* bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")]
-            public static 
-            void FramebufferDrawBuffers(UInt32 framebuffer, Int32 n, DrawBufferMode[] bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (DrawBufferMode* bufs_ptr = bufs)
-                    {
-                        Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferDrawBuffersEXT")]
-            public static 
-            void FramebufferDrawBuffers(UInt32 framebuffer, Int32 n, ref DrawBufferMode bufs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (DrawBufferMode* bufs_ptr = &bufs)
-                    {
-                        Delegates.glFramebufferDrawBuffersEXT((UInt32)framebuffer, (Int32)n, (DrawBufferMode*)bufs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferReadBufferEXT")]
-            public static 
-            void FramebufferReadBuffer(Int32 framebuffer, ReadBufferMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferReadBufferEXT((UInt32)framebuffer, (ReadBufferMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glFramebufferReadBufferEXT")]
-            public static 
-            void FramebufferReadBuffer(UInt32 framebuffer, ReadBufferMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferReadBufferEXT((UInt32)framebuffer, (ReadBufferMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferRenderbufferEXT")]
-            public static 
-            void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferRenderbufferEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferRenderbufferEXT")]
-            public static 
-            void FramebufferRenderbuffer(FramebufferTarget target, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferRenderbufferEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture1DEXT")]
-            public static 
-            void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTexture1DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture1DEXT")]
-            public static 
-            void FramebufferTexture1D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTexture1DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture2DEXT")]
-            public static 
-            void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTexture2DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture2DEXT")]
-            public static 
-            void FramebufferTexture2D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTexture2DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture3DEXT")]
-            public static 
-            void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level, Int32 zoffset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTexture3DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glFramebufferTexture3DEXT")]
-            public static 
-            void FramebufferTexture3D(FramebufferTarget target, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTexture3DEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureEXT")]
-            public static 
-            void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureEXT")]
-            public static 
-            void FramebufferTexture(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureFaceEXT")]
-            public static 
-            void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, TextureTarget face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureFaceEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureFaceEXT")]
-            public static 
-            void FramebufferTextureFace(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, TextureTarget face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureFaceEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureLayerEXT")]
-            public static 
-            void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureLayerEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glFramebufferTextureLayerEXT")]
-            public static 
-            void FramebufferTextureLayer(FramebufferTarget target, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFramebufferTextureLayerEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenerateMipmapEXT")]
-            public static 
-            void GenerateMipmap(GenerateMipmapTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenerateMipmapEXT((GenerateMipmapTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGenerateMultiTexMipmapEXT")]
-            public static 
-            void GenerateMultiTexMipmap(TextureUnit texunit, TextureTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenerateMultiTexMipmapEXT((TextureUnit)texunit, (TextureTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGenerateTextureMipmapEXT")]
-            public static 
-            void GenerateTextureMipmap(Int32 texture, TextureTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenerateTextureMipmapEXT((UInt32)texture, (TextureTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGenerateTextureMipmapEXT")]
-            public static 
-            void GenerateTextureMipmap(UInt32 texture, TextureTarget target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenerateTextureMipmapEXT((UInt32)texture, (TextureTarget)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")]
-            public static 
-            unsafe void GenFramebuffers(Int32 n, [Out] Int32* framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")]
-            public static 
-            void GenFramebuffers(Int32 n, [Out] Int32[] framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* framebuffers_ptr = framebuffers)
-                    {
-                        Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")]
-            public static 
-            void GenFramebuffers(Int32 n, [Out] out Int32 framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* framebuffers_ptr = &framebuffers)
-                    {
-                        Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                        framebuffers = *framebuffers_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")]
-            public static 
-            void GenFramebuffers(Int32 n, [Out] out UInt32 framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* framebuffers_ptr = &framebuffers)
-                    {
-                        Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                        framebuffers = *framebuffers_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")]
-            public static 
-            unsafe void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenFramebuffersEXT")]
-            public static 
-            void GenFramebuffers(Int32 n, [Out] UInt32[] framebuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* framebuffers_ptr = framebuffers)
-                    {
-                        Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")]
-            public static 
-            unsafe void GenRenderbuffers(Int32 n, [Out] Int32* renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")]
-            public static 
-            void GenRenderbuffers(Int32 n, [Out] Int32[] renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* renderbuffers_ptr = renderbuffers)
-                    {
-                        Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")]
-            public static 
-            void GenRenderbuffers(Int32 n, [Out] out Int32 renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* renderbuffers_ptr = &renderbuffers)
-                    {
-                        Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                        renderbuffers = *renderbuffers_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")]
-            public static 
-            void GenRenderbuffers(Int32 n, [Out] out UInt32 renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* renderbuffers_ptr = &renderbuffers)
-                    {
-                        Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                        renderbuffers = *renderbuffers_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")]
-            public static 
-            unsafe void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGenRenderbuffersEXT")]
-            public static 
-            void GenRenderbuffers(Int32 n, [Out] UInt32[] renderbuffers)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* renderbuffers_ptr = renderbuffers)
-                    {
-                        Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenSymbolsEXT")]
-            public static 
-            Int32 GenSymbol(ExtVertexShader datatype, ExtVertexShader storagetype, ExtVertexShader range, Int32 components)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenSymbolsEXT((ExtVertexShader)datatype, (ExtVertexShader)storagetype, (ExtVertexShader)range, (UInt32)components);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenSymbolsEXT")]
-            public static 
-            Int32 GenSymbol(ExtVertexShader datatype, ExtVertexShader storagetype, ExtVertexShader range, UInt32 components)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenSymbolsEXT((ExtVertexShader)datatype, (ExtVertexShader)storagetype, (ExtVertexShader)range, (UInt32)components);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")]
-            public static 
-            unsafe void GenTextures(Int32 n, [Out] Int32* textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")]
-            public static 
-            void GenTextures(Int32 n, [Out] Int32[] textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = textures)
-                    {
-                        Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")]
-            public static 
-            void GenTextures(Int32 n, [Out] out Int32 textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = &textures)
-                    {
-                        Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                        textures = *textures_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")]
-            public static 
-            void GenTextures(Int32 n, [Out] out UInt32 textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = &textures)
-                    {
-                        Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                        textures = *textures_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")]
-            public static 
-            unsafe void GenTextures(Int32 n, [Out] UInt32* textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Generate texture names
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of texture names to be generated.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array in which the generated texture names are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glGenTexturesEXT")]
-            public static 
-            void GenTextures(Int32 n, [Out] UInt32[] textures)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = textures)
-                    {
-                        Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenVertexShadersEXT")]
-            public static 
-            Int32 GenVertexShaders(Int32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenVertexShadersEXT((UInt32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGenVertexShadersEXT")]
-            public static 
-            Int32 GenVertexShaders(UInt32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenVertexShadersEXT((UInt32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")]
-            public static 
-            unsafe void GetBooleanIndexed(ExtDrawBuffers2 target, Int32 index, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")]
-            public static 
-            void GetBooleanIndexed(ExtDrawBuffers2 target, Int32 index, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")]
-            public static 
-            void GetBooleanIndexed(ExtDrawBuffers2 target, Int32 index, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")]
-            public static 
-            unsafe void GetBooleanIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")]
-            public static 
-            void GetBooleanIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetBooleanIndexedvEXT")]
-            public static 
-            void GetBooleanIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetBooleanIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")]
-            public static 
-            void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")]
-            public static 
-            void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")]
-            public static 
-            void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")]
-            public static 
-            void GetColorTable<T3>(ColorTableTarget target, PixelFormat format, PixelType type, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableEXT")]
-            public static 
-            void GetColorTable(ColorTableTarget target, PixelFormat format, PixelType type, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetColorTableEXT((ColorTableTarget)target, (PixelFormat)format, (PixelType)type, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterfvEXT")]
-            public static 
-            void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetColorTableParameterfvEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterfvEXT")]
-            public static 
-            unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetColorTableParameterfvEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterfvEXT")]
-            public static 
-            void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetColorTableParameterfvEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterivEXT")]
-            public static 
-            unsafe void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetColorTableParameterivEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterivEXT")]
-            public static 
-            void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetColorTableParameterivEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPalettedTexture", Version = "1.1", EntryPoint = "glGetColorTableParameterivEXT")]
-            public static 
-            void GetColorTableParameter(ColorTableTarget target, GetColorTableParameterPName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetColorTableParameterivEXT((ColorTableTarget)target, (GetColorTableParameterPName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")]
-            public static 
-            void GetCompressedMultiTexImage<T3>(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] ref T3 img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")]
-            public static 
-            void GetCompressedMultiTexImage<T3>(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] T3[,,] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")]
-            public static 
-            void GetCompressedMultiTexImage<T3>(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] T3[,] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")]
-            public static 
-            void GetCompressedMultiTexImage<T3>(TextureUnit texunit, TextureTarget target, Int32 lod, [In, Out] T3[] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedMultiTexImageEXT")]
-            public static 
-            void GetCompressedMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 lod, [Out] IntPtr img)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCompressedMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)lod, (IntPtr)img);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(Int32 texture, TextureTarget target, Int32 lod, [In, Out] ref T3 img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(Int32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,,] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(Int32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(Int32 texture, TextureTarget target, Int32 lod, [In, Out] T3[] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage(Int32 texture, TextureTarget target, Int32 lod, [Out] IntPtr img)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] ref T3 img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,,] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] T3[,] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage<T3>(UInt32 texture, TextureTarget target, Int32 lod, [In, Out] T3[] img)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle img_ptr = GCHandle.Alloc(img, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetCompressedTextureImageEXT")]
-            public static 
-            void GetCompressedTextureImage(UInt32 texture, TextureTarget target, Int32 lod, [Out] IntPtr img)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCompressedTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)lod, (IntPtr)img);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")]
-            public static 
-            void GetConvolutionFilter<T3>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] ref T3 image)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")]
-            public static 
-            void GetConvolutionFilter<T3>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,,] image)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")]
-            public static 
-            void GetConvolutionFilter<T3>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,] image)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")]
-            public static 
-            void GetConvolutionFilter<T3>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[] image)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle image_ptr = GCHandle.Alloc(image, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get current 1D or 2D convolution filter kernel
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter to be retrieved. Must be one of GL_CONVOLUTION_1D or GL_CONVOLUTION_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output image. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output image. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="image">
-        /// <para>
-        /// Pointer to storage for the output image.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionFilterEXT")]
-            public static 
-            void GetConvolutionFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr image)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetConvolutionFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)image);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterfvEXT")]
-            public static 
-            void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterfvEXT")]
-            public static 
-            unsafe void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterfvEXT")]
-            public static 
-            void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetConvolutionParameterfvEXT((ExtConvolution)target, (ExtConvolution)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterivEXT")]
-            public static 
-            unsafe void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterivEXT")]
-            public static 
-            void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get convolution parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The filter whose parameters are to be retrieved. Must be one of GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, or GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS, GL_CONVOLUTION_FORMAT, GL_CONVOLUTION_WIDTH, GL_CONVOLUTION_HEIGHT, GL_MAX_CONVOLUTION_WIDTH, or GL_MAX_CONVOLUTION_HEIGHT.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the parameters to be retrieved.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetConvolutionParameterivEXT")]
-            public static 
-            void GetConvolutionParameter(ExtConvolution target, ExtConvolution pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetConvolutionParameterivEXT((ExtConvolution)target, (ExtConvolution)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")]
-            public static 
-            unsafe void GetDoubleIndexed(ExtDirectStateAccess target, Int32 index, [Out] Double* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")]
-            public static 
-            void GetDoubleIndexed(ExtDirectStateAccess target, Int32 index, [Out] Double[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* data_ptr = data)
-                    {
-                        Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")]
-            public static 
-            void GetDoubleIndexed(ExtDirectStateAccess target, Int32 index, [Out] out Double data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* data_ptr = &data)
-                    {
-                        Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")]
-            public static 
-            unsafe void GetDoubleIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Double* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")]
-            public static 
-            void GetDoubleIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Double[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* data_ptr = data)
-                    {
-                        Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetDoubleIndexedvEXT")]
-            public static 
-            void GetDoubleIndexed(ExtDirectStateAccess target, UInt32 index, [Out] out Double data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* data_ptr = &data)
-                    {
-                        Delegates.glGetDoubleIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Double*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")]
-            public static 
-            void GetFloatIndexed(ExtDirectStateAccess target, Int32 index, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")]
-            public static 
-            unsafe void GetFloatIndexed(ExtDirectStateAccess target, Int32 index, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")]
-            public static 
-            void GetFloatIndexed(ExtDirectStateAccess target, Int32 index, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")]
-            public static 
-            void GetFloatIndexed(ExtDirectStateAccess target, UInt32 index, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")]
-            public static 
-            unsafe void GetFloatIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFloatIndexedvEXT")]
-            public static 
-            void GetFloatIndexed(ExtDirectStateAccess target, UInt32 index, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetFloatIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetFragDataLocationEXT")]
-            public static 
-            Int32 GetFragDataLocation(Int32 program, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetFragDataLocationEXT((UInt32)program, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetFragDataLocationEXT")]
-            public static 
-            Int32 GetFragDataLocation(UInt32 program, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetFragDataLocationEXT((UInt32)program, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetFramebufferAttachmentParameterivEXT")]
-            public static 
-            unsafe void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFramebufferAttachmentParameterivEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetFramebufferAttachmentParameterivEXT")]
-            public static 
-            void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFramebufferAttachmentParameterivEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetFramebufferAttachmentParameterivEXT")]
-            public static 
-            void GetFramebufferAttachmentParameter(FramebufferTarget target, FramebufferAttachment attachment, FramebufferParameterName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFramebufferAttachmentParameterivEXT((FramebufferTarget)target, (FramebufferAttachment)attachment, (FramebufferParameterName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")]
-            public static 
-            unsafe void GetFramebufferParameter(Int32 framebuffer, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")]
-            public static 
-            void GetFramebufferParameter(Int32 framebuffer, ExtDirectStateAccess pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")]
-            public static 
-            void GetFramebufferParameter(Int32 framebuffer, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")]
-            public static 
-            unsafe void GetFramebufferParameter(UInt32 framebuffer, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")]
-            public static 
-            void GetFramebufferParameter(UInt32 framebuffer, ExtDirectStateAccess pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetFramebufferParameterivEXT")]
-            public static 
-            void GetFramebufferParameter(UInt32 framebuffer, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFramebufferParameterivEXT((UInt32)framebuffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")]
-            public static 
-            void GetHistogram<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")]
-            public static 
-            void GetHistogram<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")]
-            public static 
-            void GetHistogram<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")]
-            public static 
-            void GetHistogram<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, each component counter that is actually returned is reset to zero. (Other counters are unaffected.) If GL_FALSE, none of the counters in the histogram table is modified.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of values to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of values to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned histogram table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramEXT")]
-            public static 
-            void GetHistogram(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetHistogramEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterfvEXT")]
-            public static 
-            void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetHistogramParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterfvEXT")]
-            public static 
-            unsafe void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetHistogramParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterfvEXT")]
-            public static 
-            void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetHistogramParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterivEXT")]
-            public static 
-            unsafe void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetHistogramParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterivEXT")]
-            public static 
-            void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetHistogramParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get histogram parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The name of the parameter to be retrieved. Must be one of GL_HISTOGRAM_WIDTH, GL_HISTOGRAM_FORMAT, GL_HISTOGRAM_RED_SIZE, GL_HISTOGRAM_GREEN_SIZE, GL_HISTOGRAM_BLUE_SIZE, GL_HISTOGRAM_ALPHA_SIZE, GL_HISTOGRAM_LUMINANCE_SIZE, or GL_HISTOGRAM_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetHistogramParameterivEXT")]
-            public static 
-            void GetHistogramParameter(ExtHistogram target, ExtHistogram pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetHistogramParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")]
-            public static 
-            unsafe void GetIntegerIndexed(ExtDrawBuffers2 target, Int32 index, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")]
-            public static 
-            void GetIntegerIndexed(ExtDrawBuffers2 target, Int32 index, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")]
-            public static 
-            void GetIntegerIndexed(ExtDrawBuffers2 target, Int32 index, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")]
-            public static 
-            unsafe void GetIntegerIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")]
-            public static 
-            void GetIntegerIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glGetIntegerIndexedvEXT")]
-            public static 
-            void GetIntegerIndexed(ExtDrawBuffers2 target, UInt32 index, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetIntegerIndexedvEXT((ExtDrawBuffers2)target, (UInt32)index, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")]
-            public static 
-            unsafe void GetInvariantBoolean(Int32 id, ExtVertexShader value, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")]
-            public static 
-            void GetInvariantBoolean(Int32 id, ExtVertexShader value, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")]
-            public static 
-            void GetInvariantBoolean(Int32 id, ExtVertexShader value, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")]
-            public static 
-            unsafe void GetInvariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")]
-            public static 
-            void GetInvariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantBooleanvEXT")]
-            public static 
-            void GetInvariantBoolean(UInt32 id, ExtVertexShader value, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetInvariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")]
-            public static 
-            void GetInvariantFloat(Int32 id, ExtVertexShader value, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")]
-            public static 
-            unsafe void GetInvariantFloat(Int32 id, ExtVertexShader value, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")]
-            public static 
-            void GetInvariantFloat(Int32 id, ExtVertexShader value, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")]
-            public static 
-            void GetInvariantFloat(UInt32 id, ExtVertexShader value, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")]
-            public static 
-            unsafe void GetInvariantFloat(UInt32 id, ExtVertexShader value, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantFloatvEXT")]
-            public static 
-            void GetInvariantFloat(UInt32 id, ExtVertexShader value, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetInvariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")]
-            public static 
-            unsafe void GetInvariantInteger(Int32 id, ExtVertexShader value, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")]
-            public static 
-            void GetInvariantInteger(Int32 id, ExtVertexShader value, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")]
-            public static 
-            void GetInvariantInteger(Int32 id, ExtVertexShader value, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")]
-            public static 
-            unsafe void GetInvariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")]
-            public static 
-            void GetInvariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetInvariantIntegervEXT")]
-            public static 
-            void GetInvariantInteger(UInt32 id, ExtVertexShader value, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetInvariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")]
-            public static 
-            unsafe void GetLocalConstantBoolean(Int32 id, ExtVertexShader value, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")]
-            public static 
-            void GetLocalConstantBoolean(Int32 id, ExtVertexShader value, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")]
-            public static 
-            void GetLocalConstantBoolean(Int32 id, ExtVertexShader value, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")]
-            public static 
-            unsafe void GetLocalConstantBoolean(UInt32 id, ExtVertexShader value, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")]
-            public static 
-            void GetLocalConstantBoolean(UInt32 id, ExtVertexShader value, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantBooleanvEXT")]
-            public static 
-            void GetLocalConstantBoolean(UInt32 id, ExtVertexShader value, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")]
-            public static 
-            void GetLocalConstantFloat(Int32 id, ExtVertexShader value, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")]
-            public static 
-            unsafe void GetLocalConstantFloat(Int32 id, ExtVertexShader value, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")]
-            public static 
-            void GetLocalConstantFloat(Int32 id, ExtVertexShader value, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")]
-            public static 
-            void GetLocalConstantFloat(UInt32 id, ExtVertexShader value, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")]
-            public static 
-            unsafe void GetLocalConstantFloat(UInt32 id, ExtVertexShader value, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantFloatvEXT")]
-            public static 
-            void GetLocalConstantFloat(UInt32 id, ExtVertexShader value, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")]
-            public static 
-            unsafe void GetLocalConstantInteger(Int32 id, ExtVertexShader value, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")]
-            public static 
-            void GetLocalConstantInteger(Int32 id, ExtVertexShader value, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")]
-            public static 
-            void GetLocalConstantInteger(Int32 id, ExtVertexShader value, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")]
-            public static 
-            unsafe void GetLocalConstantInteger(UInt32 id, ExtVertexShader value, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")]
-            public static 
-            void GetLocalConstantInteger(UInt32 id, ExtVertexShader value, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetLocalConstantIntegervEXT")]
-            public static 
-            void GetLocalConstantInteger(UInt32 id, ExtVertexShader value, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")]
-            public static 
-            void GetMinmax<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] ref T4 values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")]
-            public static 
-            void GetMinmax<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,,] values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")]
-            public static 
-            void GetMinmax<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[,] values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")]
-            public static 
-            void GetMinmax<T4>(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [In, Out] T4[] values)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle values_ptr = GCHandle.Alloc(values, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minimum and maximum pixel values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="reset">
-        /// <para>
-        /// If GL_TRUE, all entries in the minmax table that are actually returned are reset to their initial values. (Other entries are unaltered.) If GL_FALSE, the minmax table is unaltered.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the data to be returned in values. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="types">
-        /// <para>
-        /// The type of the data to be returned in values. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="values">
-        /// <para>
-        /// A pointer to storage for the returned values.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxEXT")]
-            public static 
-            void GetMinmax(ExtHistogram target, bool reset, PixelFormat format, PixelType type, [Out] IntPtr values)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMinmaxEXT((ExtHistogram)target, (bool)reset, (PixelFormat)format, (PixelType)type, (IntPtr)values);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterfvEXT")]
-            public static 
-            void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMinmaxParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterfvEXT")]
-            public static 
-            unsafe void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMinmaxParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterfvEXT")]
-            public static 
-            void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMinmaxParameterfvEXT((ExtHistogram)target, (ExtHistogram)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterivEXT")]
-            public static 
-            unsafe void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMinmaxParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterivEXT")]
-            public static 
-            void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMinmaxParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get minmax parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The parameter to be retrieved. Must be one of GL_MINMAX_FORMAT or GL_MINMAX_SINK.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to storage for the retrieved parameters.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glGetMinmaxParameterivEXT")]
-            public static 
-            void GetMinmaxParameter(ExtHistogram target, ExtHistogram pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMinmaxParameterivEXT((ExtHistogram)target, (ExtHistogram)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvfvEXT")]
-            public static 
-            void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvfvEXT")]
-            public static 
-            unsafe void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvfvEXT")]
-            public static 
-            void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvivEXT")]
-            public static 
-            unsafe void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvivEXT")]
-            public static 
-            void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexEnvivEXT")]
-            public static 
-            void GetMultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGendvEXT")]
-            public static 
-            unsafe void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGendvEXT")]
-            public static 
-            void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGendvEXT")]
-            public static 
-            void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenfvEXT")]
-            public static 
-            void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenfvEXT")]
-            public static 
-            unsafe void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenfvEXT")]
-            public static 
-            void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenivEXT")]
-            public static 
-            unsafe void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenivEXT")]
-            public static 
-            void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexGenivEXT")]
-            public static 
-            void GetMultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")]
-            public static 
-            void GetMultiTexImage<T5>(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T5 pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")]
-            public static 
-            void GetMultiTexImage<T5>(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,,] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")]
-            public static 
-            void GetMultiTexImage<T5>(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")]
-            public static 
-            void GetMultiTexImage<T5>(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexImageEXT")]
-            public static 
-            void GetMultiTexImage(TextureUnit texunit, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexImageEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterfvEXT")]
-            public static 
-            void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexLevelParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterfvEXT")]
-            public static 
-            unsafe void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexLevelParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterfvEXT")]
-            public static 
-            void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexLevelParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterivEXT")]
-            public static 
-            unsafe void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexLevelParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterivEXT")]
-            public static 
-            void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexLevelParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexLevelParameterivEXT")]
-            public static 
-            void GetMultiTexLevelParameter(TextureUnit texunit, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexLevelParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterfvEXT")]
-            public static 
-            void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterfvEXT")]
-            public static 
-            unsafe void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterfvEXT")]
-            public static 
-            void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIivEXT")]
-            public static 
-            unsafe void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIivEXT")]
-            public static 
-            void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIivEXT")]
-            public static 
-            void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIuivEXT")]
-            public static 
-            void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIuivEXT")]
-            public static 
-            unsafe void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterIuivEXT")]
-            public static 
-            void GetMultiTexParameterI(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterivEXT")]
-            public static 
-            unsafe void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterivEXT")]
-            public static 
-            void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetMultiTexParameterivEXT")]
-            public static 
-            void GetMultiTexParameter(TextureUnit texunit, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")]
-            public static 
-            unsafe void GetNamedBufferParameter(Int32 buffer, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")]
-            public static 
-            void GetNamedBufferParameter(Int32 buffer, ExtDirectStateAccess pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")]
-            public static 
-            void GetNamedBufferParameter(Int32 buffer, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")]
-            public static 
-            unsafe void GetNamedBufferParameter(UInt32 buffer, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")]
-            public static 
-            void GetNamedBufferParameter(UInt32 buffer, ExtDirectStateAccess pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferParameterivEXT")]
-            public static 
-            void GetNamedBufferParameter(UInt32 buffer, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedBufferParameterivEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(Int32 buffer, ExtDirectStateAccess pname, [In, Out] ref T2 @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(Int32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(Int32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(Int32 buffer, ExtDirectStateAccess pname, [In, Out] T2[] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer(Int32 buffer, ExtDirectStateAccess pname, [Out] IntPtr @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] ref T2 @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] T2[,] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer<T2>(UInt32 buffer, ExtDirectStateAccess pname, [In, Out] T2[] @params)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferPointervEXT")]
-            public static 
-            void GetNamedBufferPointer(UInt32 buffer, ExtDirectStateAccess pname, [Out] IntPtr @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedBufferPointervEXT((UInt32)buffer, (ExtDirectStateAccess)pname, (IntPtr)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedBufferSubDataEXT")]
-            public static 
-            void GetNamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")]
-            public static 
-            unsafe void GetNamedFramebufferAttachmentParameter(Int32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")]
-            public static 
-            void GetNamedFramebufferAttachmentParameter(Int32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")]
-            public static 
-            void GetNamedFramebufferAttachmentParameter(Int32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")]
-            public static 
-            unsafe void GetNamedFramebufferAttachmentParameter(UInt32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")]
-            public static 
-            void GetNamedFramebufferAttachmentParameter(UInt32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT")]
-            public static 
-            void GetNamedFramebufferAttachmentParameter(UInt32 framebuffer, FramebufferAttachment attachment, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedFramebufferAttachmentParameterivEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")]
-            public static 
-            unsafe void GetNamedProgram(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")]
-            public static 
-            void GetNamedProgram(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")]
-            public static 
-            unsafe void GetNamedProgram(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramivEXT")]
-            public static 
-            void GetNamedProgram(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramivEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterdvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterdvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterfvEXT")]
-            public static 
-            void GetNamedProgramLocalParameter(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterfvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameterI(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")]
-            public static 
-            void GetNamedProgramLocalParameterI(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")]
-            public static 
-            void GetNamedProgramLocalParameterI(Int32 program, ExtDirectStateAccess target, Int32 index, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")]
-            public static 
-            void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIivEXT")]
-            public static 
-            void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterIivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIuivEXT")]
-            public static 
-            void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterIuivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIuivEXT")]
-            public static 
-            unsafe void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramLocalParameterIuivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramLocalParameterIuivEXT")]
-            public static 
-            void GetNamedProgramLocalParameterI(UInt32 program, ExtDirectStateAccess target, UInt32 index, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedProgramLocalParameterIuivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] ref T3 @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,,] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] ref T3 @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,,] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[,] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString<T3>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [In, Out] T3[] @string)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedProgramStringEXT")]
-            public static 
-            void GetNamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess pname, [Out] IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)pname, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")]
-            public static 
-            unsafe void GetNamedRenderbufferParameter(Int32 renderbuffer, RenderbufferParameterName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")]
-            public static 
-            void GetNamedRenderbufferParameter(Int32 renderbuffer, RenderbufferParameterName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")]
-            public static 
-            void GetNamedRenderbufferParameter(Int32 renderbuffer, RenderbufferParameterName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")]
-            public static 
-            unsafe void GetNamedRenderbufferParameter(UInt32 renderbuffer, RenderbufferParameterName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")]
-            public static 
-            void GetNamedRenderbufferParameter(UInt32 renderbuffer, RenderbufferParameterName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetNamedRenderbufferParameterivEXT")]
-            public static 
-            void GetNamedRenderbufferParameter(UInt32 renderbuffer, RenderbufferParameterName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetNamedRenderbufferParameterivEXT((UInt32)renderbuffer, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, Int32 index, [In, Out] ref T2 data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, Int32 index, [In, Out] T2[,,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, Int32 index, [In, Out] T2[,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, Int32 index, [In, Out] T2[] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed(ExtDirectStateAccess target, Int32 index, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, UInt32 index, [In, Out] ref T2 data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, UInt32 index, [In, Out] T2[,,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, UInt32 index, [In, Out] T2[,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed<T2>(ExtDirectStateAccess target, UInt32 index, [In, Out] T2[] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetPointerIndexedvEXT")]
-            public static 
-            void GetPointerIndexed(ExtDirectStateAccess target, UInt32 index, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPointerIndexedvEXT((ExtDirectStateAccess)target, (UInt32)index, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")]
-            public static 
-            void GetPointer<T1>(GetPointervPName pname, [In, Out] ref T1 @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")]
-            public static 
-            void GetPointer<T1>(GetPointervPName pname, [In, Out] T1[,,] @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")]
-            public static 
-            void GetPointer<T1>(GetPointervPName pname, [In, Out] T1[,] @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")]
-            public static 
-            void GetPointer<T1>(GetPointervPName pname, [In, Out] T1[] @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glGetPointervEXT")]
-            public static 
-            void GetPointer(GetPointervPName pname, [Out] IntPtr @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPointervEXT((GetPointervPName)pname, (IntPtr)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")]
-            public static 
-            unsafe void GetQueryObjecti64(Int32 id, ExtTimerQuery pname, [Out] Int64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")]
-            public static 
-            void GetQueryObjecti64(Int32 id, ExtTimerQuery pname, [Out] Int64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")]
-            public static 
-            void GetQueryObjecti64(Int32 id, ExtTimerQuery pname, [Out] out Int64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")]
-            public static 
-            unsafe void GetQueryObjecti64(UInt32 id, ExtTimerQuery pname, [Out] Int64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")]
-            public static 
-            void GetQueryObjecti64(UInt32 id, ExtTimerQuery pname, [Out] Int64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjecti64vEXT")]
-            public static 
-            void GetQueryObjecti64(UInt32 id, ExtTimerQuery pname, [Out] out Int64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjecti64vEXT((UInt32)id, (ExtTimerQuery)pname, (Int64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")]
-            public static 
-            unsafe void GetQueryObjectui64(Int32 id, ExtTimerQuery pname, [Out] Int64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")]
-            public static 
-            void GetQueryObjectui64(Int32 id, ExtTimerQuery pname, [Out] Int64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")]
-            public static 
-            void GetQueryObjectui64(Int32 id, ExtTimerQuery pname, [Out] out Int64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")]
-            public static 
-            void GetQueryObjectui64(UInt32 id, ExtTimerQuery pname, [Out] out UInt64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")]
-            public static 
-            unsafe void GetQueryObjectui64(UInt32 id, ExtTimerQuery pname, [Out] UInt64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTimerQuery", Version = "1.5", EntryPoint = "glGetQueryObjectui64vEXT")]
-            public static 
-            void GetQueryObjectui64(UInt32 id, ExtTimerQuery pname, [Out] UInt64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt64* @params_ptr = @params)
-                    {
-                        Delegates.glGetQueryObjectui64vEXT((UInt32)id, (ExtTimerQuery)pname, (UInt64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetRenderbufferParameterivEXT")]
-            public static 
-            unsafe void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetRenderbufferParameterivEXT((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetRenderbufferParameterivEXT")]
-            public static 
-            void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetRenderbufferParameterivEXT((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glGetRenderbufferParameterivEXT")]
-            public static 
-            void GetRenderbufferParameter(RenderbufferTarget target, RenderbufferParameterName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetRenderbufferParameterivEXT((RenderbufferTarget)target, (RenderbufferParameterName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T3,T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] ref T3 row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-                where T3 : struct
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T3,T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-                where T3 : struct
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T3,T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[,] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-                where T3 : struct
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T3,T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [In, Out] T3[] row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-                where T3 : struct
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] ref T4 column, [In, Out] T5[,,] span)
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,,] column, [In, Out] T5[,,] span)
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[,] column, [In, Out] T5[,,] span)
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T4,T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [In, Out] T4[] column, [In, Out] T5[,,] span)
-                where T4 : struct
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] ref T5 span)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,,] span)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[,] span)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter<T5>(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] T5[] span)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle span_ptr = GCHandle.Alloc(span, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    span_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get separable convolution filter kernel images
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The separable filter to be retrieved. Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Format of the output images. Must be one of GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR GL_RGBA, GL_BGRA, GL_LUMINANCE, or GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Data type of components in the output images. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to storage for the row filter image.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to storage for the column filter image.
-        /// </para>
-        /// </param>
-        /// <param name="span">
-        /// <para>
-        /// Pointer to storage for the span filter image (currently unused).
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glGetSeparableFilterEXT")]
-            public static 
-            void GetSeparableFilter(ExtConvolution target, PixelFormat format, PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetSeparableFilterEXT((ExtConvolution)target, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column, (IntPtr)span);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIivEXT")]
-            public static 
-            unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTexParameterIivEXT((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIivEXT")]
-            public static 
-            void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTexParameterIivEXT((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIivEXT")]
-            public static 
-            void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTexParameterIivEXT((TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIuivEXT")]
-            public static 
-            void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTexParameterIuivEXT((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIuivEXT")]
-            public static 
-            unsafe void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTexParameterIuivEXT((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glGetTexParameterIuivEXT")]
-            public static 
-            void GetTexParameterI(TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTexParameterIuivEXT((TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T5 pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,,] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage(Int32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] ref T5 pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,,] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[,] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage<T5>(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [In, Out] T5[] pixels)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureImageEXT")]
-            public static 
-            void GetTextureImage(UInt32 texture, TextureTarget target, Int32 level, PixelFormat format, PixelType type, [Out] IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureImageEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")]
-            public static 
-            void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")]
-            public static 
-            unsafe void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")]
-            public static 
-            void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")]
-            public static 
-            void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")]
-            public static 
-            unsafe void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterfvEXT")]
-            public static 
-            void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureLevelParameterfvEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")]
-            public static 
-            unsafe void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")]
-            public static 
-            void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")]
-            public static 
-            void GetTextureLevelParameter(Int32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")]
-            public static 
-            unsafe void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")]
-            public static 
-            void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureLevelParameterivEXT")]
-            public static 
-            void GetTextureLevelParameter(UInt32 texture, TextureTarget target, Int32 level, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureLevelParameterivEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")]
-            public static 
-            void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")]
-            public static 
-            unsafe void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")]
-            public static 
-            void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")]
-            public static 
-            void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")]
-            public static 
-            unsafe void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterfvEXT")]
-            public static 
-            void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")]
-            public static 
-            unsafe void GetTextureParameterI(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")]
-            public static 
-            void GetTextureParameterI(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")]
-            public static 
-            void GetTextureParameterI(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")]
-            public static 
-            unsafe void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")]
-            public static 
-            void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIivEXT")]
-            public static 
-            void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIuivEXT")]
-            public static 
-            void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIuivEXT")]
-            public static 
-            unsafe void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterIuivEXT")]
-            public static 
-            void GetTextureParameterI(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")]
-            public static 
-            unsafe void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")]
-            public static 
-            void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")]
-            public static 
-            void GetTextureParameter(Int32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")]
-            public static 
-            unsafe void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")]
-            public static 
-            void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glGetTextureParameterivEXT")]
-            public static 
-            void GetTextureParameter(UInt32 texture, TextureTarget target, GetTextureParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (GetTextureParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")]
-            public static 
-            unsafe void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ExtTransformFeedback* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ExtTransformFeedback*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")]
-            public static 
-            void GetTransformFeedbackVarying(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ExtTransformFeedback type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (ExtTransformFeedback* type_ptr = &type)
-                    {
-                        Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ExtTransformFeedback*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")]
-            public static 
-            unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] ExtTransformFeedback* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (ExtTransformFeedback*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glGetTransformFeedbackVaryingEXT")]
-            public static 
-            void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out ExtTransformFeedback type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (ExtTransformFeedback* type_ptr = &type)
-                    {
-                        Delegates.glGetTransformFeedbackVaryingEXT((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (ExtTransformFeedback*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformBufferSizeEXT")]
-            public static 
-            Int32 GetUniformBufferSize(Int32 program, Int32 location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformBufferSizeEXT")]
-            public static 
-            Int32 GetUniformBufferSize(UInt32 program, Int32 location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformOffsetEXT")]
-            public static 
-            IntPtr GetUniformOffset(Int32 program, Int32 location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glGetUniformOffsetEXT")]
-            public static 
-            IntPtr GetUniformOffset(UInt32 program, Int32 location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")]
-            public static 
-            unsafe void GetUniform(Int32 program, Int32 location, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")]
-            public static 
-            void GetUniform(Int32 program, Int32 location, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")]
-            public static 
-            void GetUniform(Int32 program, Int32 location, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")]
-            public static 
-            void GetUniform(UInt32 program, Int32 location, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")]
-            public static 
-            unsafe void GetUniform(UInt32 program, Int32 location, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns the value of a uniform variable
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the value of the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glGetUniformuivEXT")]
-            public static 
-            void GetUniform(UInt32 program, Int32 location, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")]
-            public static 
-            unsafe void GetVariantBoolean(Int32 id, ExtVertexShader value, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")]
-            public static 
-            void GetVariantBoolean(Int32 id, ExtVertexShader value, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")]
-            public static 
-            void GetVariantBoolean(Int32 id, ExtVertexShader value, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")]
-            public static 
-            unsafe void GetVariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")]
-            public static 
-            void GetVariantBoolean(UInt32 id, ExtVertexShader value, [Out] bool[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = data)
-                    {
-                        Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantBooleanvEXT")]
-            public static 
-            void GetVariantBoolean(UInt32 id, ExtVertexShader value, [Out] out bool data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* data_ptr = &data)
-                    {
-                        Delegates.glGetVariantBooleanvEXT((UInt32)id, (ExtVertexShader)value, (bool*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")]
-            public static 
-            void GetVariantFloat(Int32 id, ExtVertexShader value, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")]
-            public static 
-            unsafe void GetVariantFloat(Int32 id, ExtVertexShader value, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")]
-            public static 
-            void GetVariantFloat(Int32 id, ExtVertexShader value, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")]
-            public static 
-            void GetVariantFloat(UInt32 id, ExtVertexShader value, [Out] out Single data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = &data)
-                    {
-                        Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")]
-            public static 
-            unsafe void GetVariantFloat(UInt32 id, ExtVertexShader value, [Out] Single* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantFloatvEXT")]
-            public static 
-            void GetVariantFloat(UInt32 id, ExtVertexShader value, [Out] Single[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* data_ptr = data)
-                    {
-                        Delegates.glGetVariantFloatvEXT((UInt32)id, (ExtVertexShader)value, (Single*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")]
-            public static 
-            unsafe void GetVariantInteger(Int32 id, ExtVertexShader value, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")]
-            public static 
-            void GetVariantInteger(Int32 id, ExtVertexShader value, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")]
-            public static 
-            void GetVariantInteger(Int32 id, ExtVertexShader value, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")]
-            public static 
-            unsafe void GetVariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32* data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")]
-            public static 
-            void GetVariantInteger(UInt32 id, ExtVertexShader value, [Out] Int32[] data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = data)
-                    {
-                        Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantIntegervEXT")]
-            public static 
-            void GetVariantInteger(UInt32 id, ExtVertexShader value, [Out] out Int32 data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* data_ptr = &data)
-                    {
-                        Delegates.glGetVariantIntegervEXT((UInt32)id, (ExtVertexShader)value, (Int32*)data_ptr);
-                        data = *data_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(Int32 id, ExtVertexShader value, [In, Out] ref T2 data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(Int32 id, ExtVertexShader value, [In, Out] T2[,,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(Int32 id, ExtVertexShader value, [In, Out] T2[,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(Int32 id, ExtVertexShader value, [In, Out] T2[] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer(Int32 id, ExtVertexShader value, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(UInt32 id, ExtVertexShader value, [In, Out] ref T2 data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(UInt32 id, ExtVertexShader value, [In, Out] T2[,,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(UInt32 id, ExtVertexShader value, [In, Out] T2[,] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer<T2>(UInt32 id, ExtVertexShader value, [In, Out] T2[] data)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glGetVariantPointervEXT")]
-            public static 
-            void GetVariantPointer(UInt32 id, ExtVertexShader value, [Out] IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVariantPointervEXT((UInt32)id, (ExtVertexShader)value, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")]
-            public static 
-            unsafe void GetVertexAttribI(Int32 index, NvVertexProgram4 pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")]
-            public static 
-            void GetVertexAttribI(Int32 index, NvVertexProgram4 pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")]
-            public static 
-            unsafe void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIivEXT")]
-            public static 
-            void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribIivEXT((UInt32)index, (NvVertexProgram4)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIuivEXT")]
-            public static 
-            void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribIuivEXT((UInt32)index, (NvVertexProgram4)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glGetVertexAttribIuivEXT")]
-            public static 
-            unsafe void GetVertexAttribI(UInt32 index, NvVertexProgram4 pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribIuivEXT((UInt32)index, (NvVertexProgram4)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define histogram table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The histogram whose parameters are to be set. Must be one of GL_HISTOGRAM or GL_PROXY_HISTOGRAM.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the histogram table. Must be a power of 2.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The format of entries in the histogram table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="sink">
-        /// <para>
-        /// If GL_TRUE, pixels will be consumed by the histogramming process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the minmax process after histogramming.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glHistogramEXT")]
-            public static 
-            void Histogram(ExtHistogram target, Int32 width, PixelInternalFormat internalformat, bool sink)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glHistogramEXT((ExtHistogram)target, (Int32)width, (PixelInternalFormat)internalformat, (bool)sink);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtIndexFunc", Version = "1.1", EntryPoint = "glIndexFuncEXT")]
-            public static 
-            void IndexFunc(ExtIndexFunc func, Single @ref)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glIndexFuncEXT((ExtIndexFunc)func, (Single)@ref);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtIndexMaterial", Version = "1.1", EntryPoint = "glIndexMaterialEXT")]
-            public static 
-            void IndexMaterial(MaterialFace face, ExtIndexMaterial mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glIndexMaterialEXT((MaterialFace)face, (ExtIndexMaterial)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")]
-            public static 
-            void IndexPointer<T3>(IndexPointerType type, Int32 stride, Int32 count, [In, Out] ref T3 pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")]
-            public static 
-            void IndexPointer<T3>(IndexPointerType type, Int32 stride, Int32 count, [In, Out] T3[,,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")]
-            public static 
-            void IndexPointer<T3>(IndexPointerType type, Int32 stride, Int32 count, [In, Out] T3[,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")]
-            public static 
-            void IndexPointer<T3>(IndexPointerType type, Int32 stride, Int32 count, [In, Out] T3[] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of color indexes
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color index in the array. Symbolic constants GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive color indexes. If stride is 0, the color indexes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first index in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glIndexPointerEXT")]
-            public static 
-            void IndexPointer(IndexPointerType type, Int32 stride, Int32 count, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glIndexPointerEXT((IndexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glInsertComponentEXT")]
-            public static 
-            void InsertComponent(Int32 res, Int32 src, Int32 num)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glInsertComponentEXT")]
-            public static 
-            void InsertComponent(UInt32 res, UInt32 src, UInt32 num)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glIsEnabledIndexedEXT")]
-            public static 
-            bool IsEnabledIndexed(ExtDrawBuffers2 target, Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsEnabledIndexedEXT((ExtDrawBuffers2)target, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDrawBuffers2", Version = "2.0", EntryPoint = "glIsEnabledIndexedEXT")]
-            public static 
-            bool IsEnabledIndexed(ExtDrawBuffers2 target, UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsEnabledIndexedEXT((ExtDrawBuffers2)target, (UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsFramebufferEXT")]
-            public static 
-            bool IsFramebuffer(Int32 framebuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsFramebufferEXT((UInt32)framebuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsFramebufferEXT")]
-            public static 
-            bool IsFramebuffer(UInt32 framebuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsFramebufferEXT((UInt32)framebuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsRenderbufferEXT")]
-            public static 
-            bool IsRenderbuffer(Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glIsRenderbufferEXT")]
-            public static 
-            bool IsRenderbuffer(UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if a name corresponds to a texture
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies a value that may be the name of a texture.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glIsTextureEXT")]
-            public static 
-            bool IsTexture(Int32 texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsTextureEXT((UInt32)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determine if a name corresponds to a texture
-        /// </summary>
-        /// <param name="texture">
-        /// <para>
-        /// Specifies a value that may be the name of a texture.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glIsTextureEXT")]
-            public static 
-            bool IsTexture(UInt32 texture)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsTextureEXT((UInt32)texture);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glIsVariantEnabledEXT")]
-            public static 
-            bool IsVariantEnabled(Int32 id, ExtVertexShader cap)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsVariantEnabledEXT((UInt32)id, (ExtVertexShader)cap);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glIsVariantEnabledEXT")]
-            public static 
-            bool IsVariantEnabled(UInt32 id, ExtVertexShader cap)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsVariantEnabledEXT((UInt32)id, (ExtVertexShader)cap);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCompiledVertexArray", Version = "1.1", EntryPoint = "glLockArraysEXT")]
-            public static 
-            void LockArrays(Int32 first, Int32 count)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLockArraysEXT((Int32)first, (Int32)count);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMapNamedBufferEXT")]
-            public static 
-            unsafe IntPtr MapNamedBuffer(Int32 buffer, ExtDirectStateAccess access)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glMapNamedBufferEXT((UInt32)buffer, (ExtDirectStateAccess)access);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMapNamedBufferEXT")]
-            public static 
-            unsafe IntPtr MapNamedBuffer(UInt32 buffer, ExtDirectStateAccess access)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glMapNamedBufferEXT((UInt32)buffer, (ExtDirectStateAccess)access);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixFrustumEXT")]
-            public static 
-            void MatrixFrustum(MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixFrustumEXT((MatrixMode)mode, (Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoaddEXT")]
-            public static 
-            unsafe void MatrixLoad(MatrixMode mode, Double* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixLoaddEXT((MatrixMode)mode, (Double*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoaddEXT")]
-            public static 
-            void MatrixLoad(MatrixMode mode, Double[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = m)
-                    {
-                        Delegates.glMatrixLoaddEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoaddEXT")]
-            public static 
-            void MatrixLoad(MatrixMode mode, ref Double m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = &m)
-                    {
-                        Delegates.glMatrixLoaddEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadfEXT")]
-            public static 
-            void MatrixLoad(MatrixMode mode, ref Single m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = &m)
-                    {
-                        Delegates.glMatrixLoadfEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadfEXT")]
-            public static 
-            unsafe void MatrixLoad(MatrixMode mode, Single* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixLoadfEXT((MatrixMode)mode, (Single*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadfEXT")]
-            public static 
-            void MatrixLoad(MatrixMode mode, Single[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = m)
-                    {
-                        Delegates.glMatrixLoadfEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadIdentityEXT")]
-            public static 
-            void MatrixLoadIdentity(MatrixMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixLoadIdentityEXT((MatrixMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposedEXT")]
-            public static 
-            unsafe void MatrixLoadTranspose(MatrixMode mode, Double* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixLoadTransposedEXT((MatrixMode)mode, (Double*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposedEXT")]
-            public static 
-            void MatrixLoadTranspose(MatrixMode mode, Double[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = m)
-                    {
-                        Delegates.glMatrixLoadTransposedEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposedEXT")]
-            public static 
-            void MatrixLoadTranspose(MatrixMode mode, ref Double m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = &m)
-                    {
-                        Delegates.glMatrixLoadTransposedEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposefEXT")]
-            public static 
-            void MatrixLoadTranspose(MatrixMode mode, ref Single m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = &m)
-                    {
-                        Delegates.glMatrixLoadTransposefEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposefEXT")]
-            public static 
-            unsafe void MatrixLoadTranspose(MatrixMode mode, Single* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixLoadTransposefEXT((MatrixMode)mode, (Single*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixLoadTransposefEXT")]
-            public static 
-            void MatrixLoadTranspose(MatrixMode mode, Single[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = m)
-                    {
-                        Delegates.glMatrixLoadTransposefEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultdEXT")]
-            public static 
-            unsafe void MatrixMult(MatrixMode mode, Double* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixMultdEXT((MatrixMode)mode, (Double*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultdEXT")]
-            public static 
-            void MatrixMult(MatrixMode mode, Double[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = m)
-                    {
-                        Delegates.glMatrixMultdEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultdEXT")]
-            public static 
-            void MatrixMult(MatrixMode mode, ref Double m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = &m)
-                    {
-                        Delegates.glMatrixMultdEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultfEXT")]
-            public static 
-            void MatrixMult(MatrixMode mode, ref Single m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = &m)
-                    {
-                        Delegates.glMatrixMultfEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultfEXT")]
-            public static 
-            unsafe void MatrixMult(MatrixMode mode, Single* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixMultfEXT((MatrixMode)mode, (Single*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultfEXT")]
-            public static 
-            void MatrixMult(MatrixMode mode, Single[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = m)
-                    {
-                        Delegates.glMatrixMultfEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposedEXT")]
-            public static 
-            unsafe void MatrixMultTranspose(MatrixMode mode, Double* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixMultTransposedEXT((MatrixMode)mode, (Double*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposedEXT")]
-            public static 
-            void MatrixMultTranspose(MatrixMode mode, Double[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = m)
-                    {
-                        Delegates.glMatrixMultTransposedEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposedEXT")]
-            public static 
-            void MatrixMultTranspose(MatrixMode mode, ref Double m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* m_ptr = &m)
-                    {
-                        Delegates.glMatrixMultTransposedEXT((MatrixMode)mode, (Double*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposefEXT")]
-            public static 
-            void MatrixMultTranspose(MatrixMode mode, ref Single m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = &m)
-                    {
-                        Delegates.glMatrixMultTransposefEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposefEXT")]
-            public static 
-            unsafe void MatrixMultTranspose(MatrixMode mode, Single* m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixMultTransposefEXT((MatrixMode)mode, (Single*)m);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixMultTransposefEXT")]
-            public static 
-            void MatrixMultTranspose(MatrixMode mode, Single[] m)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* m_ptr = m)
-                    {
-                        Delegates.glMatrixMultTransposefEXT((MatrixMode)mode, (Single*)m_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixOrthoEXT")]
-            public static 
-            void MatrixOrtho(MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixOrthoEXT((MatrixMode)mode, (Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixPopEXT")]
-            public static 
-            void MatrixPop(MatrixMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixPopEXT((MatrixMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixPushEXT")]
-            public static 
-            void MatrixPush(MatrixMode mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixPushEXT((MatrixMode)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixRotatedEXT")]
-            public static 
-            void MatrixRotate(MatrixMode mode, Double angle, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixRotatedEXT((MatrixMode)mode, (Double)angle, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixRotatefEXT")]
-            public static 
-            void MatrixRotate(MatrixMode mode, Single angle, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixRotatefEXT((MatrixMode)mode, (Single)angle, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixScaledEXT")]
-            public static 
-            void MatrixScale(MatrixMode mode, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixScaledEXT((MatrixMode)mode, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixScalefEXT")]
-            public static 
-            void MatrixScale(MatrixMode mode, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixScalefEXT((MatrixMode)mode, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixTranslatedEXT")]
-            public static 
-            void MatrixTranslate(MatrixMode mode, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixTranslatedEXT((MatrixMode)mode, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMatrixTranslatefEXT")]
-            public static 
-            void MatrixTranslate(MatrixMode mode, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMatrixTranslatefEXT((MatrixMode)mode, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define minmax table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The minmax table whose parameters are to be set. Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The format of entries in the minmax table. Must be one of GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="sink">
-        /// <para>
-        /// If GL_TRUE, pixels will be consumed by the minmax process and no drawing or texture loading will take place. If GL_FALSE, pixels will proceed to the final conversion process after minmax.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glMinmaxEXT")]
-            public static 
-            void Minmax(ExtHistogram target, PixelInternalFormat internalformat, bool sink)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMinmaxEXT((ExtHistogram)target, (PixelInternalFormat)internalformat, (bool)sink);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Points to an array of starting indices in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the first and count
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawArraysEXT")]
-            public static 
-            unsafe void MultiDrawArrays(BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiDrawArraysEXT((BeginMode)mode, (Int32*)first, (Int32*)count, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Points to an array of starting indices in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the first and count
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawArraysEXT")]
-            public static 
-            void MultiDrawArrays(BeginMode mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = first)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiDrawArraysEXT((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives from array data
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="first">
-        /// <para>
-        /// Points to an array of starting indices in the enabled arrays.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the number of indices to be rendered.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the first and count
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawArraysEXT")]
-            public static 
-            void MultiDrawArrays(BeginMode mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* first_ptr = &first)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiDrawArraysEXT((BeginMode)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                        first = *first_ptr;
-                        count = *count_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            unsafe void MultiDrawElements<T3>(BeginMode mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            unsafe void MultiDrawElements(BeginMode mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements(BeginMode mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements<T3>(BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Render multiple sets of primitives by specifying indices of array data elements
-        /// </summary>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_QUAD_STRIP, GL_QUADS, and GL_POLYGON are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="count">
-        /// <para>
-        /// Points to an array of the elements counts.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the type of the values in indices. Must be one of GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, or GL_UNSIGNED_INT.
-        /// </para>
-        /// </param>
-        /// <param name="indices">
-        /// <para>
-        /// Specifies a pointer to the location where the indices are stored.
-        /// </para>
-        /// </param>
-        /// <param name="primcount">
-        /// <para>
-        /// Specifies the size of the count array.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtMultiDrawArrays", Version = "1.1", EntryPoint = "glMultiDrawElementsEXT")]
-            public static 
-            void MultiDrawElements(BeginMode mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiDrawElementsEXT((BeginMode)mode, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexBufferEXT")]
-            public static 
-            void MultiTexBuffer(TextureUnit texunit, TextureTarget target, ExtDirectStateAccess internalformat, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexBufferEXT((TextureUnit)texunit, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexBufferEXT")]
-            public static 
-            void MultiTexBuffer(TextureUnit texunit, TextureTarget target, ExtDirectStateAccess internalformat, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexBufferEXT((TextureUnit)texunit, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")]
-            public static 
-            void MultiTexCoordPointer<T4>(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")]
-            public static 
-            void MultiTexCoordPointer<T4>(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")]
-            public static 
-            void MultiTexCoordPointer<T4>(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")]
-            public static 
-            void MultiTexCoordPointer<T4>(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexCoordPointerEXT")]
-            public static 
-            void MultiTexCoordPointer(TextureUnit texunit, Int32 size, TexCoordPointerType type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoordPointerEXT((TextureUnit)texunit, (Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvfEXT")]
-            public static 
-            void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexEnvfEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvfvEXT")]
-            public static 
-            unsafe void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvfvEXT")]
-            public static 
-            void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexEnvfvEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnviEXT")]
-            public static 
-            void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexEnviEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvivEXT")]
-            public static 
-            unsafe void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexEnvivEXT")]
-            public static 
-            void MultiTexEnv(TextureUnit texunit, TextureEnvTarget target, TextureEnvParameter pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexEnvivEXT((TextureUnit)texunit, (TextureEnvTarget)target, (TextureEnvParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendEXT")]
-            public static 
-            void MultiTexGend(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Double param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexGendEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendvEXT")]
-            public static 
-            unsafe void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendvEXT")]
-            public static 
-            void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGendvEXT")]
-            public static 
-            void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glMultiTexGendvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenfEXT")]
-            public static 
-            void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexGenfEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenfvEXT")]
-            public static 
-            unsafe void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenfvEXT")]
-            public static 
-            void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexGenfvEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGeniEXT")]
-            public static 
-            void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexGeniEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenivEXT")]
-            public static 
-            unsafe void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexGenivEXT")]
-            public static 
-            void MultiTexGen(TextureUnit texunit, TextureCoordName coord, TextureGenParameter pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexGenivEXT((TextureUnit)texunit, (TextureCoordName)coord, (TextureGenParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")]
-            public static 
-            void MultiTexImage1D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")]
-            public static 
-            void MultiTexImage1D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")]
-            public static 
-            void MultiTexImage1D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")]
-            public static 
-            void MultiTexImage1D<T8>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage1DEXT")]
-            public static 
-            void MultiTexImage1D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")]
-            public static 
-            void MultiTexImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")]
-            public static 
-            void MultiTexImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")]
-            public static 
-            void MultiTexImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")]
-            public static 
-            void MultiTexImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage2DEXT")]
-            public static 
-            void MultiTexImage2D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")]
-            public static 
-            void MultiTexImage3D<T10>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")]
-            public static 
-            void MultiTexImage3D<T10>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")]
-            public static 
-            void MultiTexImage3D<T10>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")]
-            public static 
-            void MultiTexImage3D<T10>(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexImage3DEXT")]
-            public static 
-            void MultiTexImage3D(TextureUnit texunit, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterfEXT")]
-            public static 
-            void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexParameterfEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterfvEXT")]
-            public static 
-            unsafe void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterfvEXT")]
-            public static 
-            void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexParameterfvEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameteriEXT")]
-            public static 
-            void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexParameteriEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIivEXT")]
-            public static 
-            unsafe void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIivEXT")]
-            public static 
-            void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIivEXT")]
-            public static 
-            void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glMultiTexParameterIivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIuivEXT")]
-            public static 
-            void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIuivEXT")]
-            public static 
-            unsafe void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterIuivEXT")]
-            public static 
-            void MultiTexParameterI(TextureUnit texunit, TextureTarget target, TextureParameterName pname, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexParameterIuivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterivEXT")]
-            public static 
-            unsafe void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexParameterivEXT")]
-            public static 
-            void MultiTexParameter(TextureUnit texunit, TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glMultiTexParameterivEXT((TextureUnit)texunit, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexRenderbufferEXT")]
-            public static 
-            void MultiTexRenderbuffer(TextureUnit texunit, TextureTarget target, Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexRenderbufferEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexRenderbufferEXT")]
-            public static 
-            void MultiTexRenderbuffer(TextureUnit texunit, TextureTarget target, UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexRenderbufferEXT((TextureUnit)texunit, (TextureTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")]
-            public static 
-            void MultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T7 pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")]
-            public static 
-            void MultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")]
-            public static 
-            void MultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")]
-            public static 
-            void MultiTexSubImage1D<T7>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage1DEXT")]
-            public static 
-            void MultiTexSubImage1D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexSubImage1DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")]
-            public static 
-            void MultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")]
-            public static 
-            void MultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")]
-            public static 
-            void MultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")]
-            public static 
-            void MultiTexSubImage2D<T9>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage2DEXT")]
-            public static 
-            void MultiTexSubImage2D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexSubImage2DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")]
-            public static 
-            void MultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T11 pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")]
-            public static 
-            void MultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,,] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")]
-            public static 
-            void MultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")]
-            public static 
-            void MultiTexSubImage3D<T11>(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glMultiTexSubImage3DEXT")]
-            public static 
-            void MultiTexSubImage3D(TextureUnit texunit, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexSubImage3DEXT((TextureUnit)texunit, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(Int32 buffer, IntPtr size, [In, Out] ref T2 data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(Int32 buffer, IntPtr size, [In, Out] T2[,,] data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(Int32 buffer, IntPtr size, [In, Out] T2[,] data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(Int32 buffer, IntPtr size, [In, Out] T2[] data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData(Int32 buffer, IntPtr size, IntPtr data, ExtDirectStateAccess usage)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data, (ExtDirectStateAccess)usage);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(UInt32 buffer, IntPtr size, [In, Out] ref T2 data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(UInt32 buffer, IntPtr size, [In, Out] T2[,,] data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(UInt32 buffer, IntPtr size, [In, Out] T2[,] data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData<T2>(UInt32 buffer, IntPtr size, [In, Out] T2[] data, ExtDirectStateAccess usage)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (ExtDirectStateAccess)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferDataEXT")]
-            public static 
-            void NamedBufferData(UInt32 buffer, IntPtr size, IntPtr data, ExtDirectStateAccess usage)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedBufferDataEXT((UInt32)buffer, (IntPtr)size, (IntPtr)data, (ExtDirectStateAccess)usage);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(Int32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData(Int32 buffer, IntPtr offset, IntPtr size, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] ref T3 data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[,] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData<T3>(UInt32 buffer, IntPtr offset, IntPtr size, [In, Out] T3[] data)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle data_ptr = GCHandle.Alloc(data, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedBufferSubDataEXT")]
-            public static 
-            void NamedBufferSubData(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedBufferSubDataEXT((UInt32)buffer, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferRenderbufferEXT")]
-            public static 
-            void NamedFramebufferRenderbuffer(Int32 framebuffer, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferRenderbufferEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferRenderbufferEXT")]
-            public static 
-            void NamedFramebufferRenderbuffer(UInt32 framebuffer, FramebufferAttachment attachment, RenderbufferTarget renderbuffertarget, UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferRenderbufferEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (RenderbufferTarget)renderbuffertarget, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture1DEXT")]
-            public static 
-            void NamedFramebufferTexture1D(Int32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTexture1DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture1DEXT")]
-            public static 
-            void NamedFramebufferTexture1D(UInt32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTexture1DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture2DEXT")]
-            public static 
-            void NamedFramebufferTexture2D(Int32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTexture2DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture2DEXT")]
-            public static 
-            void NamedFramebufferTexture2D(UInt32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTexture2DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture3DEXT")]
-            public static 
-            void NamedFramebufferTexture3D(Int32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, Int32 texture, Int32 level, Int32 zoffset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTexture3DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTexture3DEXT")]
-            public static 
-            void NamedFramebufferTexture3D(UInt32 framebuffer, FramebufferAttachment attachment, TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTexture3DEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (TextureTarget)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureEXT")]
-            public static 
-            void NamedFramebufferTexture(Int32 framebuffer, FramebufferAttachment attachment, Int32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTextureEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureEXT")]
-            public static 
-            void NamedFramebufferTexture(UInt32 framebuffer, FramebufferAttachment attachment, UInt32 texture, Int32 level)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTextureEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureFaceEXT")]
-            public static 
-            void NamedFramebufferTextureFace(Int32 framebuffer, FramebufferAttachment attachment, Int32 texture, Int32 level, TextureTarget face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTextureFaceEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureFaceEXT")]
-            public static 
-            void NamedFramebufferTextureFace(UInt32 framebuffer, FramebufferAttachment attachment, UInt32 texture, Int32 level, TextureTarget face)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTextureFaceEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (TextureTarget)face);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureLayerEXT")]
-            public static 
-            void NamedFramebufferTextureLayer(Int32 framebuffer, FramebufferAttachment attachment, Int32 texture, Int32 level, Int32 layer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTextureLayerEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedFramebufferTextureLayerEXT")]
-            public static 
-            void NamedFramebufferTextureLayer(UInt32 framebuffer, FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedFramebufferTextureLayerEXT((UInt32)framebuffer, (FramebufferAttachment)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dEXT")]
-            public static 
-            void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4dEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dEXT")]
-            public static 
-            void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4dEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4dvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4dvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fEXT")]
-            public static 
-            void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4fEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fEXT")]
-            public static 
-            void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4fEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(Int32 program, ExtDirectStateAccess target, Int32 index, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameter4fvEXT")]
-            public static 
-            void NamedProgramLocalParameter4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameter4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4iEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameterI4iEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4iEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameterI4iEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(Int32 program, ExtDirectStateAccess target, Int32 index, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4ivEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameterI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uiEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameterI4uiEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uivEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameterI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uivEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameterI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameterI4uivEXT")]
-            public static 
-            void NamedProgramLocalParameterI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameterI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")]
-            public static 
-            void NamedProgramLocalParameters4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameters4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")]
-            public static 
-            void NamedProgramLocalParameters4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")]
-            public static 
-            void NamedProgramLocalParameters4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")]
-            public static 
-            unsafe void NamedProgramLocalParameters4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParameters4fvEXT")]
-            public static 
-            void NamedProgramLocalParameters4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParameters4fvEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")]
-            public static 
-            unsafe void NamedProgramLocalParametersI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")]
-            public static 
-            void NamedProgramLocalParametersI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")]
-            public static 
-            void NamedProgramLocalParametersI4(Int32 program, ExtDirectStateAccess target, Int32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")]
-            public static 
-            unsafe void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")]
-            public static 
-            void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4ivEXT")]
-            public static 
-            void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParametersI4ivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4uivEXT")]
-            public static 
-            void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glNamedProgramLocalParametersI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4uivEXT")]
-            public static 
-            unsafe void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramLocalParametersI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramLocalParametersI4uivEXT")]
-            public static 
-            void NamedProgramLocalParametersI4(UInt32 program, ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glNamedProgramLocalParametersI4uivEXT((UInt32)program, (ExtDirectStateAccess)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] ref T4 @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,,] @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,] @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[] @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString(Int32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] ref T4 @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,,] @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[,] @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString<T4>(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, [In, Out] T4[] @string)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedProgramStringEXT")]
-            public static 
-            void NamedProgramString(UInt32 program, ExtDirectStateAccess target, ExtDirectStateAccess format, Int32 len, IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedProgramStringEXT((UInt32)program, (ExtDirectStateAccess)target, (ExtDirectStateAccess)format, (Int32)len, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageEXT")]
-            public static 
-            void NamedRenderbufferStorage(Int32 renderbuffer, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedRenderbufferStorageEXT((UInt32)renderbuffer, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageEXT")]
-            public static 
-            void NamedRenderbufferStorage(UInt32 renderbuffer, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedRenderbufferStorageEXT((UInt32)renderbuffer, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleCoverageEXT")]
-            public static 
-            void NamedRenderbufferStorageMultisampleCoverage(Int32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedRenderbufferStorageMultisampleCoverageEXT((UInt32)renderbuffer, (Int32)coverageSamples, (Int32)colorSamples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleCoverageEXT")]
-            public static 
-            void NamedRenderbufferStorageMultisampleCoverage(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedRenderbufferStorageMultisampleCoverageEXT((UInt32)renderbuffer, (Int32)coverageSamples, (Int32)colorSamples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleEXT")]
-            public static 
-            void NamedRenderbufferStorageMultisample(Int32 renderbuffer, Int32 samples, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedRenderbufferStorageMultisampleEXT((UInt32)renderbuffer, (Int32)samples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glNamedRenderbufferStorageMultisampleEXT")]
-            public static 
-            void NamedRenderbufferStorageMultisample(UInt32 renderbuffer, Int32 samples, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNamedRenderbufferStorageMultisampleEXT((UInt32)renderbuffer, (Int32)samples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")]
-            public static 
-            void NormalPointer<T3>(NormalPointerType type, Int32 stride, Int32 count, [In, Out] ref T3 pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")]
-            public static 
-            void NormalPointer<T3>(NormalPointerType type, Int32 stride, Int32 count, [In, Out] T3[,,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")]
-            public static 
-            void NormalPointer<T3>(NormalPointerType type, Int32 stride, Int32 count, [In, Out] T3[,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")]
-            public static 
-            void NormalPointer<T3>(NormalPointerType type, Int32 stride, Int32 count, [In, Out] T3[] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glNormalPointerEXT")]
-            public static 
-            void NormalPointer(NormalPointerType type, Int32 stride, Int32 count, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalPointerEXT((NormalPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameterfEXT")]
-            public static 
-            void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTransformParameterfEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameterfvEXT")]
-            public static 
-            unsafe void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTransformParameterfvEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameteriEXT")]
-            public static 
-            void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTransformParameteriEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtPixelTransform", Version = "1.1", EntryPoint = "glPixelTransformParameterivEXT")]
-            public static 
-            unsafe void PixelTransformParameter(ExtPixelTransform target, ExtPixelTransform pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTransformParameterivEXT((ExtPixelTransform)target, (ExtPixelTransform)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPointParameters", Version = "1.0", EntryPoint = "glPointParameterfEXT")]
-            public static 
-            void PointParameter(ExtPointParameters pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterfEXT((ExtPointParameters)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvEXT")]
-            public static 
-            unsafe void PointParameter(ExtPointParameters pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterfvEXT((ExtPointParameters)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvEXT")]
-            public static 
-            void PointParameter(ExtPointParameters pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glPointParameterfvEXT((ExtPointParameters)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the scale and units used to calculate depth values
-        /// </summary>
-        /// <param name="factor">
-        /// <para>
-        /// Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="units">
-        /// <para>
-        /// Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtPolygonOffset", Version = "1.0", EntryPoint = "glPolygonOffsetEXT")]
-            public static 
-            void PolygonOffset(Single factor, Single bias)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPolygonOffsetEXT((Single)factor, (Single)bias);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")]
-            public static 
-            unsafe void PrioritizeTextures(Int32 n, Int32* textures, Single* priorities)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")]
-            public static 
-            void PrioritizeTextures(Int32 n, Int32[] textures, Single[] priorities)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = textures)
-                    fixed (Single* priorities_ptr = priorities)
-                    {
-                        Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")]
-            public static 
-            void PrioritizeTextures(Int32 n, ref Int32 textures, ref Single priorities)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* textures_ptr = &textures)
-                    fixed (Single* priorities_ptr = &priorities)
-                    {
-                        Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")]
-            public static 
-            void PrioritizeTextures(Int32 n, ref UInt32 textures, ref Single priorities)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = &textures)
-                    fixed (Single* priorities_ptr = &priorities)
-                    {
-                        Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")]
-            public static 
-            unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set texture residence priority
-        /// </summary>
-        /// <param name="n">
-        /// <para>
-        /// Specifies the number of textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="textures">
-        /// <para>
-        /// Specifies an array containing the names of the textures to be prioritized.
-        /// </para>
-        /// </param>
-        /// <param name="priorities">
-        /// <para>
-        /// Specifies an array containing the texture priorities. A priority given in an element of priorities applies to the texture named by the corresponding element of textures.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureObject", Version = "1.0", EntryPoint = "glPrioritizeTexturesEXT")]
-            public static 
-            void PrioritizeTextures(Int32 n, UInt32[] textures, Single[] priorities)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* textures_ptr = textures)
-                    fixed (Single* priorities_ptr = priorities)
-                    {
-                        Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")]
-            public static 
-            void ProgramEnvParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")]
-            public static 
-            unsafe void ProgramEnvParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")]
-            public static 
-            void ProgramEnvParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")]
-            public static 
-            void ProgramEnvParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")]
-            public static 
-            unsafe void ProgramEnvParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramEnvParameters4fvEXT")]
-            public static 
-            void ProgramEnvParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")]
-            public static 
-            void ProgramLocalParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")]
-            public static 
-            unsafe void ProgramLocalParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")]
-            public static 
-            void ProgramLocalParameters4(ExtGpuProgramParameters target, Int32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")]
-            public static 
-            void ProgramLocalParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")]
-            public static 
-            unsafe void ProgramLocalParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuProgramParameters", Version = "1.2", EntryPoint = "glProgramLocalParameters4fvEXT")]
-            public static 
-            void ProgramLocalParameters4(ExtGpuProgramParameters target, UInt32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameters4fvEXT((ExtGpuProgramParameters)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtGeometryShader4", Version = "2.0", EntryPoint = "glProgramParameteriEXT")]
-            public static 
-            void ProgramParameter(Int32 program, ExtGeometryShader4 pname, Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameteriEXT((UInt32)program, (ExtGeometryShader4)pname, (Int32)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGeometryShader4", Version = "2.0", EntryPoint = "glProgramParameteriEXT")]
-            public static 
-            void ProgramParameter(UInt32 program, ExtGeometryShader4 pname, Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameteriEXT((UInt32)program, (ExtGeometryShader4)pname, (Int32)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fEXT")]
-            public static 
-            void ProgramUniform1(Int32 program, Int32 location, Single v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1fEXT((UInt32)program, (Int32)location, (Single)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Single v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1fEXT((UInt32)program, (Int32)location, (Single)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")]
-            public static 
-            void ProgramUniform1(Int32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")]
-            public static 
-            unsafe void ProgramUniform1(Int32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")]
-            public static 
-            void ProgramUniform1(Int32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")]
-            public static 
-            unsafe void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1fvEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform1fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1iEXT")]
-            public static 
-            void ProgramUniform1(Int32 program, Int32 location, Int32 v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1iEXT((UInt32)program, (Int32)location, (Int32)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1iEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1iEXT((UInt32)program, (Int32)location, (Int32)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")]
-            public static 
-            unsafe void ProgramUniform1(Int32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")]
-            public static 
-            void ProgramUniform1(Int32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")]
-            public static 
-            void ProgramUniform1(Int32 program, Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")]
-            public static 
-            unsafe void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1ivEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform1ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uiEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, UInt32 v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1uiEXT((UInt32)program, (Int32)location, (UInt32)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uivEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform1uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uivEXT")]
-            public static 
-            unsafe void ProgramUniform1(UInt32 program, Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform1uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform1uivEXT")]
-            public static 
-            void ProgramUniform1(UInt32 program, Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform1uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fEXT")]
-            public static 
-            void ProgramUniform2(Int32 program, Int32 location, Single v0, Single v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Single v0, Single v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")]
-            public static 
-            void ProgramUniform2(Int32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")]
-            public static 
-            unsafe void ProgramUniform2(Int32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")]
-            public static 
-            void ProgramUniform2(Int32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")]
-            public static 
-            unsafe void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2fvEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform2fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2iEXT")]
-            public static 
-            void ProgramUniform2(Int32 program, Int32 location, Int32 v0, Int32 v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2iEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Int32 v0, Int32 v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")]
-            public static 
-            unsafe void ProgramUniform2(Int32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")]
-            public static 
-            void ProgramUniform2(Int32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")]
-            public static 
-            unsafe void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2ivEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform2ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uiEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, UInt32 v0, UInt32 v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2uiEXT((UInt32)program, (Int32)location, (UInt32)v0, (UInt32)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uivEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform2uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uivEXT")]
-            public static 
-            unsafe void ProgramUniform2(UInt32 program, Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform2uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform2uivEXT")]
-            public static 
-            void ProgramUniform2(UInt32 program, Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform2uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fEXT")]
-            public static 
-            void ProgramUniform3(Int32 program, Int32 location, Single v0, Single v1, Single v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Single v0, Single v1, Single v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")]
-            public static 
-            void ProgramUniform3(Int32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")]
-            public static 
-            unsafe void ProgramUniform3(Int32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")]
-            public static 
-            void ProgramUniform3(Int32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")]
-            public static 
-            unsafe void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3fvEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform3fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3iEXT")]
-            public static 
-            void ProgramUniform3(Int32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3iEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")]
-            public static 
-            unsafe void ProgramUniform3(Int32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")]
-            public static 
-            void ProgramUniform3(Int32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")]
-            public static 
-            void ProgramUniform3(Int32 program, Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")]
-            public static 
-            unsafe void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3ivEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform3ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uiEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3uiEXT((UInt32)program, (Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uivEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform3uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uivEXT")]
-            public static 
-            unsafe void ProgramUniform3(UInt32 program, Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform3uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform3uivEXT")]
-            public static 
-            void ProgramUniform3(UInt32 program, Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform3uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fEXT")]
-            public static 
-            void ProgramUniform4(Int32 program, Int32 location, Single v0, Single v1, Single v2, Single v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4fEXT((UInt32)program, (Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")]
-            public static 
-            void ProgramUniform4(Int32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")]
-            public static 
-            unsafe void ProgramUniform4(Int32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")]
-            public static 
-            void ProgramUniform4(Int32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 count, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")]
-            public static 
-            unsafe void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4fvEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform4fvEXT((UInt32)program, (Int32)location, (Int32)count, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4iEXT")]
-            public static 
-            void ProgramUniform4(Int32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4iEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4iEXT((UInt32)program, (Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")]
-            public static 
-            unsafe void ProgramUniform4(Int32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")]
-            public static 
-            void ProgramUniform4(Int32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")]
-            public static 
-            void ProgramUniform4(Int32 program, Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")]
-            public static 
-            unsafe void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4ivEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform4ivEXT((UInt32)program, (Int32)location, (Int32)count, (Int32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uiEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4uiEXT((UInt32)program, (Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uivEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniform4uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uivEXT")]
-            public static 
-            unsafe void ProgramUniform4(UInt32 program, Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniform4uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniform4uivEXT")]
-            public static 
-            void ProgramUniform4(UInt32 program, Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glProgramUniform4uivEXT((UInt32)program, (Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")]
-            public static 
-            void ProgramUniformMatrix2(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix2(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")]
-            public static 
-            void ProgramUniformMatrix2(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")]
-            public static 
-            void ProgramUniformMatrix2(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix2(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2fvEXT")]
-            public static 
-            void ProgramUniformMatrix2(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x3(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix2x3(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x3(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x3(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix2x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix2x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x4(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix2x4(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x4(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x4(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix2x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix2x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix2x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix2x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")]
-            public static 
-            void ProgramUniformMatrix3(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix3(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")]
-            public static 
-            void ProgramUniformMatrix3(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")]
-            public static 
-            void ProgramUniformMatrix3(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix3(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3fvEXT")]
-            public static 
-            void ProgramUniformMatrix3(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x2(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix3x2(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x2(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x2(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix3x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix3x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x4(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix3x4(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x4(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x4(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix3x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix3x4fvEXT")]
-            public static 
-            void ProgramUniformMatrix3x4(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix3x4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")]
-            public static 
-            void ProgramUniformMatrix4(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix4(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")]
-            public static 
-            void ProgramUniformMatrix4(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")]
-            public static 
-            void ProgramUniformMatrix4(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix4(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4fvEXT")]
-            public static 
-            void ProgramUniformMatrix4(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix4fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x2(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix4x2(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x2(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x2(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix4x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x2fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x2(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix4x2fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x3(Int32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix4x3(Int32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x3(Int32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x3(UInt32 program, Int32 location, Int32 count, bool transpose, ref Single value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = &value)
-                    {
-                        Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")]
-            public static 
-            unsafe void ProgramUniformMatrix4x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glProgramUniformMatrix4x3fvEXT")]
-            public static 
-            void ProgramUniformMatrix4x3(UInt32 program, Int32 location, Int32 count, bool transpose, Single[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* value_ptr = value)
-                    {
-                        Delegates.glProgramUniformMatrix4x3fvEXT((UInt32)program, (Int32)location, (Int32)count, (bool)transpose, (Single*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtProvokingVertex", Version = "2.1", EntryPoint = "glProvokingVertexEXT")]
-            public static 
-            void ProvokingVertex(ExtProvokingVertex mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProvokingVertexEXT((ExtProvokingVertex)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glPushClientAttribDefaultEXT")]
-            public static 
-            void PushClientAttribDefault(ClientAttribMask mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPushClientAttribDefaultEXT((ClientAttribMask)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferObject", Version = "1.2", EntryPoint = "glRenderbufferStorageEXT")]
-            public static 
-            void RenderbufferStorage(RenderbufferTarget target, RenderbufferStorage internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glRenderbufferStorageEXT((RenderbufferTarget)target, (RenderbufferStorage)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtFramebufferMultisample", Version = "1.5", EntryPoint = "glRenderbufferStorageMultisampleEXT")]
-            public static 
-            void RenderbufferStorageMultisample(ExtFramebufferMultisample target, Int32 samples, ExtFramebufferMultisample internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glRenderbufferStorageMultisampleEXT((ExtFramebufferMultisample)target, (Int32)samples, (ExtFramebufferMultisample)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Reset histogram table entries to zero
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_HISTOGRAM.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glResetHistogramEXT")]
-            public static 
-            void ResetHistogram(ExtHistogram target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glResetHistogramEXT((ExtHistogram)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Reset minmax table entries to initial values
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_MINMAX.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtHistogram", Version = "1.0", EntryPoint = "glResetMinmaxEXT")]
-            public static 
-            void ResetMinmax(ExtHistogram target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glResetMinmaxEXT((ExtHistogram)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtMultisample", Version = "1.0", EntryPoint = "glSampleMaskEXT")]
-            public static 
-            void SampleMask(Single value, bool invert)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleMaskEXT((Single)value, (bool)invert);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtMultisample", Version = "1.0", EntryPoint = "glSamplePatternEXT")]
-            public static 
-            void SamplePattern(ExtMultisample pattern)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSamplePatternEXT((ExtMultisample)pattern);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bEXT")]
-            public static 
-            void SecondaryColor3(SByte red, SByte green, SByte blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3bEXT((SByte)red, (SByte)green, (SByte)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bvEXT")]
-            public static 
-            void SecondaryColor3(ref SByte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bvEXT")]
-            public static 
-            unsafe void SecondaryColor3(SByte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3bvEXT((SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3bvEXT")]
-            public static 
-            void SecondaryColor3(SByte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dEXT")]
-            public static 
-            void SecondaryColor3(Double red, Double green, Double blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3dEXT((Double)red, (Double)green, (Double)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dvEXT")]
-            public static 
-            unsafe void SecondaryColor3(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3dvEXT((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dvEXT")]
-            public static 
-            void SecondaryColor3(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3dvEXT((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3dvEXT")]
-            public static 
-            void SecondaryColor3(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3dvEXT((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fEXT")]
-            public static 
-            void SecondaryColor3(Single red, Single green, Single blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3fEXT((Single)red, (Single)green, (Single)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fvEXT")]
-            public static 
-            void SecondaryColor3(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3fvEXT((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fvEXT")]
-            public static 
-            unsafe void SecondaryColor3(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3fvEXT((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3fvEXT")]
-            public static 
-            void SecondaryColor3(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3fvEXT((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3iEXT")]
-            public static 
-            void SecondaryColor3(Int32 red, Int32 green, Int32 blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3iEXT((Int32)red, (Int32)green, (Int32)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ivEXT")]
-            public static 
-            unsafe void SecondaryColor3(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3ivEXT((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ivEXT")]
-            public static 
-            void SecondaryColor3(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ivEXT")]
-            public static 
-            void SecondaryColor3(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3sEXT")]
-            public static 
-            void SecondaryColor3(Int16 red, Int16 green, Int16 blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3sEXT((Int16)red, (Int16)green, (Int16)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3svEXT")]
-            public static 
-            unsafe void SecondaryColor3(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3svEXT((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3svEXT")]
-            public static 
-            void SecondaryColor3(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3svEXT((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3svEXT")]
-            public static 
-            void SecondaryColor3(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3svEXT((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubEXT")]
-            public static 
-            void SecondaryColor3(Byte red, Byte green, Byte blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3ubEXT((Byte)red, (Byte)green, (Byte)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubvEXT")]
-            public static 
-            unsafe void SecondaryColor3(Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3ubvEXT((Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubvEXT")]
-            public static 
-            void SecondaryColor3(Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3ubvEXT")]
-            public static 
-            void SecondaryColor3(ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uiEXT")]
-            public static 
-            void SecondaryColor3(UInt32 red, UInt32 green, UInt32 blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3uiEXT((UInt32)red, (UInt32)green, (UInt32)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uivEXT")]
-            public static 
-            void SecondaryColor3(ref UInt32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uivEXT")]
-            public static 
-            unsafe void SecondaryColor3(UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3uivEXT((UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3uivEXT")]
-            public static 
-            void SecondaryColor3(UInt32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usEXT")]
-            public static 
-            void SecondaryColor3(UInt16 red, UInt16 green, UInt16 blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3usEXT((UInt16)red, (UInt16)green, (UInt16)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usvEXT")]
-            public static 
-            void SecondaryColor3(ref UInt16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usvEXT")]
-            public static 
-            unsafe void SecondaryColor3(UInt16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3usvEXT((UInt16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set the current secondary color
-        /// </summary>
-        /// <param name="red">
-        /// <para>
-        /// Specify new red, green, and blue values for the current secondary color.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColor3usvEXT")]
-            public static 
-            void SecondaryColor3(UInt16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")]
-            public static 
-            void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")]
-            public static 
-            void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")]
-            public static 
-            void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")]
-            public static 
-            void SecondaryColorPointer<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of secondary colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSecondaryColor", Version = "1.1", EntryPoint = "glSecondaryColorPointerEXT")]
-            public static 
-            void SecondaryColorPointer(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColorPointerEXT((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T6,T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T6 row, [In, Out] T7[,,] column)
-                where T6 : struct
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T6,T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,,] row, [In, Out] T7[,,] column)
-                where T6 : struct
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T6,T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[,] row, [In, Out] T7[,,] column)
-                where T6 : struct
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T6,T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T6[] row, [In, Out] T7[,,] column)
-                where T6 : struct
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle row_ptr = GCHandle.Alloc(row, GCHandleType.Pinned);
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] ref T7 column)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,,] column)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[,] column)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D<T7>(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, [In, Out] T7[] column)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle column_ptr = GCHandle.Alloc(column, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a separable two-dimensional convolution filter
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_SEPARABLE_2D.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the convolution filter kernel. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of elements in the pixel array referenced by row. (This is the width of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// The number of elements in the pixel array referenced by column. (This is the height of the separable filter kernel.)
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in row and column. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_INTENSITY, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in row and column. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="row">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the row filter kernel.
-        /// </para>
-        /// </param>
-        /// <param name="column">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the column filter kernel.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtConvolution", Version = "1.0", EntryPoint = "glSeparableFilter2DEXT")]
-            public static 
-            void SeparableFilter2D(ExtConvolution target, PixelInternalFormat internalformat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr row, IntPtr column)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSeparableFilter2DEXT((ExtConvolution)target, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)row, (IntPtr)column);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(Int32 id, ExtVertexShader type, [In, Out] ref T2 addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(Int32 id, ExtVertexShader type, [In, Out] T2[,,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(Int32 id, ExtVertexShader type, [In, Out] T2[,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(Int32 id, ExtVertexShader type, [In, Out] T2[] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant(Int32 id, ExtVertexShader type, IntPtr addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(UInt32 id, ExtVertexShader type, [In, Out] ref T2 addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(UInt32 id, ExtVertexShader type, [In, Out] T2[,,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(UInt32 id, ExtVertexShader type, [In, Out] T2[,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant<T2>(UInt32 id, ExtVertexShader type, [In, Out] T2[] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetInvariantEXT")]
-            public static 
-            void SetInvariant(UInt32 id, ExtVertexShader type, IntPtr addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetInvariantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(Int32 id, ExtVertexShader type, [In, Out] ref T2 addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(Int32 id, ExtVertexShader type, [In, Out] T2[,,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(Int32 id, ExtVertexShader type, [In, Out] T2[,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(Int32 id, ExtVertexShader type, [In, Out] T2[] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant(Int32 id, ExtVertexShader type, IntPtr addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(UInt32 id, ExtVertexShader type, [In, Out] ref T2 addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(UInt32 id, ExtVertexShader type, [In, Out] T2[,,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(UInt32 id, ExtVertexShader type, [In, Out] T2[,] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant<T2>(UInt32 id, ExtVertexShader type, [In, Out] T2[] addr)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSetLocalConstantEXT")]
-            public static 
-            void SetLocalConstant(UInt32 id, ExtVertexShader type, IntPtr addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetLocalConstantEXT((UInt32)id, (ExtVertexShader)type, (IntPtr)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp1EXT")]
-            public static 
-            void ShaderOp1(ExtVertexShader op, Int32 res, Int32 arg1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderOp1EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp1EXT")]
-            public static 
-            void ShaderOp1(ExtVertexShader op, UInt32 res, UInt32 arg1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderOp1EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp2EXT")]
-            public static 
-            void ShaderOp2(ExtVertexShader op, Int32 res, Int32 arg1, Int32 arg2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderOp2EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp2EXT")]
-            public static 
-            void ShaderOp2(ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderOp2EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp3EXT")]
-            public static 
-            void ShaderOp3(ExtVertexShader op, Int32 res, Int32 arg1, Int32 arg2, Int32 arg3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderOp3EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glShaderOp3EXT")]
-            public static 
-            void ShaderOp3(ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glShaderOp3EXT((ExtVertexShader)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtStencilClearTag", Version = "1.5", EntryPoint = "glStencilClearTagEXT")]
-            public static 
-            void StencilClearTag(Int32 stencilTagBits, Int32 stencilClearTag)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtStencilClearTag", Version = "1.5", EntryPoint = "glStencilClearTagEXT")]
-            public static 
-            void StencilClearTag(Int32 stencilTagBits, UInt32 stencilClearTag)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSwizzleEXT")]
-            public static 
-            void Swizzle(Int32 res, Int32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glSwizzleEXT")]
-            public static 
-            void Swizzle(UInt32 res, UInt32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bEXT")]
-            public static 
-            void Tangent3(Byte tx, Byte ty, Byte tz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bEXT")]
-            public static 
-            void Tangent3(SByte tx, SByte ty, SByte tz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")]
-            public static 
-            unsafe void Tangent3(Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3bvEXT((SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")]
-            public static 
-            void Tangent3(Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")]
-            public static 
-            void Tangent3(ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")]
-            public static 
-            void Tangent3(ref SByte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = &v)
-                    {
-                        Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")]
-            public static 
-            unsafe void Tangent3(SByte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3bvEXT((SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3bvEXT")]
-            public static 
-            void Tangent3(SByte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = v)
-                    {
-                        Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dEXT")]
-            public static 
-            void Tangent3(Double tx, Double ty, Double tz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3dEXT((Double)tx, (Double)ty, (Double)tz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dvEXT")]
-            public static 
-            unsafe void Tangent3(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3dvEXT((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dvEXT")]
-            public static 
-            void Tangent3(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glTangent3dvEXT((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3dvEXT")]
-            public static 
-            void Tangent3(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glTangent3dvEXT((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fEXT")]
-            public static 
-            void Tangent3(Single tx, Single ty, Single tz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3fEXT((Single)tx, (Single)ty, (Single)tz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fvEXT")]
-            public static 
-            void Tangent3(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTangent3fvEXT((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fvEXT")]
-            public static 
-            unsafe void Tangent3(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3fvEXT((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3fvEXT")]
-            public static 
-            void Tangent3(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTangent3fvEXT((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3iEXT")]
-            public static 
-            void Tangent3(Int32 tx, Int32 ty, Int32 tz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3iEXT((Int32)tx, (Int32)ty, (Int32)tz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3ivEXT")]
-            public static 
-            unsafe void Tangent3(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3ivEXT((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3ivEXT")]
-            public static 
-            void Tangent3(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glTangent3ivEXT((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3ivEXT")]
-            public static 
-            void Tangent3(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glTangent3ivEXT((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3sEXT")]
-            public static 
-            void Tangent3(Int16 tx, Int16 ty, Int16 tz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3sEXT((Int16)tx, (Int16)ty, (Int16)tz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3svEXT")]
-            public static 
-            unsafe void Tangent3(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangent3svEXT((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3svEXT")]
-            public static 
-            void Tangent3(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glTangent3svEXT((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangent3svEXT")]
-            public static 
-            void Tangent3(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glTangent3svEXT((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")]
-            public static 
-            void TangentPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")]
-            public static 
-            void TangentPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")]
-            public static 
-            void TangentPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")]
-            public static 
-            void TangentPointer<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCoordinateFrame", Version = "1.1", EntryPoint = "glTangentPointerEXT")]
-            public static 
-            void TangentPointer(NormalPointerType type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTangentPointerEXT((NormalPointerType)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTextureBufferObject", Version = "2.0", EntryPoint = "glTexBufferEXT")]
-            public static 
-            void TexBuffer(TextureTarget target, ExtTextureBufferObject internalformat, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexBufferEXT((TextureTarget)target, (ExtTextureBufferObject)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureBufferObject", Version = "2.0", EntryPoint = "glTexBufferEXT")]
-            public static 
-            void TexBuffer(TextureTarget target, ExtTextureBufferObject internalformat, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexBufferEXT((TextureTarget)target, (ExtTextureBufferObject)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")]
-            public static 
-            void TexCoordPointer<T4>(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")]
-            public static 
-            void TexCoordPointer<T4>(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")]
-            public static 
-            void TexCoordPointer<T4>(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")]
-            public static 
-            void TexCoordPointer<T4>(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glTexCoordPointerEXT")]
-            public static 
-            void TexCoordPointer(Int32 size, TexCoordPointerType type, Int32 stride, Int32 count, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoordPointerEXT((Int32)size, (TexCoordPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")]
-            public static 
-            void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")]
-            public static 
-            void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")]
-            public static 
-            void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")]
-            public static 
-            void TexImage3D<T9>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture image
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D or GL_PROXY_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level is the n sup th mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="internalFormat">
-        /// <para>
-        /// Specifies the number of color components in the texture. Must be 1, 2, 3, or 4, or one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_COMPRESSED_ALPHA, GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_INTENSITY, GL_COMPRESSED_RGB, GL_COMPRESSED_RGBA, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16, GL_SLUMINANCE, GL_SLUMINANCE8, GL_SLUMINANCE_ALPHA, GL_SLUMINANCE8_ALPHA8, GL_SRGB, GL_SRGB8, GL_SRGB_ALPHA, or GL_SRGB8_ALPHA8.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup n + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels wide.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup m + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels high.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture image including the border if any. If the GL version does not support non-power-of-two sizes, this value must be 2 sup k + 2 ( border ) for some integer . All implementations support 3D texture images that are at least 16 texels deep.
-        /// </para>
-        /// </param>
-        /// <param name="border">
-        /// <para>
-        /// Specifies the width of the border. Must be either 0 or 1.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexImage3DEXT")]
-            public static 
-            void TexImage3D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexImage3DEXT((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIivEXT")]
-            public static 
-            unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexParameterIivEXT((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIivEXT")]
-            public static 
-            void TexParameterI(TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glTexParameterIivEXT((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIivEXT")]
-            public static 
-            void TexParameterI(TextureTarget target, TextureParameterName pname, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glTexParameterIivEXT((TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIuivEXT")]
-            public static 
-            void TexParameterI(TextureTarget target, TextureParameterName pname, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glTexParameterIuivEXT((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIuivEXT")]
-            public static 
-            unsafe void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexParameterIuivEXT((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTextureInteger", Version = "2.0", EntryPoint = "glTexParameterIuivEXT")]
-            public static 
-            void TexParameterI(TextureTarget target, TextureParameterName pname, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glTexParameterIuivEXT((TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")]
-            public static 
-            void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T6 pixels)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")]
-            public static 
-            void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,,] pixels)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")]
-            public static 
-            void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[,] pixels)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")]
-            public static 
-            void TexSubImage1D<T6>(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T6[] pixels)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a one-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_1D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage1DEXT")]
-            public static 
-            void TexSubImage1D(TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexSubImage1DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")]
-            public static 
-            void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T8 pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")]
-            public static 
-            void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")]
-            public static 
-            void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")]
-            public static 
-            void TexSubImage2D<T8>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T8[] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a two-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, or GL_TEXTURE_CUBE_MAP_NEGATIVE_Z.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtSubtexture", Version = "1.0", EntryPoint = "glTexSubImage2DEXT")]
-            public static 
-            void TexSubImage2D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexSubImage2DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")]
-            public static 
-            void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T10 pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")]
-            public static 
-            void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")]
-            public static 
-            void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")]
-            public static 
-            void TexSubImage3D<T10>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T10[] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify a three-dimensional texture subimage
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies the target texture. Must be GL_TEXTURE_3D.
-        /// </para>
-        /// </param>
-        /// <param name="level">
-        /// <para>
-        /// Specifies the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.
-        /// </para>
-        /// </param>
-        /// <param name="xoffset">
-        /// <para>
-        /// Specifies a texel offset in the x direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="yoffset">
-        /// <para>
-        /// Specifies a texel offset in the y direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="zoffset">
-        /// <para>
-        /// Specifies a texel offset in the z direction within the texture array.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// Specifies the width of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="height">
-        /// <para>
-        /// Specifies the height of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth of the texture subimage.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// Specifies the format of the pixel data. The following symbolic values are accepted: GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_LUMINANCE, and GL_LUMINANCE_ALPHA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of the pixel data. The following symbolic values are accepted: GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Specifies a pointer to the image data in memory.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtTexture3D", Version = "1.0", EntryPoint = "glTexSubImage3DEXT")]
-            public static 
-            void TexSubImage3D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexSubImage3DEXT((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureBufferEXT")]
-            public static 
-            void TextureBuffer(Int32 texture, TextureTarget target, ExtDirectStateAccess internalformat, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureBufferEXT((UInt32)texture, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureBufferEXT")]
-            public static 
-            void TextureBuffer(UInt32 texture, TextureTarget target, ExtDirectStateAccess internalformat, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureBufferEXT((UInt32)texture, (TextureTarget)target, (ExtDirectStateAccess)internalformat, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T8 pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[,] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D<T8>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, [In, Out] T8[] pixels)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage1DEXT")]
-            public static 
-            void TextureImage1D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage2DEXT")]
-            public static 
-            void TextureImage2D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D(Int32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D<T10>(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureImage3DEXT")]
-            public static 
-            void TextureImage3D(UInt32 texture, TextureTarget target, Int32 level, ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (ExtDirectStateAccess)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtLightTexture", Version = "1.1", EntryPoint = "glTextureLightEXT")]
-            public static 
-            void TextureLight(ExtLightTexture pname)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureLightEXT((ExtLightTexture)pname);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtLightTexture", Version = "1.1", EntryPoint = "glTextureMaterialEXT")]
-            public static 
-            void TextureMaterial(MaterialFace face, MaterialParameter mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureMaterialEXT((MaterialFace)face, (MaterialParameter)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTexturePerturbNormal", Version = "1.1", EntryPoint = "glTextureNormalEXT")]
-            public static 
-            void TextureNormal(ExtTexturePerturbNormal mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureNormalEXT((ExtTexturePerturbNormal)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfEXT")]
-            public static 
-            void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterfEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfEXT")]
-            public static 
-            void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterfEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")]
-            public static 
-            unsafe void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")]
-            public static 
-            void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")]
-            public static 
-            unsafe void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterfvEXT")]
-            public static 
-            void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterfvEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameteriEXT")]
-            public static 
-            void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameteriEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameteriEXT")]
-            public static 
-            void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameteriEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")]
-            public static 
-            unsafe void TextureParameterI(Int32 texture, TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")]
-            public static 
-            void TextureParameterI(Int32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")]
-            public static 
-            void TextureParameterI(Int32 texture, TextureTarget target, TextureParameterName pname, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")]
-            public static 
-            unsafe void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")]
-            public static 
-            void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIivEXT")]
-            public static 
-            void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glTextureParameterIivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIuivEXT")]
-            public static 
-            void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIuivEXT")]
-            public static 
-            unsafe void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterIuivEXT")]
-            public static 
-            void TextureParameterI(UInt32 texture, TextureTarget target, TextureParameterName pname, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterIuivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")]
-            public static 
-            unsafe void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")]
-            public static 
-            void TextureParameter(Int32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")]
-            public static 
-            unsafe void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureParameterivEXT")]
-            public static 
-            void TextureParameter(UInt32 texture, TextureTarget target, TextureParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glTextureParameterivEXT((UInt32)texture, (TextureTarget)target, (TextureParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureRenderbufferEXT")]
-            public static 
-            void TextureRenderbuffer(Int32 texture, TextureTarget target, Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureRenderbufferEXT((UInt32)texture, (TextureTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureRenderbufferEXT")]
-            public static 
-            void TextureRenderbuffer(UInt32 texture, TextureTarget target, UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureRenderbufferEXT((UInt32)texture, (TextureTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T7 pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T7 pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,,] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[,] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D<T7>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, [In, Out] T7[] pixels)
-                where T7 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage1DEXT")]
-            public static 
-            void TextureSubImage1D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 width, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureSubImage1DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] ref T9 pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[,] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D<T9>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] T9[] pixels)
-                where T9 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage2DEXT")]
-            public static 
-            void TextureSubImage2D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureSubImage2DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T11 pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,,] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D(Int32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] ref T11 pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,,] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[,] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D<T11>(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] T11[] pixels)
-                where T11 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glTextureSubImage3DEXT")]
-            public static 
-            void TextureSubImage3D(UInt32 texture, TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureSubImage3DEXT((UInt32)texture, (TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glTransformFeedbackVaryingsEXT")]
-            public static 
-            void TransformFeedbackVaryings(Int32 program, Int32 count, String[] varyings, ExtTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTransformFeedbackVaryingsEXT((UInt32)program, (Int32)count, (String[])varyings, (ExtTransformFeedback)bufferMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtTransformFeedback", Version = "2.0", EntryPoint = "glTransformFeedbackVaryingsEXT")]
-            public static 
-            void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, ExtTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTransformFeedbackVaryingsEXT((UInt32)program, (Int32)count, (String[])varyings, (ExtTransformFeedback)bufferMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uiEXT")]
-            public static 
-            void Uniform1(Int32 location, Int32 v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uiEXT")]
-            public static 
-            void Uniform1(Int32 location, UInt32 v0)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")]
-            public static 
-            unsafe void Uniform1(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")]
-            public static 
-            unsafe void Uniform1(Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform1uivEXT")]
-            public static 
-            void Uniform1(Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uiEXT")]
-            public static 
-            void Uniform2(Int32 location, Int32 v0, Int32 v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uiEXT")]
-            public static 
-            void Uniform2(Int32 location, UInt32 v0, UInt32 v1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")]
-            public static 
-            unsafe void Uniform2(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")]
-            public static 
-            void Uniform2(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")]
-            public static 
-            void Uniform2(Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")]
-            public static 
-            unsafe void Uniform2(Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform2uivEXT")]
-            public static 
-            void Uniform2(Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uiEXT")]
-            public static 
-            void Uniform3(Int32 location, Int32 v0, Int32 v1, Int32 v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uiEXT")]
-            public static 
-            void Uniform3(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")]
-            public static 
-            unsafe void Uniform3(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")]
-            public static 
-            unsafe void Uniform3(Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform3uivEXT")]
-            public static 
-            void Uniform3(Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uiEXT")]
-            public static 
-            void Uniform4(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uiEXT")]
-            public static 
-            void Uniform4(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")]
-            public static 
-            unsafe void Uniform4(Int32 location, Int32 count, Int32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, Int32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = value)
-                    {
-                        Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, ref Int32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* value_ptr = &value)
-                    {
-                        Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, ref UInt32 value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = &value)
-                    {
-                        Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")]
-            public static 
-            unsafe void Uniform4(Int32 location, Int32 count, UInt32* value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the value of a uniform variable for the current program object
-        /// </summary>
-        /// <param name="location">
-        /// <para>
-        /// Specifies the location of the uniform variable to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified uniform variable.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtGpuShader4", Version = "2.0", EntryPoint = "glUniform4uivEXT")]
-            public static 
-            void Uniform4(Int32 location, Int32 count, UInt32[] value)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* value_ptr = value)
-                    {
-                        Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glUniformBufferEXT")]
-            public static 
-            void UniformBuffer(Int32 program, Int32 location, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtBindableUniform", Version = "2.0", EntryPoint = "glUniformBufferEXT")]
-            public static 
-            void UniformBuffer(UInt32 program, Int32 location, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtCompiledVertexArray", Version = "1.1", EntryPoint = "glUnlockArraysEXT")]
-            public static 
-            void UnlockArrays()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glUnlockArraysEXT();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glUnmapNamedBufferEXT")]
-            public static 
-            bool UnmapNamedBuffer(Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glUnmapNamedBufferEXT((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtDirectStateAccess", Version = "", EntryPoint = "glUnmapNamedBufferEXT")]
-            public static 
-            bool UnmapNamedBuffer(UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glUnmapNamedBufferEXT((UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantbvEXT")]
-            public static 
-            void Variant(UInt32 id, ref SByte addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantbvEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, SByte* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantbvEXT")]
-            public static 
-            void Variant(UInt32 id, SByte[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* addr_ptr = addr)
-                    {
-                        Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")]
-            public static 
-            unsafe void Variant(Int32 id, Double* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantdvEXT((UInt32)id, (Double*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")]
-            public static 
-            void Variant(Int32 id, Double[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* addr_ptr = addr)
-                    {
-                        Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")]
-            public static 
-            void Variant(Int32 id, ref Double addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, Double* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantdvEXT((UInt32)id, (Double*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")]
-            public static 
-            void Variant(UInt32 id, Double[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* addr_ptr = addr)
-                    {
-                        Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantdvEXT")]
-            public static 
-            void Variant(UInt32 id, ref Double addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")]
-            public static 
-            void Variant(Int32 id, ref Single addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")]
-            public static 
-            unsafe void Variant(Int32 id, Single* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantfvEXT((UInt32)id, (Single*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")]
-            public static 
-            void Variant(Int32 id, Single[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* addr_ptr = addr)
-                    {
-                        Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")]
-            public static 
-            void Variant(UInt32 id, ref Single addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, Single* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantfvEXT((UInt32)id, (Single*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantfvEXT")]
-            public static 
-            void Variant(UInt32 id, Single[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* addr_ptr = addr)
-                    {
-                        Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")]
-            public static 
-            unsafe void Variant(Int32 id, Int32* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantivEXT((UInt32)id, (Int32*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")]
-            public static 
-            void Variant(Int32 id, Int32[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* addr_ptr = addr)
-                    {
-                        Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")]
-            public static 
-            void Variant(Int32 id, ref Int32 addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, Int32* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantivEXT((UInt32)id, (Int32*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")]
-            public static 
-            void Variant(UInt32 id, Int32[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* addr_ptr = addr)
-                    {
-                        Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantivEXT")]
-            public static 
-            void Variant(UInt32 id, ref Int32 addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] ref T3 addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] T3[,,] addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] T3[,] addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(Int32 id, ExtVertexShader type, Int32 stride, [In, Out] T3[] addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer(Int32 id, ExtVertexShader type, Int32 stride, IntPtr addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] ref T3 addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] T3[,,] addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] T3[,] addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer<T3>(UInt32 id, ExtVertexShader type, UInt32 stride, [In, Out] T3[] addr)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle addr_ptr = GCHandle.Alloc(addr, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantPointerEXT")]
-            public static 
-            void VariantPointer(UInt32 id, ExtVertexShader type, UInt32 stride, IntPtr addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantPointerEXT((UInt32)id, (ExtVertexShader)type, (UInt32)stride, (IntPtr)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")]
-            public static 
-            unsafe void Variant(Int32 id, Int16* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")]
-            public static 
-            void Variant(Int32 id, Int16[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* addr_ptr = addr)
-                    {
-                        Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")]
-            public static 
-            void Variant(Int32 id, ref Int16 addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, Int16* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")]
-            public static 
-            void Variant(UInt32 id, Int16[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* addr_ptr = addr)
-                    {
-                        Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantsvEXT")]
-            public static 
-            void Variant(UInt32 id, ref Int16 addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")]
-            public static 
-            unsafe void Variant(Int32 id, Byte* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")]
-            public static 
-            void Variant(Int32 id, Byte[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* addr_ptr = addr)
-                    {
-                        Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")]
-            public static 
-            void Variant(Int32 id, ref Byte addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, Byte* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")]
-            public static 
-            void Variant(UInt32 id, Byte[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* addr_ptr = addr)
-                    {
-                        Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantubvEXT")]
-            public static 
-            void Variant(UInt32 id, ref Byte addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantuivEXT")]
-            public static 
-            void Variant(UInt32 id, ref UInt32 addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantuivEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, UInt32* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantuivEXT")]
-            public static 
-            void Variant(UInt32 id, UInt32[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* addr_ptr = addr)
-                    {
-                        Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantusvEXT")]
-            public static 
-            void Variant(UInt32 id, ref UInt16 addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* addr_ptr = &addr)
-                    {
-                        Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantusvEXT")]
-            public static 
-            unsafe void Variant(UInt32 id, UInt16* addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glVariantusvEXT")]
-            public static 
-            void Variant(UInt32 id, UInt16[] addr)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* addr_ptr = addr)
-                    {
-                        Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1iEXT")]
-            public static 
-            void VertexAttribI1(Int32 index, Int32 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1iEXT")]
-            public static 
-            void VertexAttribI1(UInt32 index, Int32 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1ivEXT")]
-            public static 
-            unsafe void VertexAttribI1(Int32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1ivEXT")]
-            public static 
-            unsafe void VertexAttribI1(UInt32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1uiEXT")]
-            public static 
-            void VertexAttribI1(UInt32 index, UInt32 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI1uiEXT((UInt32)index, (UInt32)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI1uivEXT")]
-            public static 
-            unsafe void VertexAttribI1(UInt32 index, UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2iEXT")]
-            public static 
-            void VertexAttribI2(Int32 index, Int32 x, Int32 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2iEXT")]
-            public static 
-            void VertexAttribI2(UInt32 index, Int32 x, Int32 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")]
-            public static 
-            unsafe void VertexAttribI2(Int32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")]
-            public static 
-            void VertexAttribI2(Int32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")]
-            public static 
-            void VertexAttribI2(Int32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")]
-            public static 
-            unsafe void VertexAttribI2(UInt32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")]
-            public static 
-            void VertexAttribI2(UInt32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2ivEXT")]
-            public static 
-            void VertexAttribI2(UInt32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uiEXT")]
-            public static 
-            void VertexAttribI2(UInt32 index, UInt32 x, UInt32 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI2uiEXT((UInt32)index, (UInt32)x, (UInt32)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uivEXT")]
-            public static 
-            void VertexAttribI2(UInt32 index, ref UInt32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uivEXT")]
-            public static 
-            unsafe void VertexAttribI2(UInt32 index, UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI2uivEXT")]
-            public static 
-            void VertexAttribI2(UInt32 index, UInt32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3iEXT")]
-            public static 
-            void VertexAttribI3(Int32 index, Int32 x, Int32 y, Int32 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3iEXT")]
-            public static 
-            void VertexAttribI3(UInt32 index, Int32 x, Int32 y, Int32 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")]
-            public static 
-            unsafe void VertexAttribI3(Int32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")]
-            public static 
-            void VertexAttribI3(Int32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")]
-            public static 
-            void VertexAttribI3(Int32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")]
-            public static 
-            unsafe void VertexAttribI3(UInt32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")]
-            public static 
-            void VertexAttribI3(UInt32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3ivEXT")]
-            public static 
-            void VertexAttribI3(UInt32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uiEXT")]
-            public static 
-            void VertexAttribI3(UInt32 index, UInt32 x, UInt32 y, UInt32 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI3uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uivEXT")]
-            public static 
-            void VertexAttribI3(UInt32 index, ref UInt32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uivEXT")]
-            public static 
-            unsafe void VertexAttribI3(UInt32 index, UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI3uivEXT")]
-            public static 
-            void VertexAttribI3(UInt32 index, UInt32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4bvEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, ref SByte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4bvEXT")]
-            public static 
-            unsafe void VertexAttribI4(UInt32 index, SByte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4bvEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, SByte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (SByte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4iEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4iEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")]
-            public static 
-            unsafe void VertexAttribI4(Int32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")]
-            public static 
-            unsafe void VertexAttribI4(UInt32 index, Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ivEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")]
-            public static 
-            unsafe void VertexAttribI4(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")]
-            public static 
-            unsafe void VertexAttribI4(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4svEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")]
-            public static 
-            unsafe void VertexAttribI4(Int32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")]
-            public static 
-            void VertexAttribI4(Int32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")]
-            public static 
-            unsafe void VertexAttribI4(UInt32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4ubvEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uiEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uivEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, ref UInt32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uivEXT")]
-            public static 
-            unsafe void VertexAttribI4(UInt32 index, UInt32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4uivEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, UInt32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4usvEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, ref UInt16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4usvEXT")]
-            public static 
-            unsafe void VertexAttribI4(UInt32 index, UInt16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribI4usvEXT")]
-            public static 
-            void VertexAttribI4(UInt32 index, UInt16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer(Int32 index, Int32 size, NvVertexProgram4 type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer<T4>(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram4", Version = "", EntryPoint = "glVertexAttribIPointerEXT")]
-            public static 
-            void VertexAttribIPointer(UInt32 index, Int32 size, NvVertexProgram4 type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (NvVertexProgram4)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")]
-            public static 
-            void VertexPointer<T4>(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")]
-            public static 
-            void VertexPointer<T4>(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")]
-            public static 
-            void VertexPointer<T4>(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")]
-            public static 
-            void VertexPointer<T4>(Int32 size, VertexPointerType type, Int32 stride, Int32 count, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "ExtVertexArray", Version = "1.0", EntryPoint = "glVertexPointerEXT")]
-            public static 
-            void VertexPointer(Int32 size, VertexPointerType type, Int32 stride, Int32 count, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexPointerEXT((Int32)size, (VertexPointerType)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightfEXT")]
-            public static 
-            void VertexWeight(Single weight)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexWeightfEXT((Single)weight);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightfvEXT")]
-            public static 
-            unsafe void VertexWeight(Single* weight)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexWeightfvEXT((Single*)weight);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")]
-            public static 
-            void VertexWeightPointer<T3>(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] ref T3 pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")]
-            public static 
-            void VertexWeightPointer<T3>(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] T3[,,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")]
-            public static 
-            void VertexWeightPointer<T3>(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] T3[,] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")]
-            public static 
-            void VertexWeightPointer<T3>(Int32 size, ExtVertexWeighting type, Int32 stride, [In, Out] T3[] pointer)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexWeighting", Version = "1.1", EntryPoint = "glVertexWeightPointerEXT")]
-            public static 
-            void VertexWeightPointer(Int32 size, ExtVertexWeighting type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexWeightPointerEXT((Int32)size, (ExtVertexWeighting)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glWriteMaskEXT")]
-            public static 
-            void WriteMask(Int32 res, Int32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "ExtVertexShader", Version = "1.2", EntryPoint = "glWriteMaskEXT")]
-            public static 
-            void WriteMask(UInt32 res, UInt32 @in, ExtVertexShader outX, ExtVertexShader outY, ExtVertexShader outZ, ExtVertexShader outW)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (ExtVertexShader)outX, (ExtVertexShader)outY, (ExtVertexShader)outZ, (ExtVertexShader)outW);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Gremedy
-        {
-            [AutoGenerated(Category = "GremedyFrameTerminator", Version = "1.0", EntryPoint = "glFrameTerminatorGREMEDY")]
-            public static 
-            void FrameTerminator()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFrameTerminatorGREMEDY();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")]
-            public static 
-            void StringMarker<T1>(Int32 len, [In, Out] ref T1 @string)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")]
-            public static 
-            void StringMarker<T1>(Int32 len, [In, Out] T1[,,] @string)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")]
-            public static 
-            void StringMarker<T1>(Int32 len, [In, Out] T1[,] @string)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")]
-            public static 
-            void StringMarker<T1>(Int32 len, [In, Out] T1[] @string)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @string_ptr = GCHandle.Alloc(@string, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "GremedyStringMarker", Version = "1.0", EntryPoint = "glStringMarkerGREMEDY")]
-            public static 
-            void StringMarker(Int32 len, IntPtr @string)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class HP
-        {
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterfvHP")]
-            public static 
-            void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterfvHP")]
-            public static 
-            unsafe void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterfvHP")]
-            public static 
-            void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterivHP")]
-            public static 
-            unsafe void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterivHP")]
-            public static 
-            void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glGetImageTransformParameterivHP")]
-            public static 
-            void GetImageTransformParameter(HpImageTransform target, HpImageTransform pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterfHP")]
-            public static 
-            void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glImageTransformParameterfHP((HpImageTransform)target, (HpImageTransform)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterfvHP")]
-            public static 
-            unsafe void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterfvHP")]
-            public static 
-            void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glImageTransformParameterfvHP((HpImageTransform)target, (HpImageTransform)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameteriHP")]
-            public static 
-            void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glImageTransformParameteriHP((HpImageTransform)target, (HpImageTransform)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterivHP")]
-            public static 
-            unsafe void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "HpImageTransform", Version = "1.1", EntryPoint = "glImageTransformParameterivHP")]
-            public static 
-            void ImageTransformParameter(HpImageTransform target, HpImageTransform pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glImageTransformParameterivHP((HpImageTransform)target, (HpImageTransform)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Ibm
-        {
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")]
-            public static 
-            void ColorPointerList<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")]
-            public static 
-            void ColorPointerList<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")]
-            public static 
-            void ColorPointerList<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")]
-            public static 
-            void ColorPointerList<T3>(Int32 size, ColorPointerType type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glColorPointerListIBM")]
-            public static 
-            void ColorPointerList(Int32 size, ColorPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorPointerListIBM((Int32)size, (ColorPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glEdgeFlagPointerListIBM")]
-            public static 
-            unsafe void EdgeFlagPointerList(Int32 stride, bool* pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEdgeFlagPointerListIBM((Int32)stride, (bool*)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glEdgeFlagPointerListIBM")]
-            public static 
-            void EdgeFlagPointerList(Int32 stride, bool[] pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* pointer_ptr = pointer)
-                    {
-                        Delegates.glEdgeFlagPointerListIBM((Int32)stride, (bool*)pointer_ptr, (Int32)ptrstride);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glEdgeFlagPointerListIBM")]
-            public static 
-            void EdgeFlagPointerList(Int32 stride, ref bool pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (bool* pointer_ptr = &pointer)
-                    {
-                        Delegates.glEdgeFlagPointerListIBM((Int32)stride, (bool*)pointer_ptr, (Int32)ptrstride);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")]
-            public static 
-            void FogCoordPointerList<T2>(IbmVertexArrayLists type, Int32 stride, [In, Out] ref T2 pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")]
-            public static 
-            void FogCoordPointerList<T2>(IbmVertexArrayLists type, Int32 stride, [In, Out] T2[,,] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")]
-            public static 
-            void FogCoordPointerList<T2>(IbmVertexArrayLists type, Int32 stride, [In, Out] T2[,] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")]
-            public static 
-            void FogCoordPointerList<T2>(IbmVertexArrayLists type, Int32 stride, [In, Out] T2[] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glFogCoordPointerListIBM")]
-            public static 
-            void FogCoordPointerList(IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoordPointerListIBM((IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")]
-            public static 
-            void IndexPointerList<T2>(IndexPointerType type, Int32 stride, [In, Out] ref T2 pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")]
-            public static 
-            void IndexPointerList<T2>(IndexPointerType type, Int32 stride, [In, Out] T2[,,] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")]
-            public static 
-            void IndexPointerList<T2>(IndexPointerType type, Int32 stride, [In, Out] T2[,] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")]
-            public static 
-            void IndexPointerList<T2>(IndexPointerType type, Int32 stride, [In, Out] T2[] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glIndexPointerListIBM")]
-            public static 
-            void IndexPointerList(IndexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glIndexPointerListIBM((IndexPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawArraysIBM")]
-            public static 
-            unsafe void MultiModeDrawArrays(BeginMode* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiModeDrawArraysIBM((BeginMode*)mode, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawArraysIBM")]
-            public static 
-            void MultiModeDrawArrays(BeginMode[] mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = mode)
-                    fixed (Int32* first_ptr = first)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiModeDrawArraysIBM((BeginMode*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawArraysIBM")]
-            public static 
-            void MultiModeDrawArrays(ref BeginMode mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = &mode)
-                    fixed (Int32* first_ptr = &first)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiModeDrawArraysIBM((BeginMode*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            unsafe void MultiModeDrawElements<T3>(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            unsafe void MultiModeDrawElements<T3>(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            unsafe void MultiModeDrawElements<T3>(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            unsafe void MultiModeDrawElements<T3>(BeginMode* mode, Int32* count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            unsafe void MultiModeDrawElements(BeginMode* mode, Int32* count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode, (Int32*)count, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = mode)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = mode)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = mode)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(BeginMode[] mode, Int32[] count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = mode)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements(BeginMode[] mode, Int32[] count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = mode)
-                    fixed (Int32* count_ptr = count)
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] ref T3 indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = &mode)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,,] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = &mode)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[,] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = &mode)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements<T3>(ref BeginMode mode, ref Int32 count, DrawElementsType type, [In, Out] T3[] indices, Int32 primcount, Int32 modestride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = &mode)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        GCHandle indices_ptr = GCHandle.Alloc(indices, GCHandleType.Pinned);
-                        try
-                        {
-                            Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                        }
-                        finally
-                        {
-                            indices_ptr.Free();
-                        }
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmMultimodeDrawArrays", Version = "1.1", EntryPoint = "glMultiModeDrawElementsIBM")]
-            public static 
-            void MultiModeDrawElements(ref BeginMode mode, ref Int32 count, DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (BeginMode* mode_ptr = &mode)
-                    fixed (Int32* count_ptr = &count)
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((BeginMode*)mode_ptr, (Int32*)count_ptr, (DrawElementsType)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")]
-            public static 
-            void NormalPointerList<T2>(NormalPointerType type, Int32 stride, [In, Out] ref T2 pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")]
-            public static 
-            void NormalPointerList<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,,] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")]
-            public static 
-            void NormalPointerList<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[,] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")]
-            public static 
-            void NormalPointerList<T2>(NormalPointerType type, Int32 stride, [In, Out] T2[] pointer, Int32 ptrstride)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glNormalPointerListIBM")]
-            public static 
-            void NormalPointerList(NormalPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalPointerListIBM((NormalPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")]
-            public static 
-            void SecondaryColorPointerList<T3>(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")]
-            public static 
-            void SecondaryColorPointerList<T3>(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")]
-            public static 
-            void SecondaryColorPointerList<T3>(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")]
-            public static 
-            void SecondaryColorPointerList<T3>(Int32 size, IbmVertexArrayLists type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glSecondaryColorPointerListIBM")]
-            public static 
-            void SecondaryColorPointerList(Int32 size, IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColorPointerListIBM((Int32)size, (IbmVertexArrayLists)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")]
-            public static 
-            void TexCoordPointerList<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")]
-            public static 
-            void TexCoordPointerList<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")]
-            public static 
-            void TexCoordPointerList<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")]
-            public static 
-            void TexCoordPointerList<T3>(Int32 size, TexCoordPointerType type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glTexCoordPointerListIBM")]
-            public static 
-            void TexCoordPointerList(Int32 size, TexCoordPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoordPointerListIBM((Int32)size, (TexCoordPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")]
-            public static 
-            void VertexPointerList<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] ref T3 pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")]
-            public static 
-            void VertexPointerList<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")]
-            public static 
-            void VertexPointerList<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[,] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")]
-            public static 
-            void VertexPointerList<T3>(Int32 size, VertexPointerType type, Int32 stride, [In, Out] T3[] pointer, Int32 ptrstride)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "IbmVertexArrayLists", Version = "1.1", EntryPoint = "glVertexPointerListIBM")]
-            public static 
-            void VertexPointerList(Int32 size, VertexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexPointerListIBM((Int32)size, (VertexPointerType)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Ingr
-        {
-            
-        /// <summary>
-        /// Specify pixel arithmetic for RGB and alpha components separately
-        /// </summary>
-        /// <param name="srcRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA, and GL_SRC_ALPHA_SATURATE. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstRGB">
-        /// <para>
-        /// Specifies how the red, green, and blue destination blending factors are computed. The following symbolic constants are accepted: GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA. GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, and GL_ONE_MINUS_CONSTANT_ALPHA. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-        /// <param name="srcAlpha">
-        /// <para>
-        /// Specified how the alpha source blending factor is computed. The same symbolic constants are accepted as for srcRGB. The initial value is GL_ONE.
-        /// </para>
-        /// </param>
-        /// <param name="dstAlpha">
-        /// <para>
-        /// Specified how the alpha destination blending factor is computed. The same symbolic constants are accepted as for dstRGB. The initial value is GL_ZERO.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IngrBlendFuncSeparate", Version = "1.0", EntryPoint = "glBlendFuncSeparateINGR")]
-            public static 
-            void BlendFuncSeparate(All sfactorRGB, All dfactorRGB, All sfactorAlpha, All dfactorAlpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBlendFuncSeparateINGR((All)sfactorRGB, (All)dfactorRGB, (All)sfactorAlpha, (All)dfactorAlpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Intel
-        {
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")]
-            public static 
-            void ColorPointer<T2>(Int32 size, VertexPointerType type, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")]
-            public static 
-            void ColorPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")]
-            public static 
-            void ColorPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")]
-            public static 
-            void ColorPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of colors
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per color. Must be 3 or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each color component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive colors. If stride is 0, the colors are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first color element in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glColorPointervINTEL")]
-            public static 
-            void ColorPointer(Int32 size, VertexPointerType type, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")]
-            public static 
-            void NormalPointer<T1>(NormalPointerType type, [In, Out] ref T1 pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")]
-            public static 
-            void NormalPointer<T1>(NormalPointerType type, [In, Out] T1[,,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")]
-            public static 
-            void NormalPointer<T1>(NormalPointerType type, [In, Out] T1[,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")]
-            public static 
-            void NormalPointer<T1>(NormalPointerType type, [In, Out] T1[] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of normals
-        /// </summary>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, and GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive normals. If stride is 0, the normals are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first normal in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glNormalPointervINTEL")]
-            public static 
-            void NormalPointer(NormalPointerType type, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormalPointervINTEL((NormalPointerType)type, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")]
-            public static 
-            void TexCoordPointer<T2>(Int32 size, VertexPointerType type, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")]
-            public static 
-            void TexCoordPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")]
-            public static 
-            void TexCoordPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")]
-            public static 
-            void TexCoordPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of texture coordinates
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per array element. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each texture coordinate. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive texture coordinate sets. If stride is 0, the array elements are understood to be tightly packed. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first texture coordinate set in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glTexCoordPointervINTEL")]
-            public static 
-            void TexCoordPointer(Int32 size, VertexPointerType type, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoordPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")]
-            public static 
-            void VertexPointer<T2>(Int32 size, VertexPointerType type, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")]
-            public static 
-            void VertexPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")]
-            public static 
-            void VertexPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")]
-            public static 
-            void VertexPointer<T2>(Int32 size, VertexPointerType type, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of vertex data
-        /// </summary>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of coordinates per vertex. Must be 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each coordinate in the array. Symbolic constants GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive vertices. If stride is 0, the vertices are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first coordinate of the first vertex in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "IntelParallelArrays", Version = "1.1", EntryPoint = "glVertexPointervINTEL")]
-            public static 
-            void VertexPointer(Int32 size, VertexPointerType type, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexPointervINTEL((Int32)size, (VertexPointerType)type, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Mesa
-        {
-            [AutoGenerated(Category = "MesaResizeBuffers", Version = "1.0", EntryPoint = "glResizeBuffersMESA")]
-            public static 
-            void ResizeBuffers()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glResizeBuffersMESA();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dMESA")]
-            public static 
-            void WindowPos2(Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2dMESA((Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvMESA")]
-            public static 
-            unsafe void WindowPos2(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2dvMESA((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvMESA")]
-            public static 
-            void WindowPos2(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2dvMESA((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2dvMESA")]
-            public static 
-            void WindowPos2(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2dvMESA((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fMESA")]
-            public static 
-            void WindowPos2(Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2fMESA((Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvMESA")]
-            public static 
-            void WindowPos2(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2fvMESA((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvMESA")]
-            public static 
-            unsafe void WindowPos2(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2fvMESA((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2fvMESA")]
-            public static 
-            void WindowPos2(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2fvMESA((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2iMESA")]
-            public static 
-            void WindowPos2(Int32 x, Int32 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2iMESA((Int32)x, (Int32)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivMESA")]
-            public static 
-            unsafe void WindowPos2(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2ivMESA((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivMESA")]
-            public static 
-            void WindowPos2(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2ivMESA((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2ivMESA")]
-            public static 
-            void WindowPos2(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2ivMESA((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2sMESA")]
-            public static 
-            void WindowPos2(Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2sMESA((Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svMESA")]
-            public static 
-            unsafe void WindowPos2(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos2svMESA((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svMESA")]
-            public static 
-            void WindowPos2(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glWindowPos2svMESA((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos2svMESA")]
-            public static 
-            void WindowPos2(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos2svMESA((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dMESA")]
-            public static 
-            void WindowPos3(Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3dMESA((Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvMESA")]
-            public static 
-            unsafe void WindowPos3(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3dvMESA((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvMESA")]
-            public static 
-            void WindowPos3(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3dvMESA((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3dvMESA")]
-            public static 
-            void WindowPos3(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3dvMESA((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fMESA")]
-            public static 
-            void WindowPos3(Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3fMESA((Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvMESA")]
-            public static 
-            void WindowPos3(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3fvMESA((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvMESA")]
-            public static 
-            unsafe void WindowPos3(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3fvMESA((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3fvMESA")]
-            public static 
-            void WindowPos3(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3fvMESA((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3iMESA")]
-            public static 
-            void WindowPos3(Int32 x, Int32 y, Int32 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3iMESA((Int32)x, (Int32)y, (Int32)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivMESA")]
-            public static 
-            unsafe void WindowPos3(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3ivMESA((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivMESA")]
-            public static 
-            void WindowPos3(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3ivMESA((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3ivMESA")]
-            public static 
-            void WindowPos3(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3ivMESA((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3sMESA")]
-            public static 
-            void WindowPos3(Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3sMESA((Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svMESA")]
-            public static 
-            unsafe void WindowPos3(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos3svMESA((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svMESA")]
-            public static 
-            void WindowPos3(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glWindowPos3svMESA((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos3svMESA")]
-            public static 
-            void WindowPos3(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos3svMESA((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dMESA")]
-            public static 
-            void WindowPos4(Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4dMESA((Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dvMESA")]
-            public static 
-            unsafe void WindowPos4(Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4dvMESA((Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dvMESA")]
-            public static 
-            void WindowPos4(Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glWindowPos4dvMESA((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4dvMESA")]
-            public static 
-            void WindowPos4(ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos4dvMESA((Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fMESA")]
-            public static 
-            void WindowPos4(Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4fMESA((Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fvMESA")]
-            public static 
-            void WindowPos4(ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos4fvMESA((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fvMESA")]
-            public static 
-            unsafe void WindowPos4(Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4fvMESA((Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4fvMESA")]
-            public static 
-            void WindowPos4(Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glWindowPos4fvMESA((Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4iMESA")]
-            public static 
-            void WindowPos4(Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4iMESA((Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4ivMESA")]
-            public static 
-            unsafe void WindowPos4(Int32* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4ivMESA((Int32*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4ivMESA")]
-            public static 
-            void WindowPos4(Int32[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = v)
-                    {
-                        Delegates.glWindowPos4ivMESA((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4ivMESA")]
-            public static 
-            void WindowPos4(ref Int32 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos4ivMESA((Int32*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4sMESA")]
-            public static 
-            void WindowPos4(Int16 x, Int16 y, Int16 z, Int16 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4sMESA((Int16)x, (Int16)y, (Int16)z, (Int16)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4svMESA")]
-            public static 
-            unsafe void WindowPos4(Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glWindowPos4svMESA((Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4svMESA")]
-            public static 
-            void WindowPos4(Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glWindowPos4svMESA((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the raster position in window coordinates for pixel operations
-        /// </summary>
-        /// <param name="x">
-        /// <para>
-        /// Specify the , , coordinates for the raster position.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "MesaWindowPos", Version = "1.0", EntryPoint = "glWindowPos4svMESA")]
-            public static 
-            void WindowPos4(ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glWindowPos4svMESA((Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class NV
-        {
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glActiveVaryingNV")]
-            public static 
-            void ActiveVarying(Int32 program, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glActiveVaryingNV((UInt32)program, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glActiveVaryingNV")]
-            public static 
-            void ActiveVarying(UInt32 program, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glActiveVaryingNV((UInt32)program, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")]
-            public static 
-            unsafe bool AreProgramsResident(Int32 n, Int32* programs, [Out] bool* residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (bool*)residences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")]
-            public static 
-            bool AreProgramsResident(Int32 n, Int32[] programs, [Out] bool[] residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = programs)
-                    fixed (bool* residences_ptr = residences)
-                    {
-                        return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")]
-            public static 
-            bool AreProgramsResident(Int32 n, ref Int32 programs, [Out] out bool residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = &programs)
-                    fixed (bool* residences_ptr = &residences)
-                    {
-                        bool retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr);
-                        residences = *residences_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")]
-            public static 
-            bool AreProgramsResident(Int32 n, ref UInt32 programs, [Out] out bool residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = &programs)
-                    fixed (bool* residences_ptr = &residences)
-                    {
-                        bool retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr);
-                        residences = *residences_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")]
-            public static 
-            unsafe bool AreProgramsResident(Int32 n, UInt32* programs, [Out] bool* residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (bool*)residences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glAreProgramsResidentNV")]
-            public static 
-            bool AreProgramsResident(Int32 n, UInt32[] programs, [Out] bool[] residences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = programs)
-                    fixed (bool* residences_ptr = residences)
-                    {
-                        return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (bool*)residences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvConditionalRender", Version = "", EntryPoint = "glBeginConditionalRenderNV")]
-            public static 
-            void BeginConditionalRender(Int32 id, NvConditionalRender mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginConditionalRenderNV((UInt32)id, (NvConditionalRender)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvConditionalRender", Version = "", EntryPoint = "glBeginConditionalRenderNV")]
-            public static 
-            void BeginConditionalRender(UInt32 id, NvConditionalRender mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginConditionalRenderNV((UInt32)id, (NvConditionalRender)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glBeginOcclusionQueryNV")]
-            public static 
-            void BeginOcclusionQuery(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginOcclusionQueryNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glBeginOcclusionQueryNV")]
-            public static 
-            void BeginOcclusionQuery(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginOcclusionQueryNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBeginTransformFeedbackNV")]
-            public static 
-            void BeginTransformFeedback(NvTransformFeedback primitiveMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBeginTransformFeedbackNV((NvTransformFeedback)primitiveMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferBaseNV")]
-            public static 
-            void BindBufferBase(NvTransformFeedback target, Int32 index, Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferBaseNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferBaseNV")]
-            public static 
-            void BindBufferBase(NvTransformFeedback target, UInt32 index, UInt32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferBaseNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferOffsetNV")]
-            public static 
-            void BindBufferOffset(NvTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferOffsetNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferOffsetNV")]
-            public static 
-            void BindBufferOffset(NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferOffsetNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferRangeNV")]
-            public static 
-            void BindBufferRange(NvTransformFeedback target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferRangeNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glBindBufferRangeNV")]
-            public static 
-            void BindBufferRange(NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindBufferRangeNV((NvTransformFeedback)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glBindProgramNV")]
-            public static 
-            void BindProgram(AssemblyProgramTargetArb target, Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindProgramNV((AssemblyProgramTargetArb)target, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glBindProgramNV")]
-            public static 
-            void BindProgram(AssemblyProgramTargetArb target, UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindProgramNV((AssemblyProgramTargetArb)target, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glBindTransformFeedbackNV")]
-            public static 
-            void BindTransformFeedback(NvTransformFeedback2 target, Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindTransformFeedbackNV((NvTransformFeedback2)target, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glBindTransformFeedbackNV")]
-            public static 
-            void BindTransformFeedback(NvTransformFeedback2 target, UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glBindTransformFeedbackNV((NvTransformFeedback2)target, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify the clear value for the depth buffer
-        /// </summary>
-        /// <param name="depth">
-        /// <para>
-        /// Specifies the depth value used when the depth buffer is cleared. The initial value is 1.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvDepthBufferFloat", Version = "2.0", EntryPoint = "glClearDepthdNV")]
-            public static 
-            void ClearDepth(Double depth)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glClearDepthdNV((Double)depth);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hNV")]
-            public static 
-            void Color3h(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor3hNV((OpenTK.Half)red, (OpenTK.Half)green, (OpenTK.Half)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hvNV")]
-            public static 
-            unsafe void Color3h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor3hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hvNV")]
-            public static 
-            void Color3h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glColor3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor3hvNV")]
-            public static 
-            void Color3h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glColor3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hNV")]
-            public static 
-            void Color4h(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue, OpenTK.Half alpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4hNV((OpenTK.Half)red, (OpenTK.Half)green, (OpenTK.Half)blue, (OpenTK.Half)alpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hvNV")]
-            public static 
-            unsafe void Color4h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hvNV")]
-            public static 
-            void Color4h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glColor4hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glColor4hvNV")]
-            public static 
-            void Color4h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glColor4hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerInputNV")]
-            public static 
-            void CombinerInput(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners input, NvRegisterCombiners mapping, NvRegisterCombiners componentUsage)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerInputNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)input, (NvRegisterCombiners)mapping, (NvRegisterCombiners)componentUsage);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerOutputNV")]
-            public static 
-            void CombinerOutput(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners abOutput, NvRegisterCombiners cdOutput, NvRegisterCombiners sumOutput, NvRegisterCombiners scale, NvRegisterCombiners bias, bool abDotProduct, bool cdDotProduct, bool muxSum)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerOutputNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)abOutput, (NvRegisterCombiners)cdOutput, (NvRegisterCombiners)sumOutput, (NvRegisterCombiners)scale, (NvRegisterCombiners)bias, (bool)abDotProduct, (bool)cdDotProduct, (bool)muxSum);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterfNV")]
-            public static 
-            void CombinerParameter(NvRegisterCombiners pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerParameterfNV((NvRegisterCombiners)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterfvNV")]
-            public static 
-            unsafe void CombinerParameter(NvRegisterCombiners pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerParameterfvNV((NvRegisterCombiners)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterfvNV")]
-            public static 
-            void CombinerParameter(NvRegisterCombiners pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glCombinerParameterfvNV((NvRegisterCombiners)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameteriNV")]
-            public static 
-            void CombinerParameter(NvRegisterCombiners pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerParameteriNV((NvRegisterCombiners)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterivNV")]
-            public static 
-            unsafe void CombinerParameter(NvRegisterCombiners pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerParameterivNV((NvRegisterCombiners)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glCombinerParameterivNV")]
-            public static 
-            void CombinerParameter(NvRegisterCombiners pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glCombinerParameterivNV((NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glCombinerStageParameterfvNV")]
-            public static 
-            void CombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glCombinerStageParameterfvNV")]
-            public static 
-            unsafe void CombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glCombinerStageParameterfvNV")]
-            public static 
-            void CombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")]
-            public static 
-            unsafe void DeleteFences(Int32 n, Int32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")]
-            public static 
-            void DeleteFences(Int32 n, Int32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = fences)
-                    {
-                        Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")]
-            public static 
-            void DeleteFences(Int32 n, ref Int32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = &fences)
-                    {
-                        Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")]
-            public static 
-            void DeleteFences(Int32 n, ref UInt32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = &fences)
-                    {
-                        Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")]
-            public static 
-            unsafe void DeleteFences(Int32 n, UInt32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glDeleteFencesNV")]
-            public static 
-            void DeleteFences(Int32 n, UInt32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = fences)
-                    {
-                        Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")]
-            public static 
-            unsafe void DeleteOcclusionQueries(Int32 n, Int32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")]
-            public static 
-            void DeleteOcclusionQueries(Int32 n, Int32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = ids)
-                    {
-                        Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")]
-            public static 
-            void DeleteOcclusionQueries(Int32 n, ref Int32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = &ids)
-                    {
-                        Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")]
-            public static 
-            void DeleteOcclusionQueries(Int32 n, ref UInt32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = &ids)
-                    {
-                        Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")]
-            public static 
-            unsafe void DeleteOcclusionQueries(Int32 n, UInt32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glDeleteOcclusionQueriesNV")]
-            public static 
-            void DeleteOcclusionQueries(Int32 n, UInt32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = ids)
-                    {
-                        Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")]
-            public static 
-            unsafe void DeleteProgram(Int32 n, Int32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")]
-            public static 
-            void DeleteProgram(Int32 n, Int32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = programs)
-                    {
-                        Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")]
-            public static 
-            void DeleteProgram(Int32 n, ref Int32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = &programs)
-                    {
-                        Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")]
-            public static 
-            void DeleteProgram(Int32 n, ref UInt32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = &programs)
-                    {
-                        Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")]
-            public static 
-            unsafe void DeleteProgram(Int32 n, UInt32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Deletes a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be deleted.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glDeleteProgramsNV")]
-            public static 
-            void DeleteProgram(Int32 n, UInt32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = programs)
-                    {
-                        Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")]
-            public static 
-            unsafe void DeleteTransformFeedback(Int32 n, Int32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")]
-            public static 
-            void DeleteTransformFeedback(Int32 n, Int32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = ids)
-                    {
-                        Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")]
-            public static 
-            void DeleteTransformFeedback(Int32 n, ref Int32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = &ids)
-                    {
-                        Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")]
-            public static 
-            void DeleteTransformFeedback(Int32 n, ref UInt32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = &ids)
-                    {
-                        Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")]
-            public static 
-            unsafe void DeleteTransformFeedback(Int32 n, UInt32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDeleteTransformFeedbacksNV")]
-            public static 
-            void DeleteTransformFeedback(Int32 n, UInt32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = ids)
-                    {
-                        Delegates.glDeleteTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvDepthBufferFloat", Version = "2.0", EntryPoint = "glDepthBoundsdNV")]
-            public static 
-            void DepthBounds(Double zmin, Double zmax)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDepthBoundsdNV((Double)zmin, (Double)zmax);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify mapping of depth values from normalized device coordinates to window coordinates
-        /// </summary>
-        /// <param name="nearVal">
-        /// <para>
-        /// Specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="farVal">
-        /// <para>
-        /// Specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvDepthBufferFloat", Version = "2.0", EntryPoint = "glDepthRangedNV")]
-            public static 
-            void DepthRange(Double zNear, Double zFar)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDepthRangedNV((Double)zNear, (Double)zFar);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDrawTransformFeedbackNV")]
-            public static 
-            void DrawTransformFeedback(NvTransformFeedback2 mode, Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawTransformFeedbackNV((NvTransformFeedback2)mode, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glDrawTransformFeedbackNV")]
-            public static 
-            void DrawTransformFeedback(NvTransformFeedback2 mode, UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawTransformFeedbackNV((NvTransformFeedback2)mode, (UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvConditionalRender", Version = "", EntryPoint = "glEndConditionalRenderNV")]
-            public static 
-            void EndConditionalRender()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndConditionalRenderNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glEndOcclusionQueryNV")]
-            public static 
-            void EndOcclusionQuery()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndOcclusionQueryNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glEndTransformFeedbackNV")]
-            public static 
-            void EndTransformFeedback()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEndTransformFeedbackNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glEvalMapsNV")]
-            public static 
-            void EvalMap(NvEvaluators target, NvEvaluators mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glEvalMapsNV((NvEvaluators)target, (NvEvaluators)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")]
-            public static 
-            void ExecuteProgram(AssemblyProgramTargetArb target, Int32 id, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")]
-            public static 
-            unsafe void ExecuteProgram(AssemblyProgramTargetArb target, Int32 id, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")]
-            public static 
-            void ExecuteProgram(AssemblyProgramTargetArb target, Int32 id, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")]
-            public static 
-            void ExecuteProgram(AssemblyProgramTargetArb target, UInt32 id, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")]
-            public static 
-            unsafe void ExecuteProgram(AssemblyProgramTargetArb target, UInt32 id, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glExecuteProgramNV")]
-            public static 
-            void ExecuteProgram(AssemblyProgramTargetArb target, UInt32 id, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glExecuteProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glFinalCombinerInputNV")]
-            public static 
-            void FinalCombinerInput(NvRegisterCombiners variable, NvRegisterCombiners input, NvRegisterCombiners mapping, NvRegisterCombiners componentUsage)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinalCombinerInputNV((NvRegisterCombiners)variable, (NvRegisterCombiners)input, (NvRegisterCombiners)mapping, (NvRegisterCombiners)componentUsage);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glFinishFenceNV")]
-            public static 
-            void FinishFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinishFenceNV((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glFinishFenceNV")]
-            public static 
-            void FinishFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinishFenceNV((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glFlushPixelDataRangeNV")]
-            public static 
-            void FlushPixelDataRange(NvPixelDataRange target)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFlushPixelDataRangeNV((NvPixelDataRange)target);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glFlushVertexArrayRangeNV")]
-            public static 
-            void FlushVertexArrayRange()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFlushVertexArrayRangeNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glFogCoordhNV")]
-            public static 
-            void FogCoordh(OpenTK.Half fog)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoordhNV((OpenTK.Half)fog);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glFogCoordhvNV")]
-            public static 
-            unsafe void FogCoordh(OpenTK.Half* fog)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogCoordhvNV((OpenTK.Half*)fog);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")]
-            public static 
-            unsafe void GenFences(Int32 n, [Out] Int32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenFencesNV((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")]
-            public static 
-            void GenFences(Int32 n, [Out] Int32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = fences)
-                    {
-                        Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")]
-            public static 
-            void GenFences(Int32 n, [Out] out Int32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* fences_ptr = &fences)
-                    {
-                        Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                        fences = *fences_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")]
-            public static 
-            void GenFences(Int32 n, [Out] out UInt32 fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = &fences)
-                    {
-                        Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                        fences = *fences_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")]
-            public static 
-            unsafe void GenFences(Int32 n, [Out] UInt32* fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenFencesNV((Int32)n, (UInt32*)fences);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGenFencesNV")]
-            public static 
-            void GenFences(Int32 n, [Out] UInt32[] fences)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* fences_ptr = fences)
-                    {
-                        Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")]
-            public static 
-            unsafe void GenOcclusionQueries(Int32 n, [Out] Int32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")]
-            public static 
-            void GenOcclusionQueries(Int32 n, [Out] Int32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = ids)
-                    {
-                        Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")]
-            public static 
-            void GenOcclusionQueries(Int32 n, [Out] out Int32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = &ids)
-                    {
-                        Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                        ids = *ids_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")]
-            public static 
-            void GenOcclusionQueries(Int32 n, [Out] out UInt32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = &ids)
-                    {
-                        Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                        ids = *ids_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")]
-            public static 
-            unsafe void GenOcclusionQueries(Int32 n, [Out] UInt32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGenOcclusionQueriesNV")]
-            public static 
-            void GenOcclusionQueries(Int32 n, [Out] UInt32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = ids)
-                    {
-                        Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")]
-            public static 
-            unsafe void GenProgram(Int32 n, [Out] Int32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")]
-            public static 
-            void GenProgram(Int32 n, [Out] Int32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = programs)
-                    {
-                        Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")]
-            public static 
-            void GenProgram(Int32 n, [Out] out Int32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = &programs)
-                    {
-                        Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                        programs = *programs_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")]
-            public static 
-            void GenProgram(Int32 n, [Out] out UInt32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = &programs)
-                    {
-                        Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                        programs = *programs_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")]
-            public static 
-            unsafe void GenProgram(Int32 n, [Out] UInt32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGenProgramsNV")]
-            public static 
-            void GenProgram(Int32 n, [Out] UInt32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = programs)
-                    {
-                        Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")]
-            public static 
-            unsafe void GenTransformFeedback(Int32 n, [Out] Int32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")]
-            public static 
-            void GenTransformFeedback(Int32 n, [Out] Int32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = ids)
-                    {
-                        Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")]
-            public static 
-            void GenTransformFeedback(Int32 n, [Out] out Int32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* ids_ptr = &ids)
-                    {
-                        Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                        ids = *ids_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")]
-            public static 
-            void GenTransformFeedback(Int32 n, [Out] out UInt32 ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = &ids)
-                    {
-                        Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                        ids = *ids_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")]
-            public static 
-            unsafe void GenTransformFeedback(Int32 n, [Out] UInt32* ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glGenTransformFeedbacksNV")]
-            public static 
-            void GenTransformFeedback(Int32 n, [Out] UInt32[] ids)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* ids_ptr = ids)
-                    {
-                        Delegates.glGenTransformFeedbacksNV((Int32)n, (UInt32*)ids_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")]
-            public static 
-            unsafe void GetActiveVarying(Int32 program, Int32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] NvTransformFeedback* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (NvTransformFeedback*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")]
-            public static 
-            void GetActiveVarying(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out NvTransformFeedback type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (NvTransformFeedback* type_ptr = &type)
-                    {
-                        Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (NvTransformFeedback*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")]
-            public static 
-            unsafe void GetActiveVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] NvTransformFeedback* type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (NvTransformFeedback*)type, (System.Text.StringBuilder)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetActiveVaryingNV")]
-            public static 
-            void GetActiveVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out NvTransformFeedback type, [Out] System.Text.StringBuilder name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* length_ptr = &length)
-                    fixed (Int32* size_ptr = &size)
-                    fixed (NvTransformFeedback* type_ptr = &type)
-                    {
-                        Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (NvTransformFeedback*)type_ptr, (System.Text.StringBuilder)name);
-                        length = *length_ptr;
-                        size = *size_ptr;
-                        type = *type_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterfvNV")]
-            public static 
-            void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetCombinerInputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterfvNV")]
-            public static 
-            unsafe void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCombinerInputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterfvNV")]
-            public static 
-            void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetCombinerInputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterivNV")]
-            public static 
-            unsafe void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCombinerInputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterivNV")]
-            public static 
-            void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetCombinerInputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerInputParameterivNV")]
-            public static 
-            void GetCombinerInputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetCombinerInputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterfvNV")]
-            public static 
-            void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetCombinerOutputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterfvNV")]
-            public static 
-            unsafe void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCombinerOutputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterfvNV")]
-            public static 
-            void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetCombinerOutputParameterfvNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterivNV")]
-            public static 
-            unsafe void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCombinerOutputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterivNV")]
-            public static 
-            void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetCombinerOutputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetCombinerOutputParameterivNV")]
-            public static 
-            void GetCombinerOutputParameter(NvRegisterCombiners stage, NvRegisterCombiners portion, NvRegisterCombiners pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetCombinerOutputParameterivNV((NvRegisterCombiners)stage, (NvRegisterCombiners)portion, (NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glGetCombinerStageParameterfvNV")]
-            public static 
-            void GetCombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glGetCombinerStageParameterfvNV")]
-            public static 
-            unsafe void GetCombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners2", Version = "1.1", EntryPoint = "glGetCombinerStageParameterfvNV")]
-            public static 
-            void GetCombinerStageParameter(NvRegisterCombiners2 stage, NvRegisterCombiners2 pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetCombinerStageParameterfvNV((NvRegisterCombiners2)stage, (NvRegisterCombiners2)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")]
-            public static 
-            unsafe void GetFence(Int32 fence, NvFence pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")]
-            public static 
-            void GetFence(Int32 fence, NvFence pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")]
-            public static 
-            void GetFence(Int32 fence, NvFence pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")]
-            public static 
-            unsafe void GetFence(UInt32 fence, NvFence pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")]
-            public static 
-            void GetFence(UInt32 fence, NvFence pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glGetFenceivNV")]
-            public static 
-            void GetFence(UInt32 fence, NvFence pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFenceivNV((UInt32)fence, (NvFence)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterfvNV")]
-            public static 
-            void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFinalCombinerInputParameterfvNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterfvNV")]
-            public static 
-            unsafe void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFinalCombinerInputParameterfvNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterfvNV")]
-            public static 
-            void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetFinalCombinerInputParameterfvNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterivNV")]
-            public static 
-            unsafe void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFinalCombinerInputParameterivNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterivNV")]
-            public static 
-            void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFinalCombinerInputParameterivNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvRegisterCombiners", Version = "1.1", EntryPoint = "glGetFinalCombinerInputParameterivNV")]
-            public static 
-            void GetFinalCombinerInputParameter(NvRegisterCombiners variable, NvRegisterCombiners pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFinalCombinerInputParameterivNV((NvRegisterCombiners)variable, (NvRegisterCombiners)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")]
-            public static 
-            unsafe void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")]
-            public static 
-            unsafe void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterfvNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMapAttribParameterfvNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")]
-            public static 
-            unsafe void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, Int32 index, NvEvaluators pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")]
-            public static 
-            unsafe void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapAttribParameterivNV")]
-            public static 
-            void GetMapAttribParameter(NvEvaluators target, UInt32 index, NvEvaluators pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMapAttribParameterivNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] ref T6 points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,,] points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,] points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[] points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] ref T6 points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,,] points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[,] points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints<T6>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [In, Out] T6[] points)
-                where T6 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapControlPointsNV")]
-            public static 
-            void GetMapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (bool)packed, (IntPtr)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterfvNV")]
-            public static 
-            void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterfvNV")]
-            public static 
-            unsafe void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterfvNV")]
-            public static 
-            void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterivNV")]
-            public static 
-            unsafe void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterivNV")]
-            public static 
-            void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glGetMapParameterivNV")]
-            public static 
-            void GetMapParameter(NvEvaluators target, NvEvaluators pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")]
-            public static 
-            void GetMultisample(NvExplicitMultisample pname, Int32 index, [Out] out Single val)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* val_ptr = &val)
-                    {
-                        Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                        val = *val_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")]
-            public static 
-            unsafe void GetMultisample(NvExplicitMultisample pname, Int32 index, [Out] Single* val)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")]
-            public static 
-            void GetMultisample(NvExplicitMultisample pname, Int32 index, [Out] Single[] val)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* val_ptr = val)
-                    {
-                        Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")]
-            public static 
-            void GetMultisample(NvExplicitMultisample pname, UInt32 index, [Out] out Single val)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* val_ptr = &val)
-                    {
-                        Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                        val = *val_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")]
-            public static 
-            unsafe void GetMultisample(NvExplicitMultisample pname, UInt32 index, [Out] Single* val)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glGetMultisamplefvNV")]
-            public static 
-            void GetMultisample(NvExplicitMultisample pname, UInt32 index, [Out] Single[] val)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* val_ptr = val)
-                    {
-                        Delegates.glGetMultisamplefvNV((NvExplicitMultisample)pname, (UInt32)index, (Single*)val_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")]
-            public static 
-            unsafe void GetOcclusionQuery(Int32 id, NvOcclusionQuery pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")]
-            public static 
-            void GetOcclusionQuery(Int32 id, NvOcclusionQuery pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")]
-            public static 
-            void GetOcclusionQuery(Int32 id, NvOcclusionQuery pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")]
-            public static 
-            unsafe void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")]
-            public static 
-            void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryivNV")]
-            public static 
-            void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetOcclusionQueryivNV((UInt32)id, (NvOcclusionQuery)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryuivNV")]
-            public static 
-            void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetOcclusionQueryuivNV((UInt32)id, (NvOcclusionQuery)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryuivNV")]
-            public static 
-            unsafe void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetOcclusionQueryuivNV((UInt32)id, (NvOcclusionQuery)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glGetOcclusionQueryuivNV")]
-            public static 
-            void GetOcclusionQuery(UInt32 id, NvOcclusionQuery pname, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetOcclusionQueryuivNV((UInt32)id, (NvOcclusionQuery)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")]
-            public static 
-            unsafe void GetProgramEnvParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")]
-            public static 
-            void GetProgramEnvParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")]
-            public static 
-            void GetProgramEnvParameterI(NvGpuProgram4 target, Int32 index, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")]
-            public static 
-            unsafe void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")]
-            public static 
-            void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIivNV")]
-            public static 
-            void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIuivNV")]
-            public static 
-            void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramEnvParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIuivNV")]
-            public static 
-            unsafe void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramEnvParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramEnvParameterIuivNV")]
-            public static 
-            void GetProgramEnvParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramEnvParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")]
-            public static 
-            unsafe void GetProgram(Int32 id, NvVertexProgram pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")]
-            public static 
-            void GetProgram(Int32 id, NvVertexProgram pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")]
-            public static 
-            void GetProgram(Int32 id, NvVertexProgram pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")]
-            public static 
-            unsafe void GetProgram(UInt32 id, NvVertexProgram pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")]
-            public static 
-            void GetProgram(UInt32 id, NvVertexProgram pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Returns a parameter from a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies the program object to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the object parameter. Accepted symbolic names are GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested object parameter.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramivNV")]
-            public static 
-            void GetProgram(UInt32 id, NvVertexProgram pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramivNV((UInt32)id, (NvVertexProgram)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")]
-            public static 
-            unsafe void GetProgramLocalParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")]
-            public static 
-            void GetProgramLocalParameterI(NvGpuProgram4 target, Int32 index, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")]
-            public static 
-            void GetProgramLocalParameterI(NvGpuProgram4 target, Int32 index, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")]
-            public static 
-            unsafe void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")]
-            public static 
-            void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIivNV")]
-            public static 
-            void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterIivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIuivNV")]
-            public static 
-            void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramLocalParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIuivNV")]
-            public static 
-            unsafe void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramLocalParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glGetProgramLocalParameterIuivNV")]
-            public static 
-            void GetProgramLocalParameterI(NvGpuProgram4 target, UInt32 index, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramLocalParameterIuivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")]
-            public static 
-            void GetProgramNamedParameter(Int32 id, Int32 len, ref Byte name, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterdvNV")]
-            public static 
-            void GetProgramNamedParameter(UInt32 id, Int32 len, ref Byte name, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(Int32 id, Int32 len, Byte* name, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")]
-            public static 
-            void GetProgramNamedParameter(Int32 id, Int32 len, ref Byte name, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")]
-            public static 
-            unsafe void GetProgramNamedParameter(UInt32 id, Int32 len, Byte* name, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glGetProgramNamedParameterfvNV")]
-            public static 
-            void GetProgramNamedParameter(UInt32 id, Int32 len, ref Byte name, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")]
-            public static 
-            unsafe void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")]
-            public static 
-            unsafe void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Double[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterdvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramParameterdvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")]
-            public static 
-            unsafe void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, Int32 index, AssemblyProgramParameterArb pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")]
-            public static 
-            unsafe void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramParameterfvNV")]
-            public static 
-            void GetProgramParameter(AssemblyProgramTargetArb target, UInt32 index, AssemblyProgramParameterArb pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetProgramParameterfvNV((AssemblyProgramTargetArb)target, (UInt32)index, (AssemblyProgramParameterArb)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")]
-            public static 
-            unsafe void GetProgramString(Int32 id, NvVertexProgram pname, [Out] Byte* program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")]
-            public static 
-            void GetProgramString(Int32 id, NvVertexProgram pname, [Out] Byte[] program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = program)
-                    {
-                        Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")]
-            public static 
-            void GetProgramString(Int32 id, NvVertexProgram pname, [Out] out Byte program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = &program)
-                    {
-                        Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr);
-                        program = *program_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")]
-            public static 
-            unsafe void GetProgramString(UInt32 id, NvVertexProgram pname, [Out] Byte* program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")]
-            public static 
-            void GetProgramString(UInt32 id, NvVertexProgram pname, [Out] Byte[] program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = program)
-                    {
-                        Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetProgramStringNV")]
-            public static 
-            void GetProgramString(UInt32 id, NvVertexProgram pname, [Out] out Byte program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = &program)
-                    {
-                        Delegates.glGetProgramStringNV((UInt32)id, (NvVertexProgram)pname, (Byte*)program_ptr);
-                        program = *program_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")]
-            public static 
-            unsafe void GetTrackMatrix(AssemblyProgramTargetArb target, Int32 address, AssemblyProgramParameterArb pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")]
-            public static 
-            void GetTrackMatrix(AssemblyProgramTargetArb target, Int32 address, AssemblyProgramParameterArb pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")]
-            public static 
-            unsafe void GetTrackMatrix(AssemblyProgramTargetArb target, UInt32 address, AssemblyProgramParameterArb pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetTrackMatrixivNV")]
-            public static 
-            void GetTrackMatrix(AssemblyProgramTargetArb target, UInt32 address, AssemblyProgramParameterArb pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetTrackMatrixivNV((AssemblyProgramTargetArb)target, (UInt32)address, (AssemblyProgramParameterArb)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")]
-            public static 
-            unsafe void GetTransformFeedbackVarying(Int32 program, Int32 index, [Out] Int32* location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")]
-            public static 
-            void GetTransformFeedbackVarying(Int32 program, Int32 index, [Out] out Int32 location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* location_ptr = &location)
-                    {
-                        Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr);
-                        location = *location_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")]
-            public static 
-            unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, [Out] Int32* location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetTransformFeedbackVaryingNV")]
-            public static 
-            void GetTransformFeedbackVarying(UInt32 program, UInt32 index, [Out] out Int32 location)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* location_ptr = &location)
-                    {
-                        Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr);
-                        location = *location_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetVaryingLocationNV")]
-            public static 
-            Int32 GetVaryingLocation(Int32 program, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetVaryingLocationNV((UInt32)program, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glGetVaryingLocationNV")]
-            public static 
-            Int32 GetVaryingLocation(UInt32 program, String name)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetVaryingLocationNV((UInt32)program, (String)name);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")]
-            public static 
-            unsafe void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")]
-            public static 
-            void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")]
-            public static 
-            unsafe void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] Double* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribdvNV")]
-            public static 
-            void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] out Double @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribdvNV((UInt32)index, (NvVertexProgram)pname, (Double*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")]
-            public static 
-            void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")]
-            public static 
-            unsafe void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")]
-            public static 
-            void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribfvNV")]
-            public static 
-            unsafe void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribfvNV((UInt32)index, (NvVertexProgram)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")]
-            public static 
-            unsafe void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")]
-            public static 
-            void GetVertexAttrib(Int32 index, NvVertexProgram pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")]
-            public static 
-            unsafe void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Return a generic vertex attribute parameter
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the generic vertex attribute parameter to be queried.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies the symbolic name of the vertex attribute parameter to be queried. Accepted values are GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, GL_VERTEX_ATTRIB_ARRAY_ENABLED, GL_VERTEX_ATTRIB_ARRAY_SIZE, GL_VERTEX_ATTRIB_ARRAY_STRIDE, GL_VERTEX_ATTRIB_ARRAY_TYPE, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, or GL_CURRENT_VERTEX_ATTRIB.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// Returns the requested data.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribivNV")]
-            public static 
-            void GetVertexAttrib(UInt32 index, NvVertexProgram pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVertexAttribivNV((UInt32)index, (NvVertexProgram)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, NvVertexProgram pname, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, NvVertexProgram pname, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, NvVertexProgram pname, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(Int32 index, NvVertexProgram pname, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer(Int32 index, NvVertexProgram pname, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, NvVertexProgram pname, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, NvVertexProgram pname, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, NvVertexProgram pname, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer<T2>(UInt32 index, NvVertexProgram pname, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glGetVertexAttribPointervNV")]
-            public static 
-            void GetVertexAttribPointer(UInt32 index, NvVertexProgram pname, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVertexAttribPointervNV((UInt32)index, (NvVertexProgram)pname, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")]
-            public static 
-            unsafe void GetVideoi64(Int32 video_slot, NvPresentVideo pname, [Out] Int64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")]
-            public static 
-            void GetVideoi64(Int32 video_slot, NvPresentVideo pname, [Out] Int64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")]
-            public static 
-            void GetVideoi64(Int32 video_slot, NvPresentVideo pname, [Out] out Int64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")]
-            public static 
-            unsafe void GetVideoi64(UInt32 video_slot, NvPresentVideo pname, [Out] Int64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")]
-            public static 
-            void GetVideoi64(UInt32 video_slot, NvPresentVideo pname, [Out] Int64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoi64vNV")]
-            public static 
-            void GetVideoi64(UInt32 video_slot, NvPresentVideo pname, [Out] out Int64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideoi64vNV((UInt32)video_slot, (NvPresentVideo)pname, (Int64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")]
-            public static 
-            unsafe void GetVideo(Int32 video_slot, NvPresentVideo pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")]
-            public static 
-            void GetVideo(Int32 video_slot, NvPresentVideo pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")]
-            public static 
-            void GetVideo(Int32 video_slot, NvPresentVideo pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")]
-            public static 
-            unsafe void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")]
-            public static 
-            void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoivNV")]
-            public static 
-            void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideoivNV((UInt32)video_slot, (NvPresentVideo)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")]
-            public static 
-            unsafe void GetVideoui64(Int32 video_slot, NvPresentVideo pname, [Out] Int64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")]
-            public static 
-            void GetVideoui64(Int32 video_slot, NvPresentVideo pname, [Out] Int64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")]
-            public static 
-            void GetVideoui64(Int32 video_slot, NvPresentVideo pname, [Out] out Int64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")]
-            public static 
-            void GetVideoui64(UInt32 video_slot, NvPresentVideo pname, [Out] out UInt64 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt64* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")]
-            public static 
-            unsafe void GetVideoui64(UInt32 video_slot, NvPresentVideo pname, [Out] UInt64* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideoui64vNV")]
-            public static 
-            void GetVideoui64(UInt32 video_slot, NvPresentVideo pname, [Out] UInt64[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt64* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideoui64vNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt64*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideouivNV")]
-            public static 
-            void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] out UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetVideouivNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideouivNV")]
-            public static 
-            unsafe void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetVideouivNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glGetVideouivNV")]
-            public static 
-            void GetVideo(UInt32 video_slot, NvPresentVideo pname, [Out] UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glGetVideouivNV((UInt32)video_slot, (NvPresentVideo)pname, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glIsFenceNV")]
-            public static 
-            bool IsFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsFenceNV((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glIsFenceNV")]
-            public static 
-            bool IsFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsFenceNV((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glIsOcclusionQueryNV")]
-            public static 
-            bool IsOcclusionQuery(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsOcclusionQueryNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvOcclusionQuery", Version = "1.2", EntryPoint = "glIsOcclusionQueryNV")]
-            public static 
-            bool IsOcclusionQuery(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsOcclusionQueryNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determines if a name corresponds to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies a potential program object.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glIsProgramNV")]
-            public static 
-            bool IsProgram(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsProgramNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Determines if a name corresponds to a program object
-        /// </summary>
-        /// <param name="program">
-        /// <para>
-        /// Specifies a potential program object.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glIsProgramNV")]
-            public static 
-            bool IsProgram(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsProgramNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glIsTransformFeedbackNV")]
-            public static 
-            bool IsTransformFeedback(Int32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsTransformFeedbackNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glIsTransformFeedbackNV")]
-            public static 
-            bool IsTransformFeedback(UInt32 id)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsTransformFeedbackNV((UInt32)id);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")]
-            public static 
-            unsafe void LoadProgram(AssemblyProgramTargetArb target, Int32 id, Int32 len, Byte* program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")]
-            public static 
-            void LoadProgram(AssemblyProgramTargetArb target, Int32 id, Int32 len, Byte[] program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = program)
-                    {
-                        Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")]
-            public static 
-            void LoadProgram(AssemblyProgramTargetArb target, Int32 id, Int32 len, ref Byte program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = &program)
-                    {
-                        Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")]
-            public static 
-            unsafe void LoadProgram(AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte* program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")]
-            public static 
-            void LoadProgram(AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte[] program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = program)
-                    {
-                        Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glLoadProgramNV")]
-            public static 
-            void LoadProgram(AssemblyProgramTargetArb target, UInt32 id, Int32 len, ref Byte program)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* program_ptr = &program)
-                    {
-                        Delegates.glLoadProgramNV((AssemblyProgramTargetArb)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] ref T8 points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,,] points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,] points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[] points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints(NvEvaluators target, Int32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] ref T8 points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,,] points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[,] points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints<T8>(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, [In, Out] T8[] points)
-                where T8 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle points_ptr = GCHandle.Alloc(points, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapControlPointsNV")]
-            public static 
-            void MapControlPoints(NvEvaluators target, UInt32 index, NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapControlPointsNV((NvEvaluators)target, (UInt32)index, (NvEvaluators)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (bool)packed, (IntPtr)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterfvNV")]
-            public static 
-            void MapParameter(NvEvaluators target, NvEvaluators pname, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterfvNV")]
-            public static 
-            unsafe void MapParameter(NvEvaluators target, NvEvaluators pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterfvNV")]
-            public static 
-            void MapParameter(NvEvaluators target, NvEvaluators pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glMapParameterfvNV((NvEvaluators)target, (NvEvaluators)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterivNV")]
-            public static 
-            unsafe void MapParameter(NvEvaluators target, NvEvaluators pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterivNV")]
-            public static 
-            void MapParameter(NvEvaluators target, NvEvaluators pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvEvaluators", Version = "1.1", EntryPoint = "glMapParameterivNV")]
-            public static 
-            void MapParameter(NvEvaluators target, NvEvaluators pname, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glMapParameterivNV((NvEvaluators)target, (NvEvaluators)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord1hNV")]
-            public static 
-            void MultiTexCoord1h(TextureUnit target, OpenTK.Half s)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1hNV((TextureUnit)target, (OpenTK.Half)s);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord1hvNV")]
-            public static 
-            unsafe void MultiTexCoord1h(TextureUnit target, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord1hvNV((TextureUnit)target, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hNV")]
-            public static 
-            void MultiTexCoord2h(TextureUnit target, OpenTK.Half s, OpenTK.Half t)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2hNV((TextureUnit)target, (OpenTK.Half)s, (OpenTK.Half)t);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hvNV")]
-            public static 
-            unsafe void MultiTexCoord2h(TextureUnit target, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord2hvNV((TextureUnit)target, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hvNV")]
-            public static 
-            void MultiTexCoord2h(TextureUnit target, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord2hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord2hvNV")]
-            public static 
-            void MultiTexCoord2h(TextureUnit target, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord2hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hNV")]
-            public static 
-            void MultiTexCoord3h(TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3hNV((TextureUnit)target, (OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hvNV")]
-            public static 
-            unsafe void MultiTexCoord3h(TextureUnit target, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord3hvNV((TextureUnit)target, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hvNV")]
-            public static 
-            void MultiTexCoord3h(TextureUnit target, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord3hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord3hvNV")]
-            public static 
-            void MultiTexCoord3h(TextureUnit target, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord3hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hNV")]
-            public static 
-            void MultiTexCoord4h(TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4hNV((TextureUnit)target, (OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r, (OpenTK.Half)q);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hvNV")]
-            public static 
-            unsafe void MultiTexCoord4h(TextureUnit target, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glMultiTexCoord4hvNV((TextureUnit)target, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hvNV")]
-            public static 
-            void MultiTexCoord4h(TextureUnit target, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glMultiTexCoord4hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glMultiTexCoord4hvNV")]
-            public static 
-            void MultiTexCoord4h(TextureUnit target, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glMultiTexCoord4hvNV((TextureUnit)target, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hNV")]
-            public static 
-            void Normal3h(OpenTK.Half nx, OpenTK.Half ny, OpenTK.Half nz)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormal3hNV((OpenTK.Half)nx, (OpenTK.Half)ny, (OpenTK.Half)nz);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hvNV")]
-            public static 
-            unsafe void Normal3h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormal3hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hvNV")]
-            public static 
-            void Normal3h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glNormal3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glNormal3hvNV")]
-            public static 
-            void Normal3h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glNormal3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glPauseTransformFeedbackNV")]
-            public static 
-            void PauseTransformFeedback()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPauseTransformFeedbackNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")]
-            public static 
-            void PixelDataRange<T2>(NvPixelDataRange target, Int32 length, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")]
-            public static 
-            void PixelDataRange<T2>(NvPixelDataRange target, Int32 length, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")]
-            public static 
-            void PixelDataRange<T2>(NvPixelDataRange target, Int32 length, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")]
-            public static 
-            void PixelDataRange<T2>(NvPixelDataRange target, Int32 length, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPixelDataRange", Version = "1.2", EntryPoint = "glPixelDataRangeNV")]
-            public static 
-            void PixelDataRange(NvPixelDataRange target, Int32 length, [Out] IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelDataRangeNV((NvPixelDataRange)target, (Int32)length, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvPointSprite", Version = "1.2", EntryPoint = "glPointParameteriNV")]
-            public static 
-            void PointParameter(NvPointSprite pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameteriNV((NvPointSprite)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPointSprite", Version = "1.2", EntryPoint = "glPointParameterivNV")]
-            public static 
-            unsafe void PointParameter(NvPointSprite pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterivNV((NvPointSprite)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvPointSprite", Version = "1.2", EntryPoint = "glPointParameterivNV")]
-            public static 
-            void PointParameter(NvPointSprite pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glPointParameterivNV((NvPointSprite)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameDualFillNV")]
-            public static 
-            void PresentFrameDualFill(Int32 video_slot, Int64 minPresentTime, Int32 beginPresentTimeId, Int32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, Int32 fill0, NvPresentVideo target1, Int32 fill1, NvPresentVideo target2, Int32 fill2, NvPresentVideo target3, Int32 fill3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPresentFrameDualFillNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (NvPresentVideo)target1, (UInt32)fill1, (NvPresentVideo)target2, (UInt32)fill2, (NvPresentVideo)target3, (UInt32)fill3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameDualFillNV")]
-            public static 
-            void PresentFrameDualFill(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, UInt32 fill0, NvPresentVideo target1, UInt32 fill1, NvPresentVideo target2, UInt32 fill2, NvPresentVideo target3, UInt32 fill3)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPresentFrameDualFillNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (NvPresentVideo)target1, (UInt32)fill1, (NvPresentVideo)target2, (UInt32)fill2, (NvPresentVideo)target3, (UInt32)fill3);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameKeyedNV")]
-            public static 
-            void PresentFrameKeye(Int32 video_slot, Int64 minPresentTime, Int32 beginPresentTimeId, Int32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, Int32 fill0, Int32 key0, NvPresentVideo target1, Int32 fill1, Int32 key1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPresentFrameKeyedNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (UInt32)key0, (NvPresentVideo)target1, (UInt32)fill1, (UInt32)key1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPresentVideo", Version = "1.2", EntryPoint = "glPresentFrameKeyedNV")]
-            public static 
-            void PresentFrameKeye(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, NvPresentVideo type, NvPresentVideo target0, UInt32 fill0, UInt32 key0, NvPresentVideo target1, UInt32 fill1, UInt32 key1)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPresentFrameKeyedNV((UInt32)video_slot, (UInt64)minPresentTime, (UInt32)beginPresentTimeId, (UInt32)presentDurationId, (NvPresentVideo)type, (NvPresentVideo)target0, (UInt32)fill0, (UInt32)key0, (NvPresentVideo)target1, (UInt32)fill1, (UInt32)key1);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPrimitiveRestart", Version = "1.2", EntryPoint = "glPrimitiveRestartIndexNV")]
-            public static 
-            void PrimitiveRestartIndex(Int32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPrimitiveRestartIndexNV((UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvPrimitiveRestart", Version = "1.2", EntryPoint = "glPrimitiveRestartIndexNV")]
-            public static 
-            void PrimitiveRestartIndex(UInt32 index)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPrimitiveRestartIndexNV((UInt32)index);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvPrimitiveRestart", Version = "1.2", EntryPoint = "glPrimitiveRestartNV")]
-            public static 
-            void PrimitiveRestart()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPrimitiveRestartNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")]
-            public static 
-            void ProgramBufferParameters(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")]
-            public static 
-            unsafe void ProgramBufferParameters(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")]
-            public static 
-            void ProgramBufferParameters(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")]
-            public static 
-            void ProgramBufferParameters(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")]
-            public static 
-            unsafe void ProgramBufferParameters(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersfvNV")]
-            public static 
-            void ProgramBufferParameters(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glProgramBufferParametersfvNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")]
-            public static 
-            unsafe void ProgramBufferParametersI(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")]
-            public static 
-            void ProgramBufferParametersI(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")]
-            public static 
-            void ProgramBufferParametersI(NvParameterBufferObject target, Int32 buffer, Int32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")]
-            public static 
-            unsafe void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")]
-            public static 
-            void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIivNV")]
-            public static 
-            void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramBufferParametersIivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIuivNV")]
-            public static 
-            void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramBufferParametersIuivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIuivNV")]
-            public static 
-            unsafe void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramBufferParametersIuivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvParameterBufferObject", Version = "1.2", EntryPoint = "glProgramBufferParametersIuivNV")]
-            public static 
-            void ProgramBufferParametersI(NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramBufferParametersIuivNV((NvParameterBufferObject)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4iNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4iNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")]
-            public static 
-            unsafe void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, Int32 index, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")]
-            public static 
-            unsafe void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4ivNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uiNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameterI4uiNV((NvGpuProgram4)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uivNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uivNV")]
-            public static 
-            unsafe void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParameterI4uivNV")]
-            public static 
-            void ProgramEnvParameterI4(NvGpuProgram4 target, UInt32 index, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")]
-            public static 
-            unsafe void ProgramEnvParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")]
-            public static 
-            void ProgramEnvParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")]
-            public static 
-            void ProgramEnvParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")]
-            public static 
-            unsafe void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")]
-            public static 
-            void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4ivNV")]
-            public static 
-            void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4uivNV")]
-            public static 
-            void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramEnvParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4uivNV")]
-            public static 
-            unsafe void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramEnvParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramEnvParametersI4uivNV")]
-            public static 
-            void ProgramEnvParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramEnvParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4iNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4iNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameterI4iNV((NvGpuProgram4)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")]
-            public static 
-            unsafe void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, Int32 index, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")]
-            public static 
-            unsafe void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4ivNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameterI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uiNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameterI4uiNV((NvGpuProgram4)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uivNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uivNV")]
-            public static 
-            unsafe void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParameterI4uivNV")]
-            public static 
-            void ProgramLocalParameterI4(NvGpuProgram4 target, UInt32 index, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParameterI4uivNV((NvGpuProgram4)target, (UInt32)index, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")]
-            public static 
-            unsafe void ProgramLocalParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")]
-            public static 
-            void ProgramLocalParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")]
-            public static 
-            void ProgramLocalParametersI4(NvGpuProgram4 target, Int32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")]
-            public static 
-            unsafe void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")]
-            public static 
-            void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4ivNV")]
-            public static 
-            void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParametersI4ivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4uivNV")]
-            public static 
-            void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, ref UInt32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = &@params)
-                    {
-                        Delegates.glProgramLocalParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4uivNV")]
-            public static 
-            unsafe void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramLocalParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvGpuProgram4", Version = "1.3", EntryPoint = "glProgramLocalParametersI4uivNV")]
-            public static 
-            void ProgramLocalParametersI4(NvGpuProgram4 target, UInt32 index, Int32 count, UInt32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* @params_ptr = @params)
-                    {
-                        Delegates.glProgramLocalParametersI4uivNV((NvGpuProgram4)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")]
-            public static 
-            void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    {
-                        Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dNV")]
-            public static 
-            void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    {
-                        Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")]
-            public static 
-            void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4dvNV")]
-            public static 
-            void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")]
-            public static 
-            void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    {
-                        Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fNV")]
-            public static 
-            void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    {
-                        Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(Int32 id, Int32 len, Byte* name, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")]
-            public static 
-            void ProgramNamedParameter4(Int32 id, Int32 len, ref Byte name, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")]
-            public static 
-            unsafe void ProgramNamedParameter4(UInt32 id, Int32 len, Byte* name, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFragmentProgram", Version = "1.2", EntryPoint = "glProgramNamedParameter4fvNV")]
-            public static 
-            void ProgramNamedParameter4(UInt32 id, Int32 len, ref Byte name, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* name_ptr = &name)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4dNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4dNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")]
-            public static 
-            unsafe void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")]
-            public static 
-            unsafe void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4dvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameter4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4fNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4fNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")]
-            public static 
-            unsafe void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")]
-            public static 
-            unsafe void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameter4fvNV")]
-            public static 
-            void ProgramParameter4(AssemblyProgramTargetArb target, UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glProgramParameter4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")]
-            public static 
-            unsafe void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")]
-            public static 
-            unsafe void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4dvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameters4dvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")]
-            public static 
-            unsafe void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, Int32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")]
-            public static 
-            unsafe void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glProgramParameters4fvNV")]
-            public static 
-            void ProgramParameters4(AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glProgramParameters4fvNV((AssemblyProgramTargetArb)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvGeometryProgram4", Version = "2.0", EntryPoint = "glProgramVertexLimitNV")]
-            public static 
-            void ProgramVertexLimit(NvGeometryProgram4 target, Int32 limit)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glProgramVertexLimitNV((NvGeometryProgram4)target, (Int32)limit);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFramebufferMultisampleCoverage", Version = "1.5", EntryPoint = "glRenderbufferStorageMultisampleCoverageNV")]
-            public static 
-            void RenderbufferStorageMultisampleCoverage(RenderbufferTarget target, Int32 coverageSamples, Int32 colorSamples, PixelInternalFormat internalformat, Int32 width, Int32 height)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glRenderbufferStorageMultisampleCoverageNV((RenderbufferTarget)target, (Int32)coverageSamples, (Int32)colorSamples, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")]
-            public static 
-            unsafe void RequestResidentProgram(Int32 n, Int32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")]
-            public static 
-            void RequestResidentProgram(Int32 n, Int32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = programs)
-                    {
-                        Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")]
-            public static 
-            void RequestResidentProgram(Int32 n, ref Int32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* programs_ptr = &programs)
-                    {
-                        Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")]
-            public static 
-            void RequestResidentProgram(Int32 n, ref UInt32 programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = &programs)
-                    {
-                        Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")]
-            public static 
-            unsafe void RequestResidentProgram(Int32 n, UInt32* programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glRequestResidentProgramsNV")]
-            public static 
-            void RequestResidentProgram(Int32 n, UInt32[] programs)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* programs_ptr = programs)
-                    {
-                        Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback2", Version = "", EntryPoint = "glResumeTransformFeedbackNV")]
-            public static 
-            void ResumeTransformFeedback()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glResumeTransformFeedbackNV();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glSampleMaskIndexedNV")]
-            public static 
-            void SampleMaskIndexed(Int32 index, Int32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleMaskIndexedNV((UInt32)index, (UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glSampleMaskIndexedNV")]
-            public static 
-            void SampleMaskIndexed(UInt32 index, UInt32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleMaskIndexedNV((UInt32)index, (UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hNV")]
-            public static 
-            void SecondaryColor3h(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3hNV((OpenTK.Half)red, (OpenTK.Half)green, (OpenTK.Half)blue);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hvNV")]
-            public static 
-            unsafe void SecondaryColor3h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSecondaryColor3hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hvNV")]
-            public static 
-            void SecondaryColor3h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glSecondaryColor3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glSecondaryColor3hvNV")]
-            public static 
-            void SecondaryColor3h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glSecondaryColor3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glSetFenceNV")]
-            public static 
-            void SetFence(Int32 fence, NvFence condition)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetFenceNV((UInt32)fence, (NvFence)condition);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glSetFenceNV")]
-            public static 
-            void SetFence(UInt32 fence, NvFence condition)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSetFenceNV((UInt32)fence, (NvFence)condition);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glTestFenceNV")]
-            public static 
-            bool TestFence(Int32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glTestFenceNV((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvFence", Version = "1.2", EntryPoint = "glTestFenceNV")]
-            public static 
-            bool TestFence(UInt32 fence)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glTestFenceNV((UInt32)fence);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord1hNV")]
-            public static 
-            void TexCoord1h(OpenTK.Half s)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord1hNV((OpenTK.Half)s);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord1hvNV")]
-            public static 
-            unsafe void TexCoord1h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord1hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hNV")]
-            public static 
-            void TexCoord2h(OpenTK.Half s, OpenTK.Half t)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2hNV((OpenTK.Half)s, (OpenTK.Half)t);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hvNV")]
-            public static 
-            unsafe void TexCoord2h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hvNV")]
-            public static 
-            void TexCoord2h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glTexCoord2hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord2hvNV")]
-            public static 
-            void TexCoord2h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord2hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hNV")]
-            public static 
-            void TexCoord3h(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord3hNV((OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hvNV")]
-            public static 
-            unsafe void TexCoord3h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord3hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hvNV")]
-            public static 
-            void TexCoord3h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glTexCoord3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord3hvNV")]
-            public static 
-            void TexCoord3h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hNV")]
-            public static 
-            void TexCoord4h(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord4hNV((OpenTK.Half)s, (OpenTK.Half)t, (OpenTK.Half)r, (OpenTK.Half)q);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hvNV")]
-            public static 
-            unsafe void TexCoord4h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord4hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hvNV")]
-            public static 
-            void TexCoord4h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glTexCoord4hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glTexCoord4hvNV")]
-            public static 
-            void TexCoord4h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord4hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glTexRenderbufferNV")]
-            public static 
-            void TexRenderbuffer(TextureTarget target, Int32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexRenderbufferNV((TextureTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvExplicitMultisample", Version = "", EntryPoint = "glTexRenderbufferNV")]
-            public static 
-            void TexRenderbuffer(TextureTarget target, UInt32 renderbuffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexRenderbufferNV((TextureTarget)target, (UInt32)renderbuffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glTrackMatrixNV")]
-            public static 
-            void TrackMatrix(AssemblyProgramTargetArb target, Int32 address, NvVertexProgram matrix, NvVertexProgram transform)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTrackMatrixNV((AssemblyProgramTargetArb)target, (UInt32)address, (NvVertexProgram)matrix, (NvVertexProgram)transform);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glTrackMatrixNV")]
-            public static 
-            void TrackMatrix(AssemblyProgramTargetArb target, UInt32 address, NvVertexProgram matrix, NvVertexProgram transform)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTrackMatrixNV((AssemblyProgramTargetArb)target, (UInt32)address, (NvVertexProgram)matrix, (NvVertexProgram)transform);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")]
-            public static 
-            unsafe void TransformFeedbackAttrib(Int32 count, Int32* attribs, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (NvTransformFeedback)bufferMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")]
-            public static 
-            void TransformFeedbackAttrib(Int32 count, Int32[] attribs, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* attribs_ptr = attribs)
-                    {
-                        Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")]
-            public static 
-            void TransformFeedbackAttrib(Int32 count, ref Int32 attribs, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* attribs_ptr = &attribs)
-                    {
-                        Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")]
-            public static 
-            unsafe void TransformFeedbackAttrib(UInt32 count, Int32* attribs, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (NvTransformFeedback)bufferMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")]
-            public static 
-            void TransformFeedbackAttrib(UInt32 count, Int32[] attribs, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* attribs_ptr = attribs)
-                    {
-                        Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackAttribsNV")]
-            public static 
-            void TransformFeedbackAttrib(UInt32 count, ref Int32 attribs, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* attribs_ptr = &attribs)
-                    {
-                        Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (NvTransformFeedback)bufferMode);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackVaryingsNV")]
-            public static 
-            void TransformFeedbackVaryings(Int32 program, Int32 count, String[] varyings, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (String[])varyings, (NvTransformFeedback)bufferMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvTransformFeedback", Version = "1.5", EntryPoint = "glTransformFeedbackVaryingsNV")]
-            public static 
-            void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, NvTransformFeedback bufferMode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (String[])varyings, (NvTransformFeedback)bufferMode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hNV")]
-            public static 
-            void Vertex2h(OpenTK.Half x, OpenTK.Half y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertex2hNV((OpenTK.Half)x, (OpenTK.Half)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hvNV")]
-            public static 
-            unsafe void Vertex2h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertex2hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hvNV")]
-            public static 
-            void Vertex2h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertex2hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex2hvNV")]
-            public static 
-            void Vertex2h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertex2hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hNV")]
-            public static 
-            void Vertex3h(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertex3hNV((OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hvNV")]
-            public static 
-            unsafe void Vertex3h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertex3hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hvNV")]
-            public static 
-            void Vertex3h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertex3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex3hvNV")]
-            public static 
-            void Vertex3h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertex3hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hNV")]
-            public static 
-            void Vertex4h(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertex4hNV((OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z, (OpenTK.Half)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hvNV")]
-            public static 
-            unsafe void Vertex4h(OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertex4hvNV((OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hvNV")]
-            public static 
-            void Vertex4h(OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertex4hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertex4hvNV")]
-            public static 
-            void Vertex4h(ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertex4hvNV((OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] ref T1 pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] T1[,,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] T1[,] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")]
-            public static 
-            void VertexArrayRange<T1>(Int32 length, [In, Out] T1[] pointer)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexArrayRange", Version = "1.1", EntryPoint = "glVertexArrayRangeNV")]
-            public static 
-            void VertexArrayRange(Int32 length, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dNV")]
-            public static 
-            void VertexAttrib1(Int32 index, Double x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dNV")]
-            public static 
-            void VertexAttrib1(UInt32 index, Double x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dvNV")]
-            public static 
-            unsafe void VertexAttrib1(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1dvNV")]
-            public static 
-            unsafe void VertexAttrib1(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fNV")]
-            public static 
-            void VertexAttrib1(Int32 index, Single x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fNV")]
-            public static 
-            void VertexAttrib1(UInt32 index, Single x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fvNV")]
-            public static 
-            unsafe void VertexAttrib1(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1fvNV")]
-            public static 
-            unsafe void VertexAttrib1(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hNV")]
-            public static 
-            void VertexAttrib1h(Int32 index, OpenTK.Half x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1hNV((UInt32)index, (OpenTK.Half)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hNV")]
-            public static 
-            void VertexAttrib1h(UInt32 index, OpenTK.Half x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1hNV((UInt32)index, (OpenTK.Half)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hvNV")]
-            public static 
-            unsafe void VertexAttrib1h(Int32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib1hvNV")]
-            public static 
-            unsafe void VertexAttrib1h(UInt32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1sNV")]
-            public static 
-            void VertexAttrib1(Int32 index, Int16 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1sNV")]
-            public static 
-            void VertexAttrib1(UInt32 index, Int16 x)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1svNV")]
-            public static 
-            unsafe void VertexAttrib1(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib1svNV")]
-            public static 
-            unsafe void VertexAttrib1(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dNV")]
-            public static 
-            void VertexAttrib2(Int32 index, Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, Double x, Double y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")]
-            public static 
-            unsafe void VertexAttrib2(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")]
-            public static 
-            void VertexAttrib2(Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")]
-            public static 
-            void VertexAttrib2(Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")]
-            public static 
-            unsafe void VertexAttrib2(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2dvNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fNV")]
-            public static 
-            void VertexAttrib2(Int32 index, Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")]
-            public static 
-            void VertexAttrib2(Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")]
-            public static 
-            unsafe void VertexAttrib2(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")]
-            public static 
-            void VertexAttrib2(Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")]
-            public static 
-            unsafe void VertexAttrib2(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2fvNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hNV")]
-            public static 
-            void VertexAttrib2h(Int32 index, OpenTK.Half x, OpenTK.Half y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hNV")]
-            public static 
-            void VertexAttrib2h(UInt32 index, OpenTK.Half x, OpenTK.Half y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")]
-            public static 
-            unsafe void VertexAttrib2h(Int32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")]
-            public static 
-            void VertexAttrib2h(Int32 index, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")]
-            public static 
-            void VertexAttrib2h(Int32 index, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")]
-            public static 
-            unsafe void VertexAttrib2h(UInt32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")]
-            public static 
-            void VertexAttrib2h(UInt32 index, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib2hvNV")]
-            public static 
-            void VertexAttrib2h(UInt32 index, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2sNV")]
-            public static 
-            void VertexAttrib2(Int32 index, Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2sNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, Int16 x, Int16 y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")]
-            public static 
-            unsafe void VertexAttrib2(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")]
-            public static 
-            void VertexAttrib2(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")]
-            public static 
-            void VertexAttrib2(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")]
-            public static 
-            unsafe void VertexAttrib2(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib2svNV")]
-            public static 
-            void VertexAttrib2(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dNV")]
-            public static 
-            void VertexAttrib3(Int32 index, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, Double x, Double y, Double z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")]
-            public static 
-            unsafe void VertexAttrib3(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")]
-            public static 
-            void VertexAttrib3(Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")]
-            public static 
-            void VertexAttrib3(Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")]
-            public static 
-            unsafe void VertexAttrib3(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3dvNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fNV")]
-            public static 
-            void VertexAttrib3(Int32 index, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")]
-            public static 
-            void VertexAttrib3(Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")]
-            public static 
-            unsafe void VertexAttrib3(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")]
-            public static 
-            void VertexAttrib3(Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")]
-            public static 
-            unsafe void VertexAttrib3(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3fvNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hNV")]
-            public static 
-            void VertexAttrib3h(Int32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hNV")]
-            public static 
-            void VertexAttrib3h(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")]
-            public static 
-            unsafe void VertexAttrib3h(Int32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")]
-            public static 
-            void VertexAttrib3h(Int32 index, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")]
-            public static 
-            void VertexAttrib3h(Int32 index, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")]
-            public static 
-            unsafe void VertexAttrib3h(UInt32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")]
-            public static 
-            void VertexAttrib3h(UInt32 index, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib3hvNV")]
-            public static 
-            void VertexAttrib3h(UInt32 index, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3sNV")]
-            public static 
-            void VertexAttrib3(Int32 index, Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3sNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, Int16 x, Int16 y, Int16 z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")]
-            public static 
-            unsafe void VertexAttrib3(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")]
-            public static 
-            void VertexAttrib3(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")]
-            public static 
-            void VertexAttrib3(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")]
-            public static 
-            unsafe void VertexAttrib3(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib3svNV")]
-            public static 
-            void VertexAttrib3(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Double x, Double y, Double z, Double w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4dvNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4fvNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hNV")]
-            public static 
-            void VertexAttrib4h(Int32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z, (OpenTK.Half)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hNV")]
-            public static 
-            void VertexAttrib4h(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4hNV((UInt32)index, (OpenTK.Half)x, (OpenTK.Half)y, (OpenTK.Half)z, (OpenTK.Half)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")]
-            public static 
-            unsafe void VertexAttrib4h(Int32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")]
-            public static 
-            void VertexAttrib4h(Int32 index, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")]
-            public static 
-            void VertexAttrib4h(Int32 index, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")]
-            public static 
-            unsafe void VertexAttrib4h(UInt32 index, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")]
-            public static 
-            void VertexAttrib4h(UInt32 index, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttrib4hvNV")]
-            public static 
-            void VertexAttrib4h(UInt32 index, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4hvNV((UInt32)index, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4sNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4sNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4svNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Byte x, Byte y, Byte z, Byte w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Byte x, Byte y, Byte z, Byte w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")]
-            public static 
-            unsafe void VertexAttrib4(Int32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")]
-            public static 
-            void VertexAttrib4(Int32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")]
-            public static 
-            void VertexAttrib4(Int32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")]
-            public static 
-            unsafe void VertexAttrib4(UInt32 index, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specifies the value of a generic vertex attribute
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="v0">
-        /// <para>
-        /// Specifies the new values to be used for the specified vertex attribute.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttrib4ubvNV")]
-            public static 
-            void VertexAttrib4(UInt32 index, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer(Int32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] ref T4 pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[,] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer<T4>(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, [In, Out] T4[] pointer)
-                where T4 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define an array of generic vertex attribute data
-        /// </summary>
-        /// <param name="index">
-        /// <para>
-        /// Specifies the index of the generic vertex attribute to be modified.
-        /// </para>
-        /// </param>
-        /// <param name="size">
-        /// <para>
-        /// Specifies the number of components per generic vertex attribute. Must be 1, 2, 3, or 4. The initial value is 4.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// Specifies the data type of each component in the array. Symbolic constants GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, or GL_DOUBLE are accepted. The initial value is GL_FLOAT.
-        /// </para>
-        /// </param>
-        /// <param name="normalized">
-        /// <para>
-        /// Specifies whether fixed-point data values should be normalized (GL_TRUE) or converted directly as fixed-point values (GL_FALSE) when they are accessed.
-        /// </para>
-        /// </param>
-        /// <param name="stride">
-        /// <para>
-        /// Specifies the byte offset between consecutive generic vertex attributes. If stride is 0, the generic vertex attributes are understood to be tightly packed in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-        /// <param name="pointer">
-        /// <para>
-        /// Specifies a pointer to the first component of the first generic vertex attribute in the array. The initial value is 0.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribPointerNV")]
-            public static 
-            void VertexAttribPointer(UInt32 index, Int32 fsize, VertexAttribParameterArb type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (VertexAttribParameterArb)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")]
-            public static 
-            unsafe void VertexAttribs1(Int32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")]
-            public static 
-            void VertexAttribs1(Int32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")]
-            public static 
-            void VertexAttribs1(Int32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")]
-            public static 
-            unsafe void VertexAttribs1(UInt32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")]
-            public static 
-            void VertexAttribs1(UInt32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1dvNV")]
-            public static 
-            void VertexAttribs1(UInt32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")]
-            public static 
-            void VertexAttribs1(Int32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")]
-            public static 
-            unsafe void VertexAttribs1(Int32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")]
-            public static 
-            void VertexAttribs1(Int32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")]
-            public static 
-            void VertexAttribs1(UInt32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")]
-            public static 
-            unsafe void VertexAttribs1(UInt32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1fvNV")]
-            public static 
-            void VertexAttribs1(UInt32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")]
-            public static 
-            unsafe void VertexAttribs1h(Int32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")]
-            public static 
-            void VertexAttribs1h(Int32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")]
-            public static 
-            void VertexAttribs1h(Int32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")]
-            public static 
-            unsafe void VertexAttribs1h(UInt32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")]
-            public static 
-            void VertexAttribs1h(UInt32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs1hvNV")]
-            public static 
-            void VertexAttribs1h(UInt32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")]
-            public static 
-            unsafe void VertexAttribs1(Int32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")]
-            public static 
-            void VertexAttribs1(Int32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")]
-            public static 
-            void VertexAttribs1(Int32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")]
-            public static 
-            unsafe void VertexAttribs1(UInt32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")]
-            public static 
-            void VertexAttribs1(UInt32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs1svNV")]
-            public static 
-            void VertexAttribs1(UInt32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")]
-            public static 
-            unsafe void VertexAttribs2(Int32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")]
-            public static 
-            void VertexAttribs2(Int32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")]
-            public static 
-            void VertexAttribs2(Int32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")]
-            public static 
-            unsafe void VertexAttribs2(UInt32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")]
-            public static 
-            void VertexAttribs2(UInt32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2dvNV")]
-            public static 
-            void VertexAttribs2(UInt32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")]
-            public static 
-            void VertexAttribs2(Int32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")]
-            public static 
-            unsafe void VertexAttribs2(Int32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")]
-            public static 
-            void VertexAttribs2(Int32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")]
-            public static 
-            void VertexAttribs2(UInt32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")]
-            public static 
-            unsafe void VertexAttribs2(UInt32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2fvNV")]
-            public static 
-            void VertexAttribs2(UInt32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")]
-            public static 
-            unsafe void VertexAttribs2h(Int32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")]
-            public static 
-            void VertexAttribs2h(Int32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")]
-            public static 
-            void VertexAttribs2h(Int32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")]
-            public static 
-            unsafe void VertexAttribs2h(UInt32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")]
-            public static 
-            void VertexAttribs2h(UInt32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs2hvNV")]
-            public static 
-            void VertexAttribs2h(UInt32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")]
-            public static 
-            unsafe void VertexAttribs2(Int32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")]
-            public static 
-            void VertexAttribs2(Int32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")]
-            public static 
-            void VertexAttribs2(Int32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")]
-            public static 
-            unsafe void VertexAttribs2(UInt32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")]
-            public static 
-            void VertexAttribs2(UInt32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs2svNV")]
-            public static 
-            void VertexAttribs2(UInt32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")]
-            public static 
-            unsafe void VertexAttribs3(Int32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")]
-            public static 
-            void VertexAttribs3(Int32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")]
-            public static 
-            void VertexAttribs3(Int32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")]
-            public static 
-            unsafe void VertexAttribs3(UInt32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")]
-            public static 
-            void VertexAttribs3(UInt32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3dvNV")]
-            public static 
-            void VertexAttribs3(UInt32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")]
-            public static 
-            void VertexAttribs3(Int32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")]
-            public static 
-            unsafe void VertexAttribs3(Int32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")]
-            public static 
-            void VertexAttribs3(Int32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")]
-            public static 
-            void VertexAttribs3(UInt32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")]
-            public static 
-            unsafe void VertexAttribs3(UInt32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3fvNV")]
-            public static 
-            void VertexAttribs3(UInt32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")]
-            public static 
-            unsafe void VertexAttribs3h(Int32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")]
-            public static 
-            void VertexAttribs3h(Int32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")]
-            public static 
-            void VertexAttribs3h(Int32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")]
-            public static 
-            unsafe void VertexAttribs3h(UInt32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")]
-            public static 
-            void VertexAttribs3h(UInt32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs3hvNV")]
-            public static 
-            void VertexAttribs3h(UInt32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")]
-            public static 
-            unsafe void VertexAttribs3(Int32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")]
-            public static 
-            void VertexAttribs3(Int32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")]
-            public static 
-            void VertexAttribs3(Int32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")]
-            public static 
-            unsafe void VertexAttribs3(UInt32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")]
-            public static 
-            void VertexAttribs3(UInt32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs3svNV")]
-            public static 
-            void VertexAttribs3(UInt32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")]
-            public static 
-            unsafe void VertexAttribs4(Int32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")]
-            public static 
-            unsafe void VertexAttribs4(UInt32 index, Int32 count, Double* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, Double[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4dvNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, ref Double v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")]
-            public static 
-            unsafe void VertexAttribs4(Int32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")]
-            public static 
-            unsafe void VertexAttribs4(UInt32 index, Int32 count, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4fvNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")]
-            public static 
-            unsafe void VertexAttribs4h(Int32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")]
-            public static 
-            void VertexAttribs4h(Int32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")]
-            public static 
-            void VertexAttribs4h(Int32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")]
-            public static 
-            unsafe void VertexAttribs4h(UInt32 index, Int32 n, OpenTK.Half* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")]
-            public static 
-            void VertexAttribs4h(UInt32 index, Int32 n, OpenTK.Half[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexAttribs4hvNV")]
-            public static 
-            void VertexAttribs4h(UInt32 index, Int32 n, ref OpenTK.Half v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (OpenTK.Half* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (OpenTK.Half*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")]
-            public static 
-            unsafe void VertexAttribs4(Int32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")]
-            public static 
-            unsafe void VertexAttribs4(UInt32 index, Int32 count, Int16* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, Int16[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4svNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, ref Int16 v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")]
-            public static 
-            unsafe void VertexAttribs4(Int32 index, Int32 count, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")]
-            public static 
-            void VertexAttribs4(Int32 index, Int32 count, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")]
-            public static 
-            unsafe void VertexAttribs4(UInt32 index, Int32 count, Byte* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, Byte[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = v)
-                    {
-                        Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvVertexProgram", Version = "1.2", EntryPoint = "glVertexAttribs4ubvNV")]
-            public static 
-            void VertexAttribs4(UInt32 index, Int32 count, ref Byte v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* v_ptr = &v)
-                    {
-                        Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexWeighthNV")]
-            public static 
-            void VertexWeighth(OpenTK.Half weight)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexWeighthNV((OpenTK.Half)weight);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "NvHalfFloat", Version = "1.2", EntryPoint = "glVertexWeighthvNV")]
-            public static 
-            unsafe void VertexWeighth(OpenTK.Half* weight)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glVertexWeighthvNV((OpenTK.Half*)weight);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Pgi
-        {
-            
-        /// <summary>
-        /// Specify implementation-specific hints
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Specifies a symbolic constant indicating the behavior to be controlled. GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT, and GL_FRAGMENT_SHADER_DERIVATIVE_HINT are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="mode">
-        /// <para>
-        /// Specifies a symbolic constant indicating the desired behavior. GL_FASTEST, GL_NICEST, and GL_DONT_CARE are accepted.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "PgiMiscHints", Version = "1.1", EntryPoint = "glHintPGI")]
-            public static 
-            void Hint(PgiMiscHints target, Int32 mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glHintPGI((PgiMiscHints)target, (Int32)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Sgi
-        {
-            
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterfvSGI")]
-            public static 
-            void ColorTableParameter(SgiColorTable target, SgiColorTable pname, ref Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterfvSGI")]
-            public static 
-            unsafe void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterfvSGI")]
-            public static 
-            void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterivSGI")]
-            public static 
-            unsafe void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterivSGI")]
-            public static 
-            void ColorTableParameter(SgiColorTable target, SgiColorTable pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Set color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a texture color lookup table parameter. Must be one of GL_COLOR_TABLE_SCALE or GL_COLOR_TABLE_BIAS.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameters are stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableParameterivSGI")]
-            public static 
-            void ColorTableParameter(SgiColorTable target, SgiColorTable pname, ref Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")]
-            public static 
-            void ColorTable<T5>(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] ref T5 table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")]
-            public static 
-            void ColorTable<T5>(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,,] table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")]
-            public static 
-            void ColorTable<T5>(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[,] table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")]
-            public static 
-            void ColorTable<T5>(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, [In, Out] T5[] table)
-                where T5 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Define a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be one of GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal format of the color table. The allowable values are GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, and GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The number of entries in the color lookup table specified by data.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in data. The allowable values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in data. The allowable values are GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV.
-        /// </para>
-        /// </param>
-        /// <param name="data">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data that is processed to build the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glColorTableSGI")]
-            public static 
-            void ColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 width, PixelFormat format, PixelType type, IntPtr table)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)table);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Copy pixels into a color table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The color table target. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="internalformat">
-        /// <para>
-        /// The internal storage format of the texture image. Must be one of the following symbolic constants: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, or GL_RGBA16.
-        /// </para>
-        /// </param>
-        /// <param name="x">
-        /// <para>
-        /// The x coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table.
-        /// </para>
-        /// </param>
-        /// <param name="y">
-        /// <para>
-        /// The y coordinate of the lower-left corner of the pixel rectangle to be transferred to the color table.
-        /// </para>
-        /// </param>
-        /// <param name="width">
-        /// <para>
-        /// The width of the pixel rectangle.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glCopyColorTableSGI")]
-            public static 
-            void CopyColorTable(SgiColorTable target, PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glCopyColorTableSGI((SgiColorTable)target, (PixelInternalFormat)internalformat, (Int32)x, (Int32)y, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterfvSGI")]
-            public static 
-            void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterfvSGI")]
-            public static 
-            unsafe void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterfvSGI")]
-            public static 
-            void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetColorTableParameterfvSGI((SgiColorTable)target, (SgiColorTable)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterivSGI")]
-            public static 
-            unsafe void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterivSGI")]
-            public static 
-            void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Get color lookup table parameters
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// The target color table. Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, GL_POST_COLOR_MATRIX_COLOR_TABLE, GL_PROXY_COLOR_TABLE, GL_PROXY_POST_CONVOLUTION_COLOR_TABLE, or GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="pname">
-        /// <para>
-        /// The symbolic name of a color lookup table parameter. Must be one of GL_COLOR_TABLE_BIAS, GL_COLOR_TABLE_SCALE, GL_COLOR_TABLE_FORMAT, GL_COLOR_TABLE_WIDTH, GL_COLOR_TABLE_RED_SIZE, GL_COLOR_TABLE_GREEN_SIZE, GL_COLOR_TABLE_BLUE_SIZE, GL_COLOR_TABLE_ALPHA_SIZE, GL_COLOR_TABLE_LUMINANCE_SIZE, or GL_COLOR_TABLE_INTENSITY_SIZE.
-        /// </para>
-        /// </param>
-        /// <param name="params">
-        /// <para>
-        /// A pointer to an array where the values of the parameter will be stored.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableParameterivSGI")]
-            public static 
-            void GetColorTableParameter(SgiColorTable target, SgiColorTable pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetColorTableParameterivSGI((SgiColorTable)target, (SgiColorTable)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")]
-            public static 
-            void GetColorTable<T3>(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] ref T3 table)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")]
-            public static 
-            void GetColorTable<T3>(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] T3[,,] table)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")]
-            public static 
-            void GetColorTable<T3>(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] T3[,] table)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")]
-            public static 
-            void GetColorTable<T3>(SgiColorTable target, PixelFormat format, PixelType type, [In, Out] T3[] table)
-                where T3 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle table_ptr = GCHandle.Alloc(table, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Retrieve contents of a color lookup table
-        /// </summary>
-        /// <param name="target">
-        /// <para>
-        /// Must be GL_COLOR_TABLE, GL_POST_CONVOLUTION_COLOR_TABLE, or GL_POST_COLOR_MATRIX_COLOR_TABLE.
-        /// </para>
-        /// </param>
-        /// <param name="format">
-        /// <para>
-        /// The format of the pixel data in table. The possible values are GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_BGR, GL_RGBA, and GL_BGRA.
-        /// </para>
-        /// </param>
-        /// <param name="type">
-        /// <para>
-        /// The type of the pixel data in table. Symbolic constants GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2, and GL_UNSIGNED_INT_2_10_10_10_REV are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="table">
-        /// <para>
-        /// Pointer to a one-dimensional array of pixel data containing the contents of the color table.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgiColorTable", Version = "1.0", EntryPoint = "glGetColorTableSGI")]
-            public static 
-            void GetColorTable(SgiColorTable target, PixelFormat format, PixelType type, [Out] IntPtr table)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetColorTableSGI((SgiColorTable)target, (PixelFormat)format, (PixelType)type, (IntPtr)table);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Sgis
-        {
-            [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glDetailTexFuncSGIS")]
-            public static 
-            void DetailTexFunc(TextureTarget target, Int32 n, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glDetailTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glDetailTexFuncSGIS")]
-            public static 
-            unsafe void DetailTexFunc(TextureTarget target, Int32 n, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDetailTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glDetailTexFuncSGIS")]
-            public static 
-            void DetailTexFunc(TextureTarget target, Int32 n, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glDetailTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glFogFuncSGIS")]
-            public static 
-            void FogFunc(Int32 n, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glFogFuncSGIS")]
-            public static 
-            unsafe void FogFunc(Int32 n, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFogFuncSGIS((Int32)n, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glFogFuncSGIS")]
-            public static 
-            void FogFunc(Int32 n, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glGetDetailTexFuncSGIS")]
-            public static 
-            void GetDetailTexFunc(TextureTarget target, [Out] out Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glGetDetailTexFuncSGIS((TextureTarget)target, (Single*)points_ptr);
-                        points = *points_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glGetDetailTexFuncSGIS")]
-            public static 
-            unsafe void GetDetailTexFunc(TextureTarget target, [Out] Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetDetailTexFuncSGIS((TextureTarget)target, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisDetailTexture", Version = "1.0", EntryPoint = "glGetDetailTexFuncSGIS")]
-            public static 
-            void GetDetailTexFunc(TextureTarget target, [Out] Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glGetDetailTexFuncSGIS((TextureTarget)target, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glGetFogFuncSGIS")]
-            public static 
-            void GetFogFunc([Out] out Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glGetFogFuncSGIS((Single*)points_ptr);
-                        points = *points_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glGetFogFuncSGIS")]
-            public static 
-            unsafe void GetFogFunc([Out] Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFogFuncSGIS((Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisFogFunction", Version = "1.1", EntryPoint = "glGetFogFuncSGIS")]
-            public static 
-            void GetFogFunc([Out] Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glGetFogFuncSGIS((Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterfvSGIS")]
-            public static 
-            void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterfvSGIS")]
-            public static 
-            unsafe void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterfvSGIS")]
-            public static 
-            void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterivSGIS")]
-            public static 
-            unsafe void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterivSGIS")]
-            public static 
-            void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glGetPixelTexGenParameterivSGIS")]
-            public static 
-            void GetPixelTexGenParameter(SgisPixelTexture pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glGetSharpenTexFuncSGIS")]
-            public static 
-            void GetSharpenTexFunc(TextureTarget target, [Out] out Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glGetSharpenTexFuncSGIS((TextureTarget)target, (Single*)points_ptr);
-                        points = *points_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glGetSharpenTexFuncSGIS")]
-            public static 
-            unsafe void GetSharpenTexFunc(TextureTarget target, [Out] Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetSharpenTexFuncSGIS((TextureTarget)target, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glGetSharpenTexFuncSGIS")]
-            public static 
-            void GetSharpenTexFunc(TextureTarget target, [Out] Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glGetSharpenTexFuncSGIS((TextureTarget)target, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glGetTexFilterFuncSGIS")]
-            public static 
-            void GetTexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, [Out] out Single weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* weights_ptr = &weights)
-                    {
-                        Delegates.glGetTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Single*)weights_ptr);
-                        weights = *weights_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glGetTexFilterFuncSGIS")]
-            public static 
-            unsafe void GetTexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, [Out] Single* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Single*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glGetTexFilterFuncSGIS")]
-            public static 
-            void GetTexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, [Out] Single[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* weights_ptr = weights)
-                    {
-                        Delegates.glGetTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Single*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterfSGIS")]
-            public static 
-            void PixelTexGenParameter(SgisPixelTexture pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTexGenParameterfSGIS((SgisPixelTexture)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterfvSGIS")]
-            public static 
-            unsafe void PixelTexGenParameter(SgisPixelTexture pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterfvSGIS")]
-            public static 
-            void PixelTexGenParameter(SgisPixelTexture pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glPixelTexGenParameterfvSGIS((SgisPixelTexture)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameteriSGIS")]
-            public static 
-            void PixelTexGenParameter(SgisPixelTexture pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTexGenParameteriSGIS((SgisPixelTexture)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterivSGIS")]
-            public static 
-            unsafe void PixelTexGenParameter(SgisPixelTexture pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenParameterivSGIS")]
-            public static 
-            void PixelTexGenParameter(SgisPixelTexture pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glPixelTexGenParameterivSGIS((SgisPixelTexture)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgisPointParameters", Version = "1.0", EntryPoint = "glPointParameterfSGIS")]
-            public static 
-            void PointParameter(SgisPointParameters pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterfSGIS((SgisPointParameters)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvSGIS")]
-            public static 
-            unsafe void PointParameter(SgisPointParameters pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPointParameterfvSGIS((SgisPointParameters)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            
-        /// <summary>
-        /// Specify point parameters
-        /// </summary>
-        /// <param name="pname">
-        /// <para>
-        /// Specifies a single-valued point parameter. GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_FADE_THRESHOLD_SIZE, and GL_POINT_SPRITE_COORD_ORIGIN are accepted.
-        /// </para>
-        /// </param>
-        /// <param name="param">
-        /// <para>
-        /// Specifies the value that pname will be set to.
-        /// </para>
-        /// </param>
-            [AutoGenerated(Category = "SgisPointParameters", Version = "1.0", EntryPoint = "glPointParameterfvSGIS")]
-            public static 
-            void PointParameter(SgisPointParameters pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glPointParameterfvSGIS((SgisPointParameters)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisMultisample", Version = "1.1", EntryPoint = "glSampleMaskSGIS")]
-            public static 
-            void SampleMask(Single value, bool invert)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSampleMaskSGIS((Single)value, (bool)invert);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisMultisample", Version = "1.0", EntryPoint = "glSamplePatternSGIS")]
-            public static 
-            void SamplePattern(SgisMultisample pattern)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSamplePatternSGIS((SgisMultisample)pattern);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glSharpenTexFuncSGIS")]
-            public static 
-            void SharpenTexFunc(TextureTarget target, Int32 n, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glSharpenTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glSharpenTexFuncSGIS")]
-            public static 
-            unsafe void SharpenTexFunc(TextureTarget target, Int32 n, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSharpenTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisSharpenTexture", Version = "1.0", EntryPoint = "glSharpenTexFuncSGIS")]
-            public static 
-            void SharpenTexFunc(TextureTarget target, Int32 n, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glSharpenTexFuncSGIS((TextureTarget)target, (Int32)n, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glTexFilterFuncSGIS")]
-            public static 
-            void TexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, Int32 n, ref Single weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* weights_ptr = &weights)
-                    {
-                        Delegates.glTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Int32)n, (Single*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glTexFilterFuncSGIS")]
-            public static 
-            unsafe void TexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, Int32 n, Single* weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Int32)n, (Single*)weights);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTextureFilter4", Version = "1.0", EntryPoint = "glTexFilterFuncSGIS")]
-            public static 
-            void TexFilterFunc(TextureTarget target, SgisTextureFilter4 filter, Int32 n, Single[] weights)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* weights_ptr = weights)
-                    {
-                        Delegates.glTexFilterFuncSGIS((TextureTarget)target, (SgisTextureFilter4)filter, (Int32)n, (Single*)weights_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")]
-            public static 
-            void TexImage4D<T10>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] ref T10 pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")]
-            public static 
-            void TexImage4D<T10>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")]
-            public static 
-            void TexImage4D<T10>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[,] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")]
-            public static 
-            void TexImage4D<T10>(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, [In, Out] T10[] pixels)
-                where T10 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexImage4DSGIS")]
-            public static 
-            void TexImage4D(TextureTarget target, Int32 level, PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexImage4DSGIS((TextureTarget)target, (Int32)level, (PixelInternalFormat)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")]
-            public static 
-            void TexSubImage4D<T12>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] ref T12 pixels)
-                where T12 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")]
-            public static 
-            void TexSubImage4D<T12>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] T12[,,] pixels)
-                where T12 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")]
-            public static 
-            void TexSubImage4D<T12>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] T12[,] pixels)
-                where T12 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")]
-            public static 
-            void TexSubImage4D<T12>(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, [In, Out] T12[] pixels)
-                where T12 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pixels_ptr = GCHandle.Alloc(pixels, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTexture4D", Version = "1.0", EntryPoint = "glTexSubImage4DSGIS")]
-            public static 
-            void TexSubImage4D(TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, PixelFormat format, PixelType type, IntPtr pixels)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexSubImage4DSGIS((TextureTarget)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (PixelFormat)format, (PixelType)type, (IntPtr)pixels);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgisTextureColorMask", Version = "1.1", EntryPoint = "glTextureColorMaskSGIS")]
-            public static 
-            void TextureColorMask(bool red, bool green, bool blue, bool alpha)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTextureColorMaskSGIS((bool)red, (bool)green, (bool)blue, (bool)alpha);
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Sgix
-        {
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glAsyncMarkerSGIX")]
-            public static 
-            void AsyncMarker(Int32 marker)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAsyncMarkerSGIX((UInt32)marker);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glAsyncMarkerSGIX")]
-            public static 
-            void AsyncMarker(UInt32 marker)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glAsyncMarkerSGIX((UInt32)marker);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3dSGIX")]
-            public static 
-            unsafe void DeformationMap3(SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeformationMap3dSGIX((SgixPolynomialFfd)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3dSGIX")]
-            public static 
-            void DeformationMap3(SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = points)
-                    {
-                        Delegates.glDeformationMap3dSGIX((SgixPolynomialFfd)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3dSGIX")]
-            public static 
-            void DeformationMap3(SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, ref Double points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* points_ptr = &points)
-                    {
-                        Delegates.glDeformationMap3dSGIX((SgixPolynomialFfd)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3fSGIX")]
-            public static 
-            void DeformationMap3(SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, ref Single points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = &points)
-                    {
-                        Delegates.glDeformationMap3fSGIX((SgixPolynomialFfd)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3fSGIX")]
-            public static 
-            unsafe void DeformationMap3(SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeformationMap3fSGIX((SgixPolynomialFfd)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformationMap3fSGIX")]
-            public static 
-            void DeformationMap3(SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single[] points)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* points_ptr = points)
-                    {
-                        Delegates.glDeformationMap3fSGIX((SgixPolynomialFfd)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformSGIX")]
-            public static 
-            void Deform(Int32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeformSGIX((UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glDeformSGIX")]
-            public static 
-            void Deform(UInt32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeformSGIX((UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glDeleteAsyncMarkersSGIX")]
-            public static 
-            void DeleteAsyncMarkers(Int32 marker, Int32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glDeleteAsyncMarkersSGIX")]
-            public static 
-            void DeleteAsyncMarkers(UInt32 marker, Int32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")]
-            public static 
-            unsafe Int32 FinishAsync([Out] Int32* markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glFinishAsyncSGIX((UInt32*)markerp);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")]
-            public static 
-            Int32 FinishAsync([Out] out Int32 markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* markerp_ptr = &markerp)
-                    {
-                        Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr);
-                        markerp = *markerp_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")]
-            public static 
-            Int32 FinishAsync([Out] out UInt32 markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* markerp_ptr = &markerp)
-                    {
-                        Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr);
-                        markerp = *markerp_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glFinishAsyncSGIX")]
-            public static 
-            unsafe Int32 FinishAsync([Out] UInt32* markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glFinishAsyncSGIX((UInt32*)markerp);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFlushRaster", Version = "1.0", EntryPoint = "glFlushRasterSGIX")]
-            public static 
-            void FlushRaster()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFlushRasterSGIX();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentColorMaterialSGIX")]
-            public static 
-            void FragmentColorMaterial(MaterialFace face, MaterialParameter mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentColorMaterialSGIX((MaterialFace)face, (MaterialParameter)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightfSGIX")]
-            public static 
-            void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightfSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightfvSGIX")]
-            public static 
-            unsafe void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightfvSGIX")]
-            public static 
-            void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightiSGIX")]
-            public static 
-            void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightiSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightivSGIX")]
-            public static 
-            unsafe void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightivSGIX")]
-            public static 
-            void FragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelfSGIX")]
-            public static 
-            void FragmentLightModel(SgixFragmentLighting pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightModelfSGIX((SgixFragmentLighting)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelfvSGIX")]
-            public static 
-            unsafe void FragmentLightModel(SgixFragmentLighting pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightModelfvSGIX((SgixFragmentLighting)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelfvSGIX")]
-            public static 
-            void FragmentLightModel(SgixFragmentLighting pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glFragmentLightModelfvSGIX((SgixFragmentLighting)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModeliSGIX")]
-            public static 
-            void FragmentLightModel(SgixFragmentLighting pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightModeliSGIX((SgixFragmentLighting)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelivSGIX")]
-            public static 
-            unsafe void FragmentLightModel(SgixFragmentLighting pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentLightModelivSGIX((SgixFragmentLighting)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentLightModelivSGIX")]
-            public static 
-            void FragmentLightModel(SgixFragmentLighting pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glFragmentLightModelivSGIX((SgixFragmentLighting)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialfSGIX")]
-            public static 
-            void FragmentMaterial(MaterialFace face, MaterialParameter pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentMaterialfSGIX((MaterialFace)face, (MaterialParameter)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialfvSGIX")]
-            public static 
-            unsafe void FragmentMaterial(MaterialFace face, MaterialParameter pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialfvSGIX")]
-            public static 
-            void FragmentMaterial(MaterialFace face, MaterialParameter pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialiSGIX")]
-            public static 
-            void FragmentMaterial(MaterialFace face, MaterialParameter pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentMaterialiSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialivSGIX")]
-            public static 
-            unsafe void FragmentMaterial(MaterialFace face, MaterialParameter pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glFragmentMaterialivSGIX")]
-            public static 
-            void FragmentMaterial(MaterialFace face, MaterialParameter pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFramezoom", Version = "1.0", EntryPoint = "glFrameZoomSGIX")]
-            public static 
-            void FrameZoom(Int32 factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFrameZoomSGIX((Int32)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glGenAsyncMarkersSGIX")]
-            public static 
-            Int32 GenAsyncMarkers(Int32 range)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGenAsyncMarkersSGIX((Int32)range);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightfvSGIX")]
-            public static 
-            void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightfvSGIX")]
-            public static 
-            unsafe void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightfvSGIX")]
-            public static 
-            void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetFragmentLightfvSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightivSGIX")]
-            public static 
-            unsafe void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightivSGIX")]
-            public static 
-            void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentLightivSGIX")]
-            public static 
-            void GetFragmentLight(SgixFragmentLighting light, SgixFragmentLighting pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFragmentLightivSGIX((SgixFragmentLighting)light, (SgixFragmentLighting)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialfvSGIX")]
-            public static 
-            void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialfvSGIX")]
-            public static 
-            unsafe void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialfvSGIX")]
-            public static 
-            void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetFragmentMaterialfvSGIX((MaterialFace)face, (MaterialParameter)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialivSGIX")]
-            public static 
-            unsafe void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialivSGIX")]
-            public static 
-            void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glGetFragmentMaterialivSGIX")]
-            public static 
-            void GetFragmentMaterial(MaterialFace face, MaterialParameter pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetFragmentMaterialivSGIX((MaterialFace)face, (MaterialParameter)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glGetInstrumentsSGIX")]
-            public static 
-            Int32 GetInstruments()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glGetInstrumentsSGIX();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")]
-            public static 
-            void GetListParameter(Int32 list, ListParameterName pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")]
-            public static 
-            unsafe void GetListParameter(Int32 list, ListParameterName pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")]
-            public static 
-            void GetListParameter(Int32 list, ListParameterName pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")]
-            public static 
-            void GetListParameter(UInt32 list, ListParameterName pname, [Out] out Single @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = &@params)
-                    {
-                        Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")]
-            public static 
-            unsafe void GetListParameter(UInt32 list, ListParameterName pname, [Out] Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterfvSGIX")]
-            public static 
-            void GetListParameter(UInt32 list, ListParameterName pname, [Out] Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glGetListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")]
-            public static 
-            unsafe void GetListParameter(Int32 list, ListParameterName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")]
-            public static 
-            void GetListParameter(Int32 list, ListParameterName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")]
-            public static 
-            void GetListParameter(Int32 list, ListParameterName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")]
-            public static 
-            unsafe void GetListParameter(UInt32 list, ListParameterName pname, [Out] Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")]
-            public static 
-            void GetListParameter(UInt32 list, ListParameterName pname, [Out] Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glGetListParameterivSGIX")]
-            public static 
-            void GetListParameter(UInt32 list, ListParameterName pname, [Out] out Int32 @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = &@params)
-                    {
-                        Delegates.glGetListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr);
-                        @params = *@params_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")]
-            public static 
-            void IglooInterface<T1>(All pname, [In, Out] ref T1 @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")]
-            public static 
-            void IglooInterface<T1>(All pname, [In, Out] T1[,,] @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")]
-            public static 
-            void IglooInterface<T1>(All pname, [In, Out] T1[,] @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")]
-            public static 
-            void IglooInterface<T1>(All pname, [In, Out] T1[] @params)
-                where T1 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle @params_ptr = GCHandle.Alloc(@params, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixIglooInterface", Version = "1.0", EntryPoint = "glIglooInterfaceSGIX")]
-            public static 
-            void IglooInterface(All pname, IntPtr @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glIglooInterfaceSGIX((All)pname, (IntPtr)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glInstrumentsBufferSGIX")]
-            public static 
-            unsafe void InstrumentsBuffer(Int32 size, [Out] Int32* buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glInstrumentsBufferSGIX")]
-            public static 
-            void InstrumentsBuffer(Int32 size, [Out] Int32[] buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* buffer_ptr = buffer)
-                    {
-                        Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glInstrumentsBufferSGIX")]
-            public static 
-            void InstrumentsBuffer(Int32 size, [Out] out Int32 buffer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* buffer_ptr = &buffer)
-                    {
-                        Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr);
-                        buffer = *buffer_ptr;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glIsAsyncMarkerSGIX")]
-            public static 
-            bool IsAsyncMarker(Int32 marker)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsAsyncMarkerSGIX((UInt32)marker);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glIsAsyncMarkerSGIX")]
-            public static 
-            bool IsAsyncMarker(UInt32 marker)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glIsAsyncMarkerSGIX((UInt32)marker);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixFragmentLighting", Version = "1.0", EntryPoint = "glLightEnviSGIX")]
-            public static 
-            void LightEnv(SgixFragmentLighting pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLightEnviSGIX((SgixFragmentLighting)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfSGIX")]
-            public static 
-            void ListParameter(Int32 list, ListParameterName pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameterfSGIX((UInt32)list, (ListParameterName)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfSGIX")]
-            public static 
-            void ListParameter(UInt32 list, ListParameterName pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameterfSGIX((UInt32)list, (ListParameterName)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")]
-            public static 
-            unsafe void ListParameter(Int32 list, ListParameterName pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")]
-            public static 
-            void ListParameter(Int32 list, ListParameterName pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")]
-            public static 
-            unsafe void ListParameter(UInt32 list, ListParameterName pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterfvSGIX")]
-            public static 
-            void ListParameter(UInt32 list, ListParameterName pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glListParameterfvSGIX((UInt32)list, (ListParameterName)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameteriSGIX")]
-            public static 
-            void ListParameter(Int32 list, ListParameterName pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameteriSGIX((UInt32)list, (ListParameterName)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameteriSGIX")]
-            public static 
-            void ListParameter(UInt32 list, ListParameterName pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameteriSGIX((UInt32)list, (ListParameterName)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")]
-            public static 
-            unsafe void ListParameter(Int32 list, ListParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")]
-            public static 
-            void ListParameter(Int32 list, ListParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")]
-            public static 
-            unsafe void ListParameter(UInt32 list, ListParameterName pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixListPriority", Version = "1.0", EntryPoint = "glListParameterivSGIX")]
-            public static 
-            void ListParameter(UInt32 list, ListParameterName pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glListParameterivSGIX((UInt32)list, (ListParameterName)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glLoadIdentityDeformationMapSGIX")]
-            public static 
-            void LoadIdentityDeformationMap(Int32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLoadIdentityDeformationMapSGIX((UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixPolynomialFfd", Version = "1.0", EntryPoint = "glLoadIdentityDeformationMapSGIX")]
-            public static 
-            void LoadIdentityDeformationMap(UInt32 mask)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glLoadIdentityDeformationMapSGIX((UInt32)mask);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixPixelTexture", Version = "1.0", EntryPoint = "glPixelTexGenSGIX")]
-            public static 
-            void PixelTexGen(SgixPixelTexture mode)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glPixelTexGenSGIX((SgixPixelTexture)mode);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")]
-            public static 
-            unsafe Int32 PollAsync([Out] Int32* markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glPollAsyncSGIX((UInt32*)markerp);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")]
-            public static 
-            Int32 PollAsync([Out] out Int32 markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* markerp_ptr = &markerp)
-                    {
-                        Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr);
-                        markerp = *markerp_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")]
-            public static 
-            Int32 PollAsync([Out] out UInt32 markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* markerp_ptr = &markerp)
-                    {
-                        Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr);
-                        markerp = *markerp_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixAsync", Version = "1.0", EntryPoint = "glPollAsyncSGIX")]
-            public static 
-            unsafe Int32 PollAsync([Out] UInt32* markerp)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glPollAsyncSGIX((UInt32*)markerp);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glPollInstrumentsSGIX")]
-            public static 
-            unsafe Int32 PollInstruments([Out] Int32* marker_p)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                return Delegates.glPollInstrumentsSGIX((Int32*)marker_p);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glPollInstrumentsSGIX")]
-            public static 
-            Int32 PollInstruments([Out] out Int32 marker_p)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* marker_p_ptr = &marker_p)
-                    {
-                        Int32 retval = Delegates.glPollInstrumentsSGIX((Int32*)marker_p_ptr);
-                        marker_p = *marker_p_ptr;
-                        return retval;
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glReadInstrumentsSGIX")]
-            public static 
-            void ReadInstruments(Int32 marker)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReadInstrumentsSGIX((Int32)marker);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixReferencePlane", Version = "1.0", EntryPoint = "glReferencePlaneSGIX")]
-            public static 
-            unsafe void ReferencePlane(Double* equation)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReferencePlaneSGIX((Double*)equation);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixReferencePlane", Version = "1.0", EntryPoint = "glReferencePlaneSGIX")]
-            public static 
-            void ReferencePlane(Double[] equation)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* equation_ptr = equation)
-                    {
-                        Delegates.glReferencePlaneSGIX((Double*)equation_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixReferencePlane", Version = "1.0", EntryPoint = "glReferencePlaneSGIX")]
-            public static 
-            void ReferencePlane(ref Double equation)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Double* equation_ptr = &equation)
-                    {
-                        Delegates.glReferencePlaneSGIX((Double*)equation_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterfSGIX")]
-            public static 
-            void SpriteParameter(SgixSprite pname, Single param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSpriteParameterfSGIX((SgixSprite)pname, (Single)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterfvSGIX")]
-            public static 
-            unsafe void SpriteParameter(SgixSprite pname, Single* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSpriteParameterfvSGIX((SgixSprite)pname, (Single*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterfvSGIX")]
-            public static 
-            void SpriteParameter(SgixSprite pname, Single[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* @params_ptr = @params)
-                    {
-                        Delegates.glSpriteParameterfvSGIX((SgixSprite)pname, (Single*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameteriSGIX")]
-            public static 
-            void SpriteParameter(SgixSprite pname, Int32 param)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSpriteParameteriSGIX((SgixSprite)pname, (Int32)param);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterivSGIX")]
-            public static 
-            unsafe void SpriteParameter(SgixSprite pname, Int32* @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glSpriteParameterivSGIX((SgixSprite)pname, (Int32*)@params);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixSprite", Version = "1.0", EntryPoint = "glSpriteParameterivSGIX")]
-            public static 
-            void SpriteParameter(SgixSprite pname, Int32[] @params)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* @params_ptr = @params)
-                    {
-                        Delegates.glSpriteParameterivSGIX((SgixSprite)pname, (Int32*)@params_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glStartInstrumentsSGIX")]
-            public static 
-            void StartInstruments()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStartInstrumentsSGIX();
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixInstruments", Version = "1.0", EntryPoint = "glStopInstrumentsSGIX")]
-            public static 
-            void StopInstruments(Int32 marker)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glStopInstrumentsSGIX((Int32)marker);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SgixTagSampleBuffer", Version = "1.0", EntryPoint = "glTagSampleBufferSGIX")]
-            public static 
-            void TagSampleBuffer()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTagSampleBufferSGIX();
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Sun
-        {
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fSUN")]
-            public static 
-            void Color3fVertex3(Single r, Single g, Single b, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fvSUN")]
-            public static 
-            void Color3fVertex3(ref Single c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fvSUN")]
-            public static 
-            unsafe void Color3fVertex3(Single* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor3fVertex3fvSUN")]
-            public static 
-            void Color3fVertex3(Single[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* c_ptr = c)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fSUN")]
-            public static 
-            void Color4fNormal3fVertex3(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4fNormal3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void Color4fNormal3fVertex3(ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void Color4fNormal3fVertex3(Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void Color4fNormal3fVertex3(Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* c_ptr = c)
-                    fixed (Single* n_ptr = n)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fSUN")]
-            public static 
-            void Color4ubVertex2(Byte r, Byte g, Byte b, Byte a, Single x, Single y)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4ubVertex2fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fvSUN")]
-            public static 
-            unsafe void Color4ubVertex2(Byte* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fvSUN")]
-            public static 
-            void Color4ubVertex2(Byte[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* c_ptr = c)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex2fvSUN")]
-            public static 
-            void Color4ubVertex2(ref Byte c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fSUN")]
-            public static 
-            void Color4ubVertex3(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4ubVertex3fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fvSUN")]
-            public static 
-            unsafe void Color4ubVertex3(Byte* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fvSUN")]
-            public static 
-            void Color4ubVertex3(Byte[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* c_ptr = c)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glColor4ubVertex3fvSUN")]
-            public static 
-            void Color4ubVertex3(ref Byte c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunMeshArray", Version = "1.1", EntryPoint = "glDrawMeshArraysSUN")]
-            public static 
-            void DrawMeshArrays(BeginMode mode, Int32 first, Int32 count, Int32 width)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glDrawMeshArraysSUN((BeginMode)mode, (Int32)first, (Int32)count, (Int32)width);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorbSUN")]
-            public static 
-            void GlobalAlphaFactor(SByte factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactorbSUN((SByte)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactordSUN")]
-            public static 
-            void GlobalAlphaFactor(Double factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactordSUN((Double)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorfSUN")]
-            public static 
-            void GlobalAlphaFactor(Single factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactorfSUN((Single)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactoriSUN")]
-            public static 
-            void GlobalAlphaFactor(Int32 factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactoriSUN((Int32)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorsSUN")]
-            public static 
-            void GlobalAlphaFactors(Int16 factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactorsSUN((Int16)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorubSUN")]
-            public static 
-            void GlobalAlphaFactor(Byte factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactorubSUN((Byte)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactoruiSUN")]
-            public static 
-            void GlobalAlphaFactor(UInt32 factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactoruiSUN((UInt32)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorusSUN")]
-            public static 
-            void GlobalAlphaFactor(Int16 factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactorusSUN((UInt16)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunGlobalAlpha", Version = "1.1", EntryPoint = "glGlobalAlphaFactorusSUN")]
-            public static 
-            void GlobalAlphaFactor(UInt16 factor)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glGlobalAlphaFactorusSUN((UInt16)factor);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fSUN")]
-            public static 
-            void Normal3fVertex3(Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormal3fVertex3fSUN((Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fvSUN")]
-            public static 
-            void Normal3fVertex3(ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void Normal3fVertex3(Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glNormal3fVertex3fvSUN")]
-            public static 
-            void Normal3fVertex3(Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* n_ptr = n)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")]
-            public static 
-            void ReplacementCodePointer<T2>(SunTriangleList type, Int32 stride, [In, Out] ref T2 pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")]
-            public static 
-            void ReplacementCodePointer<T2>(SunTriangleList type, Int32 stride, [In, Out] T2[,,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")]
-            public static 
-            void ReplacementCodePointer<T2>(SunTriangleList type, Int32 stride, [In, Out] T2[,] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")]
-            public static 
-            void ReplacementCodePointer<T2>(SunTriangleList type, Int32 stride, [In, Out] T2[] pointer)
-                where T2 : struct
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                GCHandle pointer_ptr = GCHandle.Alloc(pointer, GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodePointerSUN")]
-            public static 
-            void ReplacementCodePointer(SunTriangleList type, Int32 stride, IntPtr pointer)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodePointerSUN((SunTriangleList)type, (Int32)stride, (IntPtr)pointer);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeubSUN")]
-            public static 
-            void ReplacementCode(Byte code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeubSUN((Byte)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeubvSUN")]
-            public static 
-            unsafe void ReplacementCode(Byte* code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeubvSUN((Byte*)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeubvSUN")]
-            public static 
-            void ReplacementCode(Byte[] code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Byte* code_ptr = code)
-                    {
-                        Delegates.glReplacementCodeubvSUN((Byte*)code_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiColor3fVertex3(Int32 rc, Single r, Single g, Single b, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiColor3fVertex3(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor3fVertex3(Int32* rc, Single* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor3fVertex3(Int32* rc, Single[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiColor3fVertex3(ref Int32 rc, ref Single c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiColor3fVertex3(ref UInt32 rc, ref Single c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor3fVertex3(UInt32* rc, Single* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor3fVertex3(UInt32* rc, Single[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiColor4fNormal3fVertex3(Int32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiColor4fNormal3fVertex3(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4fNormal3fVertex3(Int32* rc, Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4fNormal3fVertex3(Int32* rc, Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiColor4fNormal3fVertex3(ref Int32 rc, ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiColor4fNormal3fVertex3(ref UInt32 rc, ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4fNormal3fVertex3(UInt32* rc, Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4fNormal3fVertex3(UInt32* rc, Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiColor4ubVertex3(Int32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiColor4ubVertex3(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4ubVertex3(Int32* rc, Byte* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4ubVertex3(Int32* rc, Byte[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiColor4ubVertex3(ref Int32 rc, ref Byte c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Byte* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiColor4ubVertex3(ref UInt32 rc, ref Byte c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Byte* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4ubVertex3(UInt32* rc, Byte* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiColor4ubVertex3(UInt32* rc, Byte[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiNormal3fVertex3(Int32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiNormal3fVertex3(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiNormal3fVertex3(Int32* rc, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiNormal3fVertex3(Int32* rc, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiNormal3fVertex3(ref Int32 rc, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiNormal3fVertex3(ref UInt32 rc, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiNormal3fVertex3(UInt32* rc, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiNormal3fVertex3(UInt32* rc, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuiSUN")]
-            public static 
-            void ReplacementCode(Int32 code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiSUN((UInt32)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuiSUN")]
-            public static 
-            void ReplacementCode(UInt32 code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiSUN((UInt32)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(Int32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(Int32* rc, Single* tc, Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(Int32* rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(ref Int32 rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(UInt32* rc, Single* tc, Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3(UInt32* rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fNormal3fVertex3(Int32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fNormal3fVertex3(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(Int32* rc, Single* tc, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(Int32* rc, Single[] tc, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fNormal3fVertex3(ref Int32 rc, ref Single tc, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fNormal3fVertex3(ref UInt32 rc, ref Single tc, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(UInt32* rc, Single* tc, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3(UInt32* rc, Single[] tc, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fVertex3(Int32 rc, Single s, Single t, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fVertex3(UInt32 rc, Single s, Single t, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fVertex3(Int32* rc, Single* tc, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fVertex3(Int32* rc, Single[] tc, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fVertex3(ref Int32 rc, ref Single tc, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiTexCoord2fVertex3(ref UInt32 rc, ref Single tc, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fVertex3(UInt32* rc, Single* tc, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiTexCoord2fVertex3(UInt32* rc, Single[] tc, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiVertex3(Int32 rc, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fSUN")]
-            public static 
-            void ReplacementCodeuiVertex3(UInt32 rc, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiVertex3(Int32* rc, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiVertex3(Int32* rc, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiVertex3(ref Int32 rc, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* rc_ptr = &rc)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")]
-            public static 
-            void ReplacementCodeuiVertex3(ref UInt32 rc, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* rc_ptr = &rc)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiVertex3(UInt32* rc, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glReplacementCodeuiVertex3fvSUN")]
-            public static 
-            unsafe void ReplacementCodeuiVertex3(UInt32* rc, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr);
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")]
-            public static 
-            unsafe void ReplacementCode(Int32* code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuivSUN((UInt32*)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")]
-            public static 
-            void ReplacementCode(Int32[] code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int32* code_ptr = code)
-                    {
-                        Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")]
-            public static 
-            unsafe void ReplacementCode(UInt32* code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeuivSUN((UInt32*)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeuivSUN")]
-            public static 
-            void ReplacementCode(UInt32[] code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt32* code_ptr = code)
-                    {
-                        Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusSUN")]
-            public static 
-            void ReplacementCode(Int16 code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeusSUN((UInt16)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusSUN")]
-            public static 
-            void ReplacementCode(UInt16 code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeusSUN((UInt16)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")]
-            public static 
-            unsafe void ReplacementCode(Int16* code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeusvSUN((UInt16*)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")]
-            public static 
-            void ReplacementCode(Int16[] code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Int16* code_ptr = code)
-                    {
-                        Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")]
-            public static 
-            unsafe void ReplacementCode(UInt16* code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glReplacementCodeusvSUN((UInt16*)code);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunTriangleList", Version = "1.1", EntryPoint = "glReplacementCodeusvSUN")]
-            public static 
-            void ReplacementCode(UInt16[] code)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (UInt16* code_ptr = code)
-                    {
-                        Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fSUN")]
-            public static 
-            void TexCoord2fColor3fVertex3(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fColor3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fvSUN")]
-            public static 
-            void TexCoord2fColor3fVertex3(ref Single tc, ref Single c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fvSUN")]
-            public static 
-            unsafe void TexCoord2fColor3fVertex3(Single* tc, Single* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor3fVertex3fvSUN")]
-            public static 
-            void TexCoord2fColor3fVertex3(Single[] tc, Single[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Single* c_ptr = c)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fSUN")]
-            public static 
-            void TexCoord2fColor4fNormal3fVertex3(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fColor4fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void TexCoord2fColor4fNormal3fVertex3(ref Single tc, ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void TexCoord2fColor4fNormal3fVertex3(Single* tc, Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN")]
-            public static 
-            void TexCoord2fColor4fNormal3fVertex3(Single[] tc, Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Single* c_ptr = c)
-                    fixed (Single* n_ptr = n)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fSUN")]
-            public static 
-            void TexCoord2fColor4ubVertex3(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fColor4ubVertex3fSUN((Single)s, (Single)t, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN")]
-            public static 
-            void TexCoord2fColor4ubVertex3(ref Single tc, ref Byte c, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Byte* c_ptr = &c)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN")]
-            public static 
-            unsafe void TexCoord2fColor4ubVertex3(Single* tc, Byte* c, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN")]
-            public static 
-            void TexCoord2fColor4ubVertex3(Single[] tc, Byte[] c, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Byte* c_ptr = c)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fSUN")]
-            public static 
-            void TexCoord2fNormal3fVertex3(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            void TexCoord2fNormal3fVertex3(ref Single tc, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            unsafe void TexCoord2fNormal3fVertex3(Single* tc, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN")]
-            public static 
-            void TexCoord2fNormal3fVertex3(Single[] tc, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Single* n_ptr = n)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fSUN")]
-            public static 
-            void TexCoord2fVertex3(Single s, Single t, Single x, Single y, Single z)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fVertex3fSUN((Single)s, (Single)t, (Single)x, (Single)y, (Single)z);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fvSUN")]
-            public static 
-            void TexCoord2fVertex3(ref Single tc, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fvSUN")]
-            public static 
-            unsafe void TexCoord2fVertex3(Single* tc, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord2fVertex3fvSUN")]
-            public static 
-            void TexCoord2fVertex3(Single[] tc, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fSUN")]
-            public static 
-            void TexCoord4fColor4fNormal3fVertex4(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord4fColor4fNormal3fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN")]
-            public static 
-            void TexCoord4fColor4fNormal3fVertex4(ref Single tc, ref Single c, ref Single n, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* c_ptr = &c)
-                    fixed (Single* n_ptr = &n)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN")]
-            public static 
-            unsafe void TexCoord4fColor4fNormal3fVertex4(Single* tc, Single* c, Single* n, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN")]
-            public static 
-            void TexCoord4fColor4fNormal3fVertex4(Single[] tc, Single[] c, Single[] n, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Single* c_ptr = c)
-                    fixed (Single* n_ptr = n)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fSUN")]
-            public static 
-            void TexCoord4fVertex4(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord4fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)x, (Single)y, (Single)z, (Single)w);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fvSUN")]
-            public static 
-            void TexCoord4fVertex4(ref Single tc, ref Single v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = &tc)
-                    fixed (Single* v_ptr = &v)
-                    {
-                        Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [System.CLSCompliant(false)]
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fvSUN")]
-            public static 
-            unsafe void TexCoord4fVertex4(Single* tc, Single* v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v);
-                #if DEBUG
-                }
-                #endif
-            }
-
-            [AutoGenerated(Category = "SunVertex", Version = "1.1", EntryPoint = "glTexCoord4fVertex4fvSUN")]
-            public static 
-            void TexCoord4fVertex4(Single[] tc, Single[] v)
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                unsafe
-                {
-                    fixed (Single* tc_ptr = tc)
-                    fixed (Single* v_ptr = v)
-                    {
-                        Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                    }
-                }
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-        public static partial class Sunx
-        {
-            [AutoGenerated(Category = "SunxConstantData", Version = "1.1", EntryPoint = "glFinishTextureSUNX")]
-            public static 
-            void FinishTexture()
-            {
-                #if DEBUG
-                using (new ErrorHelper(GraphicsContext.CurrentContext))
-                {
-                #endif
-                Delegates.glFinishTextureSUNX();
-                #if DEBUG
-                }
-                #endif
-            }
-
-        }
-
-    }
-}
diff --git a/Source/Compatibility/Graphics/GL/GLCore.cs b/Source/Compatibility/Graphics/GL/GLCore.cs
deleted file mode 100644 (file)
index 78b6b3e..0000000
+++ /dev/null
@@ -1,5743 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace OpenTK.Graphics
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 3019
-    #pragma warning disable 1591
-
-    partial class GL
-    {
-        [Obsolete]
-        internal static partial class Imports
-        {
-
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAccum", ExactSpelling = true)]
-            internal extern static void Accum(OpenTK.Graphics.AccumOp op, Single value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveStencilFaceEXT", ExactSpelling = true)]
-            internal extern static void ActiveStencilFaceEXT(OpenTK.Graphics.ExtStencilTwoSide face);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveTexture", ExactSpelling = true)]
-            internal extern static void ActiveTexture(OpenTK.Graphics.TextureUnit texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveTextureARB", ExactSpelling = true)]
-            internal extern static void ActiveTextureARB(OpenTK.Graphics.TextureUnit texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glActiveVaryingNV", ExactSpelling = true)]
-            internal extern static void ActiveVaryingNV(UInt32 program, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFragmentOp1ATI", ExactSpelling = true)]
-            internal extern static void AlphaFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFragmentOp2ATI", ExactSpelling = true)]
-            internal extern static void AlphaFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFragmentOp3ATI", ExactSpelling = true)]
-            internal extern static void AlphaFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAlphaFunc", ExactSpelling = true)]
-            internal extern static void AlphaFunc(OpenTK.Graphics.AlphaFunction func, Single @ref);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glApplyTextureEXT", ExactSpelling = true)]
-            internal extern static void ApplyTextureEXT(OpenTK.Graphics.ExtLightTexture mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAreProgramsResidentNV", ExactSpelling = true)]
-            internal extern static unsafe bool AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] bool* residences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAreTexturesResident", ExactSpelling = true)]
-            internal extern static unsafe bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAreTexturesResidentEXT", ExactSpelling = true)]
-            internal extern static unsafe bool AreTexturesResidentEXT(Int32 n, UInt32* textures, [Out] bool* residences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glArrayElement", ExactSpelling = true)]
-            internal extern static void ArrayElement(Int32 i);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glArrayElementEXT", ExactSpelling = true)]
-            internal extern static void ArrayElementEXT(Int32 i);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glArrayObjectATI", ExactSpelling = true)]
-            internal extern static void ArrayObjectATI(OpenTK.Graphics.EnableCap array, Int32 size, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAsyncMarkerSGIX", ExactSpelling = true)]
-            internal extern static void AsyncMarkerSGIX(UInt32 marker);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAttachObjectARB", ExactSpelling = true)]
-            internal extern static void AttachObjectARB(UInt32 containerObj, UInt32 obj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glAttachShader", ExactSpelling = true)]
-            internal extern static void AttachShader(UInt32 program, UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBegin", ExactSpelling = true)]
-            internal extern static void Begin(OpenTK.Graphics.BeginMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginConditionalRender", ExactSpelling = true)]
-            internal extern static void BeginConditionalRender(UInt32 id, OpenTK.Graphics.ConditionalRenderType mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginConditionalRenderNV", ExactSpelling = true)]
-            internal extern static void BeginConditionalRenderNV(UInt32 id, OpenTK.Graphics.NvConditionalRender mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginFragmentShaderATI", ExactSpelling = true)]
-            internal extern static void BeginFragmentShaderATI();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginOcclusionQueryNV", ExactSpelling = true)]
-            internal extern static void BeginOcclusionQueryNV(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginPerfMonitorAMD", ExactSpelling = true)]
-            internal extern static void BeginPerfMonitorAMD(UInt32 monitor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginQuery", ExactSpelling = true)]
-            internal extern static void BeginQuery(OpenTK.Graphics.QueryTarget target, UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginQueryARB", ExactSpelling = true)]
-            internal extern static void BeginQueryARB(OpenTK.Graphics.ArbOcclusionQuery target, UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginTransformFeedback", ExactSpelling = true)]
-            internal extern static void BeginTransformFeedback(OpenTK.Graphics.BeginFeedbackMode primitiveMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginTransformFeedbackEXT", ExactSpelling = true)]
-            internal extern static void BeginTransformFeedbackEXT(OpenTK.Graphics.ExtTransformFeedback primitiveMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static void BeginTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback primitiveMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBeginVertexShaderEXT", ExactSpelling = true)]
-            internal extern static void BeginVertexShaderEXT();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindAttribLocation", ExactSpelling = true)]
-            internal extern static void BindAttribLocation(UInt32 program, UInt32 index, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindAttribLocationARB", ExactSpelling = true)]
-            internal extern static void BindAttribLocationARB(UInt32 programObj, UInt32 index, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBuffer", ExactSpelling = true)]
-            internal extern static void BindBuffer(OpenTK.Graphics.BufferTarget target, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferARB", ExactSpelling = true)]
-            internal extern static void BindBufferARB(OpenTK.Graphics.BufferTargetArb target, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferBase", ExactSpelling = true)]
-            internal extern static void BindBufferBase(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferBaseEXT", ExactSpelling = true)]
-            internal extern static void BindBufferBaseEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferBaseNV", ExactSpelling = true)]
-            internal extern static void BindBufferBaseNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferOffsetEXT", ExactSpelling = true)]
-            internal extern static void BindBufferOffsetEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferOffsetNV", ExactSpelling = true)]
-            internal extern static void BindBufferOffsetNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferRange", ExactSpelling = true)]
-            internal extern static void BindBufferRange(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferRangeEXT", ExactSpelling = true)]
-            internal extern static void BindBufferRangeEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindBufferRangeNV", ExactSpelling = true)]
-            internal extern static void BindBufferRangeNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragDataLocation", ExactSpelling = true)]
-            internal extern static void BindFragDataLocation(UInt32 program, UInt32 color, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragDataLocationEXT", ExactSpelling = true)]
-            internal extern static void BindFragDataLocationEXT(UInt32 program, UInt32 color, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFragmentShaderATI", ExactSpelling = true)]
-            internal extern static void BindFragmentShaderATI(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFramebuffer", ExactSpelling = true)]
-            internal extern static void BindFramebuffer(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindFramebufferEXT", ExactSpelling = true)]
-            internal extern static void BindFramebufferEXT(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindLightParameterEXT", ExactSpelling = true)]
-            internal extern static Int32 BindLightParameterEXT(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindMaterialParameterEXT", ExactSpelling = true)]
-            internal extern static Int32 BindMaterialParameterEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindMultiTextureEXT", ExactSpelling = true)]
-            internal extern static void BindMultiTextureEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindParameterEXT", ExactSpelling = true)]
-            internal extern static Int32 BindParameterEXT(OpenTK.Graphics.ExtVertexShader value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindProgramARB", ExactSpelling = true)]
-            internal extern static void BindProgramARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindProgramNV", ExactSpelling = true)]
-            internal extern static void BindProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindRenderbuffer", ExactSpelling = true)]
-            internal extern static void BindRenderbuffer(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindRenderbufferEXT", ExactSpelling = true)]
-            internal extern static void BindRenderbufferEXT(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTexGenParameterEXT", ExactSpelling = true)]
-            internal extern static Int32 BindTexGenParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTexture", ExactSpelling = true)]
-            internal extern static void BindTexture(OpenTK.Graphics.TextureTarget target, UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTextureEXT", ExactSpelling = true)]
-            internal extern static void BindTextureEXT(OpenTK.Graphics.TextureTarget target, UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTextureUnitParameterEXT", ExactSpelling = true)]
-            internal extern static Int32 BindTextureUnitParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.ExtVertexShader value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static void BindTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 target, UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindVertexArray", ExactSpelling = true)]
-            internal extern static void BindVertexArray(UInt32 array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindVertexArrayAPPLE", ExactSpelling = true)]
-            internal extern static void BindVertexArrayAPPLE(UInt32 array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBindVertexShaderEXT", ExactSpelling = true)]
-            internal extern static void BindVertexShaderEXT(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3bEXT", ExactSpelling = true)]
-            internal extern static void Binormal3bEXT(SByte bx, SByte by, SByte bz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3bvEXT", ExactSpelling = true)]
-            internal extern static unsafe void Binormal3bvEXT(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3dEXT", ExactSpelling = true)]
-            internal extern static void Binormal3dEXT(Double bx, Double by, Double bz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3dvEXT", ExactSpelling = true)]
-            internal extern static unsafe void Binormal3dvEXT(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3fEXT", ExactSpelling = true)]
-            internal extern static void Binormal3fEXT(Single bx, Single by, Single bz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void Binormal3fvEXT(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3iEXT", ExactSpelling = true)]
-            internal extern static void Binormal3iEXT(Int32 bx, Int32 by, Int32 bz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void Binormal3ivEXT(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3sEXT", ExactSpelling = true)]
-            internal extern static void Binormal3sEXT(Int16 bx, Int16 by, Int16 bz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormal3svEXT", ExactSpelling = true)]
-            internal extern static unsafe void Binormal3svEXT(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBinormalPointerEXT", ExactSpelling = true)]
-            internal extern static void BinormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBitmap", ExactSpelling = true)]
-            internal extern static unsafe void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendColor", ExactSpelling = true)]
-            internal extern static void BlendColor(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendColorEXT", ExactSpelling = true)]
-            internal extern static void BlendColorEXT(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquation", ExactSpelling = true)]
-            internal extern static void BlendEquation(OpenTK.Graphics.BlendEquationMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationEXT", ExactSpelling = true)]
-            internal extern static void BlendEquationEXT(OpenTK.Graphics.ExtBlendMinmax mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationi", ExactSpelling = true)]
-            internal extern static void BlendEquationi(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationIndexedAMD", ExactSpelling = true)]
-            internal extern static void BlendEquationIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparate", ExactSpelling = true)]
-            internal extern static void BlendEquationSeparate(OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparateEXT", ExactSpelling = true)]
-            internal extern static void BlendEquationSeparateEXT(OpenTK.Graphics.ExtBlendEquationSeparate modeRGB, OpenTK.Graphics.ExtBlendEquationSeparate modeAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparatei", ExactSpelling = true)]
-            internal extern static void BlendEquationSeparatei(UInt32 buf, OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendEquationSeparateIndexedAMD", ExactSpelling = true)]
-            internal extern static void BlendEquationSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend modeRGB, OpenTK.Graphics.AmdDrawBuffersBlend modeAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFunc", ExactSpelling = true)]
-            internal extern static void BlendFunc(OpenTK.Graphics.BlendingFactorSrc sfactor, OpenTK.Graphics.BlendingFactorDest dfactor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFunci", ExactSpelling = true)]
-            internal extern static void BlendFunci(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend src, OpenTK.Graphics.ArbDrawBuffersBlend dst);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncIndexedAMD", ExactSpelling = true)]
-            internal extern static void BlendFuncIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend src, OpenTK.Graphics.AmdDrawBuffersBlend dst);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparate", ExactSpelling = true)]
-            internal extern static void BlendFuncSeparate(OpenTK.Graphics.BlendingFactorSrc sfactorRGB, OpenTK.Graphics.BlendingFactorDest dfactorRGB, OpenTK.Graphics.BlendingFactorSrc sfactorAlpha, OpenTK.Graphics.BlendingFactorDest dfactorAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparateEXT", ExactSpelling = true)]
-            internal extern static void BlendFuncSeparateEXT(OpenTK.Graphics.ExtBlendFuncSeparate sfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate dfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate sfactorAlpha, OpenTK.Graphics.ExtBlendFuncSeparate dfactorAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparatei", ExactSpelling = true)]
-            internal extern static void BlendFuncSeparatei(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend srcRGB, OpenTK.Graphics.ArbDrawBuffersBlend dstRGB, OpenTK.Graphics.ArbDrawBuffersBlend srcAlpha, OpenTK.Graphics.ArbDrawBuffersBlend dstAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparateIndexedAMD", ExactSpelling = true)]
-            internal extern static void BlendFuncSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend srcRGB, OpenTK.Graphics.AmdDrawBuffersBlend dstRGB, OpenTK.Graphics.AmdDrawBuffersBlend srcAlpha, OpenTK.Graphics.AmdDrawBuffersBlend dstAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlendFuncSeparateINGR", ExactSpelling = true)]
-            internal extern static void BlendFuncSeparateINGR(OpenTK.Graphics.All sfactorRGB, OpenTK.Graphics.All dfactorRGB, OpenTK.Graphics.All sfactorAlpha, OpenTK.Graphics.All dfactorAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlitFramebuffer", ExactSpelling = true)]
-            internal extern static void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.BlitFramebufferFilter filter);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBlitFramebufferEXT", ExactSpelling = true)]
-            internal extern static void BlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.ExtFramebufferBlit filter);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferData", ExactSpelling = true)]
-            internal extern static void BufferData(OpenTK.Graphics.BufferTarget target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageHint usage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferDataARB", ExactSpelling = true)]
-            internal extern static void BufferDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageArb usage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferParameteriAPPLE", ExactSpelling = true)]
-            internal extern static void BufferParameteriAPPLE(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterApple pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferSubData", ExactSpelling = true)]
-            internal extern static void BufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glBufferSubDataARB", ExactSpelling = true)]
-            internal extern static void BufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCallList", ExactSpelling = true)]
-            internal extern static void CallList(UInt32 list);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCallLists", ExactSpelling = true)]
-            internal extern static void CallLists(Int32 n, OpenTK.Graphics.ListNameType type, IntPtr lists);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckFramebufferStatus", ExactSpelling = true)]
-            internal extern static OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatus(OpenTK.Graphics.FramebufferTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckFramebufferStatusEXT", ExactSpelling = true)]
-            internal extern static OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatusEXT(OpenTK.Graphics.FramebufferTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCheckNamedFramebufferStatusEXT", ExactSpelling = true)]
-            internal extern static OpenTK.Graphics.ExtDirectStateAccess CheckNamedFramebufferStatusEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClampColor", ExactSpelling = true)]
-            internal extern static void ClampColor(OpenTK.Graphics.ClampColorTarget target, OpenTK.Graphics.ClampColorMode clamp);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClampColorARB", ExactSpelling = true)]
-            internal extern static void ClampColorARB(OpenTK.Graphics.ArbColorBufferFloat target, OpenTK.Graphics.ArbColorBufferFloat clamp);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClear", ExactSpelling = true)]
-            internal extern static void Clear(OpenTK.Graphics.ClearBufferMask mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearAccum", ExactSpelling = true)]
-            internal extern static void ClearAccum(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferfi", ExactSpelling = true)]
-            internal extern static void ClearBufferfi(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single depth, Int32 stencil);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferfv", ExactSpelling = true)]
-            internal extern static unsafe void ClearBufferfv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferiv", ExactSpelling = true)]
-            internal extern static unsafe void ClearBufferiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearBufferuiv", ExactSpelling = true)]
-            internal extern static unsafe void ClearBufferuiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColor", ExactSpelling = true)]
-            internal extern static void ClearColor(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColorIiEXT", ExactSpelling = true)]
-            internal extern static void ClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearColorIuiEXT", ExactSpelling = true)]
-            internal extern static void ClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearDepth", ExactSpelling = true)]
-            internal extern static void ClearDepth(Double depth);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearDepthdNV", ExactSpelling = true)]
-            internal extern static void ClearDepthdNV(Double depth);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearIndex", ExactSpelling = true)]
-            internal extern static void ClearIndex(Single c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClearStencil", ExactSpelling = true)]
-            internal extern static void ClearStencil(Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveTexture", ExactSpelling = true)]
-            internal extern static void ClientActiveTexture(OpenTK.Graphics.TextureUnit texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveTextureARB", ExactSpelling = true)]
-            internal extern static void ClientActiveTextureARB(OpenTK.Graphics.TextureUnit texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientActiveVertexStreamATI", ExactSpelling = true)]
-            internal extern static void ClientActiveVertexStreamATI(OpenTK.Graphics.AtiVertexStreams stream);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientAttribDefaultEXT", ExactSpelling = true)]
-            internal extern static void ClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClientWaitSync", ExactSpelling = true)]
-            internal extern static OpenTK.Graphics.ArbSync ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glClipPlane", ExactSpelling = true)]
-            internal extern static unsafe void ClipPlane(OpenTK.Graphics.ClipPlaneName plane, Double* equation);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3b", ExactSpelling = true)]
-            internal extern static void Color3b(SByte red, SByte green, SByte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3bv", ExactSpelling = true)]
-            internal extern static unsafe void Color3bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3d", ExactSpelling = true)]
-            internal extern static void Color3d(Double red, Double green, Double blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3dv", ExactSpelling = true)]
-            internal extern static unsafe void Color3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3f", ExactSpelling = true)]
-            internal extern static void Color3f(Single red, Single green, Single blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3fv", ExactSpelling = true)]
-            internal extern static unsafe void Color3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void Color3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void Color3fVertex3fvSUN(Single* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3hNV", ExactSpelling = true)]
-            internal extern static void Color3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void Color3hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3i", ExactSpelling = true)]
-            internal extern static void Color3i(Int32 red, Int32 green, Int32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3iv", ExactSpelling = true)]
-            internal extern static unsafe void Color3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3s", ExactSpelling = true)]
-            internal extern static void Color3s(Int16 red, Int16 green, Int16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3sv", ExactSpelling = true)]
-            internal extern static unsafe void Color3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3ub", ExactSpelling = true)]
-            internal extern static void Color3ub(Byte red, Byte green, Byte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3ubv", ExactSpelling = true)]
-            internal extern static unsafe void Color3ubv(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3ui", ExactSpelling = true)]
-            internal extern static void Color3ui(UInt32 red, UInt32 green, UInt32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3uiv", ExactSpelling = true)]
-            internal extern static unsafe void Color3uiv(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3us", ExactSpelling = true)]
-            internal extern static void Color3us(UInt16 red, UInt16 green, UInt16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor3usv", ExactSpelling = true)]
-            internal extern static unsafe void Color3usv(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4b", ExactSpelling = true)]
-            internal extern static void Color4b(SByte red, SByte green, SByte blue, SByte alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4bv", ExactSpelling = true)]
-            internal extern static unsafe void Color4bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4d", ExactSpelling = true)]
-            internal extern static void Color4d(Double red, Double green, Double blue, Double alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4dv", ExactSpelling = true)]
-            internal extern static unsafe void Color4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4f", ExactSpelling = true)]
-            internal extern static void Color4f(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4fNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void Color4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4fNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void Color4fNormal3fVertex3fvSUN(Single* c, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4fv", ExactSpelling = true)]
-            internal extern static unsafe void Color4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4hNV", ExactSpelling = true)]
-            internal extern static void Color4hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue, OpenTK.Half alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4hvNV", ExactSpelling = true)]
-            internal extern static unsafe void Color4hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4i", ExactSpelling = true)]
-            internal extern static void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4iv", ExactSpelling = true)]
-            internal extern static unsafe void Color4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4s", ExactSpelling = true)]
-            internal extern static void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4sv", ExactSpelling = true)]
-            internal extern static unsafe void Color4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ub", ExactSpelling = true)]
-            internal extern static void Color4ub(Byte red, Byte green, Byte blue, Byte alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubv", ExactSpelling = true)]
-            internal extern static unsafe void Color4ubv(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex2fSUN", ExactSpelling = true)]
-            internal extern static void Color4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex2fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void Color4ubVertex2fvSUN(Byte* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex3fSUN", ExactSpelling = true)]
-            internal extern static void Color4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ubVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void Color4ubVertex3fvSUN(Byte* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4ui", ExactSpelling = true)]
-            internal extern static void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4uiv", ExactSpelling = true)]
-            internal extern static unsafe void Color4uiv(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4us", ExactSpelling = true)]
-            internal extern static void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColor4usv", ExactSpelling = true)]
-            internal extern static unsafe void Color4usv(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorFragmentOp1ATI", ExactSpelling = true)]
-            internal extern static void ColorFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorFragmentOp2ATI", ExactSpelling = true)]
-            internal extern static void ColorFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorFragmentOp3ATI", ExactSpelling = true)]
-            internal extern static void ColorFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMask", ExactSpelling = true)]
-            internal extern static void ColorMask(bool red, bool green, bool blue, bool alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMaski", ExactSpelling = true)]
-            internal extern static void ColorMaski(UInt32 index, bool r, bool g, bool b, bool a);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMaskIndexedEXT", ExactSpelling = true)]
-            internal extern static void ColorMaskIndexedEXT(UInt32 index, bool r, bool g, bool b, bool a);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorMaterial", ExactSpelling = true)]
-            internal extern static void ColorMaterial(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ColorMaterialParameter mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointer", ExactSpelling = true)]
-            internal extern static void ColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointerEXT", ExactSpelling = true)]
-            internal extern static void ColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointerListIBM", ExactSpelling = true)]
-            internal extern static void ColorPointerListIBM(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorPointervINTEL", ExactSpelling = true)]
-            internal extern static void ColorPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorSubTable", ExactSpelling = true)]
-            internal extern static void ColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorSubTableEXT", ExactSpelling = true)]
-            internal extern static void ColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTable", ExactSpelling = true)]
-            internal extern static void ColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableEXT", ExactSpelling = true)]
-            internal extern static void ColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalFormat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void ColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameterfvSGI", ExactSpelling = true)]
-            internal extern static unsafe void ColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void ColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableParameterivSGI", ExactSpelling = true)]
-            internal extern static unsafe void ColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glColorTableSGI", ExactSpelling = true)]
-            internal extern static void ColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerInputNV", ExactSpelling = true)]
-            internal extern static void CombinerInputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerOutputNV", ExactSpelling = true)]
-            internal extern static void CombinerOutputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners abOutput, OpenTK.Graphics.NvRegisterCombiners cdOutput, OpenTK.Graphics.NvRegisterCombiners sumOutput, OpenTK.Graphics.NvRegisterCombiners scale, OpenTK.Graphics.NvRegisterCombiners bias, bool abDotProduct, bool cdDotProduct, bool muxSum);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameterfNV", ExactSpelling = true)]
-            internal extern static void CombinerParameterfNV(OpenTK.Graphics.NvRegisterCombiners pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void CombinerParameterfvNV(OpenTK.Graphics.NvRegisterCombiners pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameteriNV", ExactSpelling = true)]
-            internal extern static void CombinerParameteriNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void CombinerParameterivNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCombinerStageParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void CombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompileShader", ExactSpelling = true)]
-            internal extern static void CompileShader(UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompileShaderARB", ExactSpelling = true)]
-            internal extern static void CompileShaderARB(UInt32 shaderObj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexImage1DEXT", ExactSpelling = true)]
-            internal extern static void CompressedMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexImage2DEXT", ExactSpelling = true)]
-            internal extern static void CompressedMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexImage3DEXT", ExactSpelling = true)]
-            internal extern static void CompressedMultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void CompressedMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void CompressedMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedMultiTexSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void CompressedMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage1D", ExactSpelling = true)]
-            internal extern static void CompressedTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage1DARB", ExactSpelling = true)]
-            internal extern static void CompressedTexImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage2D", ExactSpelling = true)]
-            internal extern static void CompressedTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage2DARB", ExactSpelling = true)]
-            internal extern static void CompressedTexImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage3D", ExactSpelling = true)]
-            internal extern static void CompressedTexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexImage3DARB", ExactSpelling = true)]
-            internal extern static void CompressedTexImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage1D", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage1DARB", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage2D", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage2DARB", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage3D", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTexSubImage3DARB", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureImage1DEXT", ExactSpelling = true)]
-            internal extern static void CompressedTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureImage2DEXT", ExactSpelling = true)]
-            internal extern static void CompressedTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureImage3DEXT", ExactSpelling = true)]
-            internal extern static void CompressedTextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void CompressedTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void CompressedTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCompressedTextureSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void CompressedTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter1D", ExactSpelling = true)]
-            internal extern static void ConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter1DEXT", ExactSpelling = true)]
-            internal extern static void ConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter2D", ExactSpelling = true)]
-            internal extern static void ConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionFilter2DEXT", ExactSpelling = true)]
-            internal extern static void ConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterf", ExactSpelling = true)]
-            internal extern static void ConvolutionParameterf(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterfEXT", ExactSpelling = true)]
-            internal extern static void ConvolutionParameterfEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void ConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameteri", ExactSpelling = true)]
-            internal extern static void ConvolutionParameteri(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32 @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameteriEXT", ExactSpelling = true)]
-            internal extern static void ConvolutionParameteriEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32 @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void ConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glConvolutionParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyBufferSubData", ExactSpelling = true)]
-            internal extern static void CopyBufferSubData(OpenTK.Graphics.BufferTarget readTarget, OpenTK.Graphics.BufferTarget writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorSubTable", ExactSpelling = true)]
-            internal extern static void CopyColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorSubTableEXT", ExactSpelling = true)]
-            internal extern static void CopyColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorTable", ExactSpelling = true)]
-            internal extern static void CopyColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyColorTableSGI", ExactSpelling = true)]
-            internal extern static void CopyColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter1D", ExactSpelling = true)]
-            internal extern static void CopyConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter1DEXT", ExactSpelling = true)]
-            internal extern static void CopyConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter2D", ExactSpelling = true)]
-            internal extern static void CopyConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyConvolutionFilter2DEXT", ExactSpelling = true)]
-            internal extern static void CopyConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexImage1DEXT", ExactSpelling = true)]
-            internal extern static void CopyMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexImage2DEXT", ExactSpelling = true)]
-            internal extern static void CopyMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void CopyMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void CopyMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyMultiTexSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void CopyMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyPixels", ExactSpelling = true)]
-            internal extern static void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelCopyType type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage1D", ExactSpelling = true)]
-            internal extern static void CopyTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage1DEXT", ExactSpelling = true)]
-            internal extern static void CopyTexImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage2D", ExactSpelling = true)]
-            internal extern static void CopyTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexImage2DEXT", ExactSpelling = true)]
-            internal extern static void CopyTexImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage1D", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage2D", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage3D", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTexSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureImage1DEXT", ExactSpelling = true)]
-            internal extern static void CopyTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureImage2DEXT", ExactSpelling = true)]
-            internal extern static void CopyTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void CopyTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void CopyTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCopyTextureSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void CopyTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateProgram", ExactSpelling = true)]
-            internal extern static Int32 CreateProgram();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateProgramObjectARB", ExactSpelling = true)]
-            internal extern static Int32 CreateProgramObjectARB();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateShader", ExactSpelling = true)]
-            internal extern static Int32 CreateShader(OpenTK.Graphics.ShaderType type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCreateShaderObjectARB", ExactSpelling = true)]
-            internal extern static Int32 CreateShaderObjectARB(OpenTK.Graphics.ArbShaderObjects shaderType);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullFace", ExactSpelling = true)]
-            internal extern static void CullFace(OpenTK.Graphics.CullFaceMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullParameterdvEXT", ExactSpelling = true)]
-            internal extern static unsafe void CullParameterdvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCullParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void CullParameterfvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glCurrentPaletteMatrixARB", ExactSpelling = true)]
-            internal extern static void CurrentPaletteMatrixARB(Int32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeformationMap3dSGIX", ExactSpelling = true)]
-            internal extern static unsafe void DeformationMap3dSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeformationMap3fSGIX", ExactSpelling = true)]
-            internal extern static unsafe void DeformationMap3fSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeformSGIX", ExactSpelling = true)]
-            internal extern static void DeformSGIX(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteAsyncMarkersSGIX", ExactSpelling = true)]
-            internal extern static void DeleteAsyncMarkersSGIX(UInt32 marker, Int32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteBuffers", ExactSpelling = true)]
-            internal extern static unsafe void DeleteBuffers(Int32 n, UInt32* buffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteBuffersARB", ExactSpelling = true)]
-            internal extern static unsafe void DeleteBuffersARB(Int32 n, UInt32* buffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFencesAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void DeleteFencesAPPLE(Int32 n, UInt32* fences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFencesNV", ExactSpelling = true)]
-            internal extern static unsafe void DeleteFencesNV(Int32 n, UInt32* fences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFragmentShaderATI", ExactSpelling = true)]
-            internal extern static void DeleteFragmentShaderATI(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFramebuffers", ExactSpelling = true)]
-            internal extern static unsafe void DeleteFramebuffers(Int32 n, UInt32* framebuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteFramebuffersEXT", ExactSpelling = true)]
-            internal extern static unsafe void DeleteFramebuffersEXT(Int32 n, UInt32* framebuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteLists", ExactSpelling = true)]
-            internal extern static void DeleteLists(UInt32 list, Int32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteObjectARB", ExactSpelling = true)]
-            internal extern static void DeleteObjectARB(UInt32 obj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteOcclusionQueriesNV", ExactSpelling = true)]
-            internal extern static unsafe void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeletePerfMonitorsAMD", ExactSpelling = true)]
-            internal extern static unsafe void DeletePerfMonitorsAMD(Int32 n, [Out] UInt32* monitors);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgram", ExactSpelling = true)]
-            internal extern static void DeleteProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgramsARB", ExactSpelling = true)]
-            internal extern static unsafe void DeleteProgramsARB(Int32 n, UInt32* programs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteProgramsNV", ExactSpelling = true)]
-            internal extern static unsafe void DeleteProgramsNV(Int32 n, UInt32* programs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteQueries", ExactSpelling = true)]
-            internal extern static unsafe void DeleteQueries(Int32 n, UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteQueriesARB", ExactSpelling = true)]
-            internal extern static unsafe void DeleteQueriesARB(Int32 n, UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteRenderbuffers", ExactSpelling = true)]
-            internal extern static unsafe void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteRenderbuffersEXT", ExactSpelling = true)]
-            internal extern static unsafe void DeleteRenderbuffersEXT(Int32 n, UInt32* renderbuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteShader", ExactSpelling = true)]
-            internal extern static void DeleteShader(UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteSync", ExactSpelling = true)]
-            internal extern static void DeleteSync(IntPtr sync);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteTextures", ExactSpelling = true)]
-            internal extern static unsafe void DeleteTextures(Int32 n, UInt32* textures);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteTexturesEXT", ExactSpelling = true)]
-            internal extern static unsafe void DeleteTexturesEXT(Int32 n, UInt32* textures);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteTransformFeedbacksNV", ExactSpelling = true)]
-            internal extern static unsafe void DeleteTransformFeedbacksNV(Int32 n, UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteVertexArrays", ExactSpelling = true)]
-            internal extern static unsafe void DeleteVertexArrays(Int32 n, UInt32* arrays);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteVertexArraysAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void DeleteVertexArraysAPPLE(Int32 n, UInt32* arrays);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDeleteVertexShaderEXT", ExactSpelling = true)]
-            internal extern static void DeleteVertexShaderEXT(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthBoundsdNV", ExactSpelling = true)]
-            internal extern static void DepthBoundsdNV(Double zmin, Double zmax);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthBoundsEXT", ExactSpelling = true)]
-            internal extern static void DepthBoundsEXT(Double zmin, Double zmax);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthFunc", ExactSpelling = true)]
-            internal extern static void DepthFunc(OpenTK.Graphics.DepthFunction func);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthMask", ExactSpelling = true)]
-            internal extern static void DepthMask(bool flag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthRange", ExactSpelling = true)]
-            internal extern static void DepthRange(Double near, Double far);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDepthRangedNV", ExactSpelling = true)]
-            internal extern static void DepthRangedNV(Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDetachObjectARB", ExactSpelling = true)]
-            internal extern static void DetachObjectARB(UInt32 containerObj, UInt32 attachedObj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDetachShader", ExactSpelling = true)]
-            internal extern static void DetachShader(UInt32 program, UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDetailTexFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void DetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisable", ExactSpelling = true)]
-            internal extern static void Disable(OpenTK.Graphics.EnableCap cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableClientState", ExactSpelling = true)]
-            internal extern static void DisableClientState(OpenTK.Graphics.EnableCap array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableClientStateIndexedEXT", ExactSpelling = true)]
-            internal extern static void DisableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisablei", ExactSpelling = true)]
-            internal extern static void Disablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableIndexedEXT", ExactSpelling = true)]
-            internal extern static void DisableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVariantClientStateEXT", ExactSpelling = true)]
-            internal extern static void DisableVariantClientStateEXT(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribAPPLE", ExactSpelling = true)]
-            internal extern static void DisableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribArray", ExactSpelling = true)]
-            internal extern static void DisableVertexAttribArray(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDisableVertexAttribArrayARB", ExactSpelling = true)]
-            internal extern static void DisableVertexAttribArrayARB(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArrays", ExactSpelling = true)]
-            internal extern static void DrawArrays(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysEXT", ExactSpelling = true)]
-            internal extern static void DrawArraysEXT(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysInstanced", ExactSpelling = true)]
-            internal extern static void DrawArraysInstanced(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysInstancedARB", ExactSpelling = true)]
-            internal extern static void DrawArraysInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawArraysInstancedEXT", ExactSpelling = true)]
-            internal extern static void DrawArraysInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 start, Int32 count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffer", ExactSpelling = true)]
-            internal extern static void DrawBuffer(OpenTK.Graphics.DrawBufferMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffers", ExactSpelling = true)]
-            internal extern static unsafe void DrawBuffers(Int32 n, OpenTK.Graphics.DrawBuffersEnum* bufs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffersARB", ExactSpelling = true)]
-            internal extern static unsafe void DrawBuffersARB(Int32 n, OpenTK.Graphics.ArbDrawBuffers* bufs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawBuffersATI", ExactSpelling = true)]
-            internal extern static unsafe void DrawBuffersATI(Int32 n, OpenTK.Graphics.AtiDrawBuffers* bufs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementArrayAPPLE", ExactSpelling = true)]
-            internal extern static void DrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementArrayATI", ExactSpelling = true)]
-            internal extern static void DrawElementArrayATI(OpenTK.Graphics.BeginMode mode, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElements", ExactSpelling = true)]
-            internal extern static void DrawElements(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsBaseVertex", ExactSpelling = true)]
-            internal extern static void DrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstanced", ExactSpelling = true)]
-            internal extern static void DrawElementsInstanced(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstancedARB", ExactSpelling = true)]
-            internal extern static void DrawElementsInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstancedBaseVertex", ExactSpelling = true)]
-            internal extern static void DrawElementsInstancedBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 basevertex);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawElementsInstancedEXT", ExactSpelling = true)]
-            internal extern static void DrawElementsInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawMeshArraysSUN", ExactSpelling = true)]
-            internal extern static void DrawMeshArraysSUN(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawPixels", ExactSpelling = true)]
-            internal extern static void DrawPixels(Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementArrayAPPLE", ExactSpelling = true)]
-            internal extern static void DrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 first, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementArrayATI", ExactSpelling = true)]
-            internal extern static void DrawRangeElementArrayATI(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElements", ExactSpelling = true)]
-            internal extern static void DrawRangeElements(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementsBaseVertex", ExactSpelling = true)]
-            internal extern static void DrawRangeElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawRangeElementsEXT", ExactSpelling = true)]
-            internal extern static void DrawRangeElementsEXT(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glDrawTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static void DrawTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 mode, UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlag", ExactSpelling = true)]
-            internal extern static void EdgeFlag(bool flag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagPointer", ExactSpelling = true)]
-            internal extern static void EdgeFlagPointer(Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagPointerEXT", ExactSpelling = true)]
-            internal extern static unsafe void EdgeFlagPointerEXT(Int32 stride, Int32 count, bool* pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagPointerListIBM", ExactSpelling = true)]
-            internal extern static unsafe void EdgeFlagPointerListIBM(Int32 stride, bool* pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEdgeFlagv", ExactSpelling = true)]
-            internal extern static unsafe void EdgeFlagv(bool* flag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glElementPointerAPPLE", ExactSpelling = true)]
-            internal extern static void ElementPointerAPPLE(OpenTK.Graphics.AppleElementArray type, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glElementPointerATI", ExactSpelling = true)]
-            internal extern static void ElementPointerATI(OpenTK.Graphics.AtiElementArray type, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnable", ExactSpelling = true)]
-            internal extern static void Enable(OpenTK.Graphics.EnableCap cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableClientState", ExactSpelling = true)]
-            internal extern static void EnableClientState(OpenTK.Graphics.EnableCap array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableClientStateIndexedEXT", ExactSpelling = true)]
-            internal extern static void EnableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnablei", ExactSpelling = true)]
-            internal extern static void Enablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableIndexedEXT", ExactSpelling = true)]
-            internal extern static void EnableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVariantClientStateEXT", ExactSpelling = true)]
-            internal extern static void EnableVariantClientStateEXT(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribAPPLE", ExactSpelling = true)]
-            internal extern static void EnableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribArray", ExactSpelling = true)]
-            internal extern static void EnableVertexAttribArray(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnableVertexAttribArrayARB", ExactSpelling = true)]
-            internal extern static void EnableVertexAttribArrayARB(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEnd", ExactSpelling = true)]
-            internal extern static void End();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndConditionalRender", ExactSpelling = true)]
-            internal extern static void EndConditionalRender();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndConditionalRenderNV", ExactSpelling = true)]
-            internal extern static void EndConditionalRenderNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndFragmentShaderATI", ExactSpelling = true)]
-            internal extern static void EndFragmentShaderATI();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndList", ExactSpelling = true)]
-            internal extern static void EndList();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndOcclusionQueryNV", ExactSpelling = true)]
-            internal extern static void EndOcclusionQueryNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndPerfMonitorAMD", ExactSpelling = true)]
-            internal extern static void EndPerfMonitorAMD(UInt32 monitor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndQuery", ExactSpelling = true)]
-            internal extern static void EndQuery(OpenTK.Graphics.QueryTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndQueryARB", ExactSpelling = true)]
-            internal extern static void EndQueryARB(OpenTK.Graphics.ArbOcclusionQuery target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndTransformFeedback", ExactSpelling = true)]
-            internal extern static void EndTransformFeedback();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndTransformFeedbackEXT", ExactSpelling = true)]
-            internal extern static void EndTransformFeedbackEXT();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static void EndTransformFeedbackNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEndVertexShaderEXT", ExactSpelling = true)]
-            internal extern static void EndVertexShaderEXT();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1d", ExactSpelling = true)]
-            internal extern static void EvalCoord1d(Double u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1dv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord1dv(Double* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1f", ExactSpelling = true)]
-            internal extern static void EvalCoord1f(Single u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord1fv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord1fv(Single* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2d", ExactSpelling = true)]
-            internal extern static void EvalCoord2d(Double u, Double v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2dv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord2dv(Double* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2f", ExactSpelling = true)]
-            internal extern static void EvalCoord2f(Single u, Single v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalCoord2fv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord2fv(Single* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalMapsNV", ExactSpelling = true)]
-            internal extern static void EvalMapsNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalMesh1", ExactSpelling = true)]
-            internal extern static void EvalMesh1(OpenTK.Graphics.MeshMode1 mode, Int32 i1, Int32 i2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalMesh2", ExactSpelling = true)]
-            internal extern static void EvalMesh2(OpenTK.Graphics.MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalPoint1", ExactSpelling = true)]
-            internal extern static void EvalPoint1(Int32 i);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glEvalPoint2", ExactSpelling = true)]
-            internal extern static void EvalPoint2(Int32 i, Int32 j);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glExecuteProgramNV", ExactSpelling = true)]
-            internal extern static unsafe void ExecuteProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glExtractComponentEXT", ExactSpelling = true)]
-            internal extern static void ExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFeedbackBuffer", ExactSpelling = true)]
-            internal extern static unsafe void FeedbackBuffer(Int32 size, OpenTK.Graphics.FeedbackType type, [Out] Single* buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFenceSync", ExactSpelling = true)]
-            internal extern static IntPtr FenceSync(OpenTK.Graphics.ArbSync condition, UInt32 flags);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinalCombinerInputNV", ExactSpelling = true)]
-            internal extern static void FinalCombinerInputNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinish", ExactSpelling = true)]
-            internal extern static void Finish();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishAsyncSGIX", ExactSpelling = true)]
-            internal extern static unsafe Int32 FinishAsyncSGIX([Out] UInt32* markerp);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishFenceAPPLE", ExactSpelling = true)]
-            internal extern static void FinishFenceAPPLE(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishFenceNV", ExactSpelling = true)]
-            internal extern static void FinishFenceNV(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishObjectAPPLE", ExactSpelling = true)]
-            internal extern static void FinishObjectAPPLE(OpenTK.Graphics.AppleFence @object, Int32 name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFinishTextureSUNX", ExactSpelling = true)]
-            internal extern static void FinishTextureSUNX();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlush", ExactSpelling = true)]
-            internal extern static void Flush();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushMappedBufferRange", ExactSpelling = true)]
-            internal extern static void FlushMappedBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushMappedBufferRangeAPPLE", ExactSpelling = true)]
-            internal extern static void FlushMappedBufferRangeAPPLE(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushPixelDataRangeNV", ExactSpelling = true)]
-            internal extern static void FlushPixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushRasterSGIX", ExactSpelling = true)]
-            internal extern static void FlushRasterSGIX();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushVertexArrayRangeAPPLE", ExactSpelling = true)]
-            internal extern static void FlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFlushVertexArrayRangeNV", ExactSpelling = true)]
-            internal extern static void FlushVertexArrayRangeNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordd", ExactSpelling = true)]
-            internal extern static void FogCoordd(Double coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoorddEXT", ExactSpelling = true)]
-            internal extern static void FogCoorddEXT(Double coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoorddv", ExactSpelling = true)]
-            internal extern static unsafe void FogCoorddv(Double* coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoorddvEXT", ExactSpelling = true)]
-            internal extern static unsafe void FogCoorddvEXT(Double* coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordf", ExactSpelling = true)]
-            internal extern static void FogCoordf(Single coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordfEXT", ExactSpelling = true)]
-            internal extern static void FogCoordfEXT(Single coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordfv", ExactSpelling = true)]
-            internal extern static unsafe void FogCoordfv(Single* coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void FogCoordfvEXT(Single* coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordhNV", ExactSpelling = true)]
-            internal extern static void FogCoordhNV(OpenTK.Half fog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordhvNV", ExactSpelling = true)]
-            internal extern static unsafe void FogCoordhvNV(OpenTK.Half* fog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordPointer", ExactSpelling = true)]
-            internal extern static void FogCoordPointer(OpenTK.Graphics.FogPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordPointerEXT", ExactSpelling = true)]
-            internal extern static void FogCoordPointerEXT(OpenTK.Graphics.ExtFogCoord type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogCoordPointerListIBM", ExactSpelling = true)]
-            internal extern static void FogCoordPointerListIBM(OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogf", ExactSpelling = true)]
-            internal extern static void Fogf(OpenTK.Graphics.FogParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void FogFuncSGIS(Int32 n, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogfv", ExactSpelling = true)]
-            internal extern static unsafe void Fogfv(OpenTK.Graphics.FogParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogi", ExactSpelling = true)]
-            internal extern static void Fogi(OpenTK.Graphics.FogParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFogiv", ExactSpelling = true)]
-            internal extern static unsafe void Fogiv(OpenTK.Graphics.FogParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentColorMaterialSGIX", ExactSpelling = true)]
-            internal extern static void FragmentColorMaterialSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightfSGIX", ExactSpelling = true)]
-            internal extern static void FragmentLightfSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void FragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightiSGIX", ExactSpelling = true)]
-            internal extern static void FragmentLightiSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void FragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModelfSGIX", ExactSpelling = true)]
-            internal extern static void FragmentLightModelfSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModelfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void FragmentLightModelfvSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModeliSGIX", ExactSpelling = true)]
-            internal extern static void FragmentLightModeliSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentLightModelivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void FragmentLightModelivSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialfSGIX", ExactSpelling = true)]
-            internal extern static void FragmentMaterialfSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void FragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialiSGIX", ExactSpelling = true)]
-            internal extern static void FragmentMaterialiSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFragmentMaterialivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void FragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferDrawBufferEXT", ExactSpelling = true)]
-            internal extern static void FramebufferDrawBufferEXT(UInt32 framebuffer, OpenTK.Graphics.DrawBufferMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferDrawBuffersEXT", ExactSpelling = true)]
-            internal extern static unsafe void FramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, OpenTK.Graphics.DrawBufferMode* bufs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferReadBufferEXT", ExactSpelling = true)]
-            internal extern static void FramebufferReadBufferEXT(UInt32 framebuffer, OpenTK.Graphics.ReadBufferMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferRenderbuffer", ExactSpelling = true)]
-            internal extern static void FramebufferRenderbuffer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferRenderbufferEXT", ExactSpelling = true)]
-            internal extern static void FramebufferRenderbufferEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture", ExactSpelling = true)]
-            internal extern static void FramebufferTexture(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture1D", ExactSpelling = true)]
-            internal extern static void FramebufferTexture1D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture1DEXT", ExactSpelling = true)]
-            internal extern static void FramebufferTexture1DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture2D", ExactSpelling = true)]
-            internal extern static void FramebufferTexture2D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture2DEXT", ExactSpelling = true)]
-            internal extern static void FramebufferTexture2DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture3D", ExactSpelling = true)]
-            internal extern static void FramebufferTexture3D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTexture3DEXT", ExactSpelling = true)]
-            internal extern static void FramebufferTexture3DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureARB", ExactSpelling = true)]
-            internal extern static void FramebufferTextureARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureEXT", ExactSpelling = true)]
-            internal extern static void FramebufferTextureEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureFace", ExactSpelling = true)]
-            internal extern static void FramebufferTextureFace(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level, OpenTK.Graphics.Version32 face);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureFaceARB", ExactSpelling = true)]
-            internal extern static void FramebufferTextureFaceARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureFaceEXT", ExactSpelling = true)]
-            internal extern static void FramebufferTextureFaceEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureLayer", ExactSpelling = true)]
-            internal extern static void FramebufferTextureLayer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureLayerARB", ExactSpelling = true)]
-            internal extern static void FramebufferTextureLayerARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFramebufferTextureLayerEXT", ExactSpelling = true)]
-            internal extern static void FramebufferTextureLayerEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrameTerminatorGREMEDY", ExactSpelling = true)]
-            internal extern static void FrameTerminatorGREMEDY();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrameZoomSGIX", ExactSpelling = true)]
-            internal extern static void FrameZoomSGIX(Int32 factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFreeObjectBufferATI", ExactSpelling = true)]
-            internal extern static void FreeObjectBufferATI(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrontFace", ExactSpelling = true)]
-            internal extern static void FrontFace(OpenTK.Graphics.FrontFaceDirection mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glFrustum", ExactSpelling = true)]
-            internal extern static void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenAsyncMarkersSGIX", ExactSpelling = true)]
-            internal extern static Int32 GenAsyncMarkersSGIX(Int32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenBuffers", ExactSpelling = true)]
-            internal extern static unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenBuffersARB", ExactSpelling = true)]
-            internal extern static unsafe void GenBuffersARB(Int32 n, [Out] UInt32* buffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateMipmap", ExactSpelling = true)]
-            internal extern static void GenerateMipmap(OpenTK.Graphics.GenerateMipmapTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateMipmapEXT", ExactSpelling = true)]
-            internal extern static void GenerateMipmapEXT(OpenTK.Graphics.GenerateMipmapTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateMultiTexMipmapEXT", ExactSpelling = true)]
-            internal extern static void GenerateMultiTexMipmapEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenerateTextureMipmapEXT", ExactSpelling = true)]
-            internal extern static void GenerateTextureMipmapEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFencesAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void GenFencesAPPLE(Int32 n, [Out] UInt32* fences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFencesNV", ExactSpelling = true)]
-            internal extern static unsafe void GenFencesNV(Int32 n, [Out] UInt32* fences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFragmentShadersATI", ExactSpelling = true)]
-            internal extern static Int32 GenFragmentShadersATI(UInt32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFramebuffers", ExactSpelling = true)]
-            internal extern static unsafe void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenFramebuffersEXT", ExactSpelling = true)]
-            internal extern static unsafe void GenFramebuffersEXT(Int32 n, [Out] UInt32* framebuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenLists", ExactSpelling = true)]
-            internal extern static Int32 GenLists(Int32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenOcclusionQueriesNV", ExactSpelling = true)]
-            internal extern static unsafe void GenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenPerfMonitorsAMD", ExactSpelling = true)]
-            internal extern static unsafe void GenPerfMonitorsAMD(Int32 n, [Out] UInt32* monitors);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenProgramsARB", ExactSpelling = true)]
-            internal extern static unsafe void GenProgramsARB(Int32 n, [Out] UInt32* programs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenProgramsNV", ExactSpelling = true)]
-            internal extern static unsafe void GenProgramsNV(Int32 n, [Out] UInt32* programs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenQueries", ExactSpelling = true)]
-            internal extern static unsafe void GenQueries(Int32 n, [Out] UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenQueriesARB", ExactSpelling = true)]
-            internal extern static unsafe void GenQueriesARB(Int32 n, [Out] UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenRenderbuffers", ExactSpelling = true)]
-            internal extern static unsafe void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenRenderbuffersEXT", ExactSpelling = true)]
-            internal extern static unsafe void GenRenderbuffersEXT(Int32 n, [Out] UInt32* renderbuffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenSymbolsEXT", ExactSpelling = true)]
-            internal extern static Int32 GenSymbolsEXT(OpenTK.Graphics.ExtVertexShader datatype, OpenTK.Graphics.ExtVertexShader storagetype, OpenTK.Graphics.ExtVertexShader range, UInt32 components);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTextures", ExactSpelling = true)]
-            internal extern static unsafe void GenTextures(Int32 n, [Out] UInt32* textures);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTexturesEXT", ExactSpelling = true)]
-            internal extern static unsafe void GenTexturesEXT(Int32 n, [Out] UInt32* textures);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenTransformFeedbacksNV", ExactSpelling = true)]
-            internal extern static unsafe void GenTransformFeedbacksNV(Int32 n, [Out] UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenVertexArrays", ExactSpelling = true)]
-            internal extern static unsafe void GenVertexArrays(Int32 n, [Out] UInt32* arrays);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenVertexArraysAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void GenVertexArraysAPPLE(Int32 n, [Out] UInt32* arrays);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGenVertexShadersEXT", ExactSpelling = true)]
-            internal extern static Int32 GenVertexShadersEXT(UInt32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveAttrib", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveAttribARB", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbVertexShader* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniform", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveUniformType* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformARB", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbShaderObjects* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformBlockiv", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniformBlockiv(UInt32 program, UInt32 uniformBlockIndex, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformBlockName", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformName", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveUniformsiv", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniformsiv(UInt32 program, Int32 uniformCount, UInt32* uniformIndices, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetActiveVaryingNV", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.NvTransformFeedback* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetArrayObjectfvATI", ExactSpelling = true)]
-            internal extern static unsafe void GetArrayObjectfvATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetArrayObjectivATI", ExactSpelling = true)]
-            internal extern static unsafe void GetArrayObjectivATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttachedObjectsARB", ExactSpelling = true)]
-            internal extern static unsafe void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttachedShaders", ExactSpelling = true)]
-            internal extern static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttribLocation", ExactSpelling = true)]
-            internal extern static Int32 GetAttribLocation(UInt32 program, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetAttribLocationARB", ExactSpelling = true)]
-            internal extern static Int32 GetAttribLocationARB(UInt32 programObj, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleani_v", ExactSpelling = true)]
-            internal extern static unsafe void GetBooleani_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] bool* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleanIndexedvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetBooleanIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] bool* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBooleanv", ExactSpelling = true)]
-            internal extern static unsafe void GetBooleanv(OpenTK.Graphics.GetPName pname, [Out] bool* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferParameteri64v", ExactSpelling = true)]
-            internal extern static unsafe void GetBufferParameteri64v(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 pname, [Out] Int64* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetBufferParameteriv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferParameterivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetBufferParameterivARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferParameterNameArb pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferPointerv", ExactSpelling = true)]
-            internal extern static void GetBufferPointerv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferPointer pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferPointervARB", ExactSpelling = true)]
-            internal extern static void GetBufferPointervARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferPointerNameArb pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferSubData", ExactSpelling = true)]
-            internal extern static void GetBufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetBufferSubDataARB", ExactSpelling = true)]
-            internal extern static void GetBufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetClipPlane", ExactSpelling = true)]
-            internal extern static unsafe void GetClipPlane(OpenTK.Graphics.ClipPlaneName plane, [Out] Double* equation);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTable", ExactSpelling = true)]
-            internal extern static void GetColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableEXT", ExactSpelling = true)]
-            internal extern static void GetColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameterfvEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterfvSGI", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameterivEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableParameterivSGI", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetColorTableSGI", ExactSpelling = true)]
-            internal extern static void GetColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerInputParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerInputParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerOutputParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetCombinerOutputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerOutputParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetCombinerOutputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCombinerStageParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetCombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedMultiTexImageEXT", ExactSpelling = true)]
-            internal extern static void GetCompressedMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedTexImage", ExactSpelling = true)]
-            internal extern static void GetCompressedTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedTexImageARB", ExactSpelling = true)]
-            internal extern static void GetCompressedTexImageARB(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetCompressedTextureImageEXT", ExactSpelling = true)]
-            internal extern static void GetCompressedTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionFilter", ExactSpelling = true)]
-            internal extern static void GetConvolutionFilter(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionFilterEXT", ExactSpelling = true)]
-            internal extern static void GetConvolutionFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetConvolutionParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetDetailTexFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void GetDetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetDoubleIndexedvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetDoubleIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetDoublev", ExactSpelling = true)]
-            internal extern static unsafe void GetDoublev(OpenTK.Graphics.GetPName pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetError", ExactSpelling = true)]
-            internal extern static OpenTK.Graphics.ErrorCode GetError();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFenceivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetFenceivNV(UInt32 fence, OpenTK.Graphics.NvFence pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFinalCombinerInputParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetFinalCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFinalCombinerInputParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetFinalCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFloatIndexedvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetFloatIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFloatv", ExactSpelling = true)]
-            internal extern static unsafe void GetFloatv(OpenTK.Graphics.GetPName pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFogFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void GetFogFuncSGIS([Out] Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragDataLocation", ExactSpelling = true)]
-            internal extern static Int32 GetFragDataLocation(UInt32 program, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragDataLocationEXT", ExactSpelling = true)]
-            internal extern static Int32 GetFragDataLocationEXT(UInt32 program, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentLightfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void GetFragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentLightivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void GetFragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentMaterialfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void GetFragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFragmentMaterialivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void GetFragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferAttachmentParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetFramebufferAttachmentParameteriv(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferAttachmentParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetFramebufferAttachmentParameterivEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetFramebufferParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetFramebufferParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHandleARB", ExactSpelling = true)]
-            internal extern static Int32 GetHandleARB(OpenTK.Graphics.ArbShaderObjects pname);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogram", ExactSpelling = true)]
-            internal extern static void GetHistogram(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramEXT", ExactSpelling = true)]
-            internal extern static void GetHistogramEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetHistogramParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetHistogramParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetHistogramParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetHistogramParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetHistogramParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetImageTransformParameterfvHP", ExactSpelling = true)]
-            internal extern static unsafe void GetImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetImageTransformParameterivHP", ExactSpelling = true)]
-            internal extern static unsafe void GetImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInfoLogARB", ExactSpelling = true)]
-            internal extern static unsafe void GetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInstrumentsSGIX", ExactSpelling = true)]
-            internal extern static Int32 GetInstrumentsSGIX();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInteger64i_v", ExactSpelling = true)]
-            internal extern static unsafe void GetInteger64i_v(OpenTK.Graphics.Version32 target, UInt32 index, [Out] Int64* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInteger64v", ExactSpelling = true)]
-            internal extern static unsafe void GetInteger64v(OpenTK.Graphics.ArbSync pname, [Out] Int64* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegeri_v", ExactSpelling = true)]
-            internal extern static unsafe void GetIntegeri_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] Int32* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegerIndexedvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetIntegerIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] Int32* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetIntegerv", ExactSpelling = true)]
-            internal extern static unsafe void GetIntegerv(OpenTK.Graphics.GetPName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInvariantBooleanvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetInvariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInvariantFloatvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetInvariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetInvariantIntegervEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetInvariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLightfv", ExactSpelling = true)]
-            internal extern static unsafe void GetLightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLightiv", ExactSpelling = true)]
-            internal extern static unsafe void GetLightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetListParameterfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void GetListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetListParameterivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void GetListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLocalConstantBooleanvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetLocalConstantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLocalConstantFloatvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetLocalConstantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetLocalConstantIntegervEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetLocalConstantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapAttribParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetMapAttribParameterfvNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapAttribParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetMapAttribParameterivNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapControlPointsNV", ExactSpelling = true)]
-            internal extern static void GetMapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapdv", ExactSpelling = true)]
-            internal extern static unsafe void GetMapdv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapfv", ExactSpelling = true)]
-            internal extern static unsafe void GetMapfv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapiv", ExactSpelling = true)]
-            internal extern static unsafe void GetMapiv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetMapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMapParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetMapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMaterialfv", ExactSpelling = true)]
-            internal extern static unsafe void GetMaterialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMaterialiv", ExactSpelling = true)]
-            internal extern static unsafe void GetMaterialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmax", ExactSpelling = true)]
-            internal extern static void GetMinmax(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxEXT", ExactSpelling = true)]
-            internal extern static void GetMinmaxEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetMinmaxParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMinmaxParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetMinmaxParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMinmaxParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMinmaxParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultisamplefv", ExactSpelling = true)]
-            internal extern static unsafe void GetMultisamplefv(OpenTK.Graphics.ArbTextureMultisample pname, UInt32 index, [Out] Single* val);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultisamplefvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetMultisamplefvNV(OpenTK.Graphics.NvExplicitMultisample pname, UInt32 index, [Out] Single* val);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexEnvfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexEnvivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexGendvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexGenfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexGenivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexImageEXT", ExactSpelling = true)]
-            internal extern static void GetMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexLevelParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexLevelParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexLevelParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexLevelParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetMultiTexParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetMultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedBufferParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedBufferParameterivEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedBufferPointervEXT", ExactSpelling = true)]
-            internal extern static void GetNamedBufferPointervEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedBufferSubDataEXT", ExactSpelling = true)]
-            internal extern static void GetNamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedFramebufferAttachmentParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedFramebufferAttachmentParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedProgramivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterdvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedProgramLocalParameterdvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedProgramLocalParameterfvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedProgramLocalParameterIivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramLocalParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedProgramLocalParameterIuivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedProgramStringEXT", ExactSpelling = true)]
-            internal extern static void GetNamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @string);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetNamedRenderbufferParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetNamedRenderbufferParameterivEXT(UInt32 renderbuffer, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectBufferfvATI", ExactSpelling = true)]
-            internal extern static unsafe void GetObjectBufferfvATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectBufferivATI", ExactSpelling = true)]
-            internal extern static unsafe void GetObjectBufferivATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectParameterfvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetObjectParameterfvARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectParameterivAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void GetObjectParameterivAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetObjectParameterivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetObjectParameterivARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetOcclusionQueryivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetOcclusionQueryivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetOcclusionQueryuivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetOcclusionQueryuivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCounterDataAMD", ExactSpelling = true)]
-            internal extern static unsafe void GetPerfMonitorCounterDataAMD(UInt32 monitor, OpenTK.Graphics.AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32* data, [Out] Int32* bytesWritten);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCounterInfoAMD", ExactSpelling = true)]
-            internal extern static void GetPerfMonitorCounterInfoAMD(UInt32 group, UInt32 counter, OpenTK.Graphics.AmdPerformanceMonitor pname, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCountersAMD", ExactSpelling = true)]
-            internal extern static unsafe void GetPerfMonitorCountersAMD(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32* counters);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorCounterStringAMD", ExactSpelling = true)]
-            internal extern static unsafe void GetPerfMonitorCounterStringAMD(UInt32 group, UInt32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorGroupsAMD", ExactSpelling = true)]
-            internal extern static unsafe void GetPerfMonitorGroupsAMD([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32* groups);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPerfMonitorGroupStringAMD", ExactSpelling = true)]
-            internal extern static unsafe void GetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelMapfv", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelMapfv(OpenTK.Graphics.PixelMap map, [Out] Single* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelMapuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelMapuiv(OpenTK.Graphics.PixelMap map, [Out] UInt32* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelMapusv", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelMapusv(OpenTK.Graphics.PixelMap map, [Out] UInt16* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelTexGenParameterfvSGIS", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPixelTexGenParameterivSGIS", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPointerIndexedvEXT", ExactSpelling = true)]
-            internal extern static void GetPointerIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPointerv", ExactSpelling = true)]
-            internal extern static void GetPointerv(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPointervEXT", ExactSpelling = true)]
-            internal extern static void GetPointervEXT(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetPolygonStipple", ExactSpelling = true)]
-            internal extern static unsafe void GetPolygonStipple([Out] Byte* mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterdvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramEnvParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterfvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramEnvParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterIivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramEnvParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramEnvParameterIuivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramEnvParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramInfoLog", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramiv", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramiv(UInt32 program, OpenTK.Graphics.ProgramParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramivARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramivNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterdvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramLocalParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterfvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramLocalParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterIivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramLocalParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramLocalParameterIuivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramLocalParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramNamedParameterdvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte* name, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramNamedParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte* name, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramParameterdvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramParameterdvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramParameterfvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramStringARB", ExactSpelling = true)]
-            internal extern static void GetProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] IntPtr @string);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetProgramStringNV", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramStringNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Byte* program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryiv", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryiv(OpenTK.Graphics.QueryTarget target, OpenTK.Graphics.GetQueryParam pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryivARB(OpenTK.Graphics.ArbOcclusionQuery target, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjecti64vEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjecti64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] Int64* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectiv", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectui64vEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectui64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] UInt64* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectuiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetQueryObjectuivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectuivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetRenderbufferParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetRenderbufferParameteriv(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetRenderbufferParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetRenderbufferParameterivEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSeparableFilter", ExactSpelling = true)]
-            internal extern static void GetSeparableFilter(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSeparableFilterEXT", ExactSpelling = true)]
-            internal extern static void GetSeparableFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderInfoLog", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderiv", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderiv(UInt32 shader, OpenTK.Graphics.ShaderParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderSource", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetShaderSourceARB", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSharpenTexFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void GetSharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetString", ExactSpelling = true)]
-            internal extern static IntPtr GetString(OpenTK.Graphics.StringName name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetStringi", ExactSpelling = true)]
-            internal extern static IntPtr GetStringi(OpenTK.Graphics.StringName name, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetSynciv", ExactSpelling = true)]
-            internal extern static unsafe void GetSynciv(IntPtr sync, OpenTK.Graphics.ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexBumpParameterfvATI", ExactSpelling = true)]
-            internal extern static unsafe void GetTexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Single* param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexBumpParameterivATI", ExactSpelling = true)]
-            internal extern static unsafe void GetTexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Int32* param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexEnvfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexEnviv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexFilterFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void GetTexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, [Out] Single* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexGendv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexGenfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexGeniv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexImage", ExactSpelling = true)]
-            internal extern static void GetTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexLevelParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexLevelParameterfv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexLevelParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexLevelParameteriv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIiv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTexParameterPointervAPPLE", ExactSpelling = true)]
-            internal extern static void GetTexParameterPointervAPPLE(OpenTK.Graphics.AppleTextureRange target, OpenTK.Graphics.AppleTextureRange pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureImageEXT", ExactSpelling = true)]
-            internal extern static void GetTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureLevelParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTextureLevelParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureLevelParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTextureLevelParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTextureParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTrackMatrixivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetTrackMatrixivNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTransformFeedbackVarying", ExactSpelling = true)]
-            internal extern static unsafe void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTransformFeedbackVaryingEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetTransformFeedbackVaryingEXT(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ExtTransformFeedback* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetTransformFeedbackVaryingNV", ExactSpelling = true)]
-            internal extern static unsafe void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32* location);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformBlockIndex", ExactSpelling = true)]
-            internal extern static Int32 GetUniformBlockIndex(UInt32 program, String uniformBlockName);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformBufferSizeEXT", ExactSpelling = true)]
-            internal extern static Int32 GetUniformBufferSizeEXT(UInt32 program, Int32 location);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformfv", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformfvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformIndices", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32* uniformIndices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformiv", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformLocation", ExactSpelling = true)]
-            internal extern static Int32 GetUniformLocation(UInt32 program, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformLocationARB", ExactSpelling = true)]
-            internal extern static Int32 GetUniformLocationARB(UInt32 programObj, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformOffsetEXT", ExactSpelling = true)]
-            internal extern static IntPtr GetUniformOffsetEXT(UInt32 program, Int32 location);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformuiv(UInt32 program, Int32 location, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetUniformuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantArrayObjectfvATI", ExactSpelling = true)]
-            internal extern static unsafe void GetVariantArrayObjectfvATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantArrayObjectivATI", ExactSpelling = true)]
-            internal extern static unsafe void GetVariantArrayObjectivATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantBooleanvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetVariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantFloatvEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetVariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantIntegervEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetVariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVariantPointervEXT", ExactSpelling = true)]
-            internal extern static void GetVariantPointervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVaryingLocationNV", ExactSpelling = true)]
-            internal extern static Int32 GetVaryingLocationNV(UInt32 program, String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribArrayObjectfvATI", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribArrayObjectfvATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribArrayObjectivATI", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribArrayObjectivATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribdv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribdv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribdvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribdvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribdvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribdvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribfv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribfv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribfvARB", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribfvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribfvNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribfvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIiv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribIiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribIivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribIuiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribIuivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribiv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribivARB", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribivARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribivNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribPointerv", ExactSpelling = true)]
-            internal extern static void GetVertexAttribPointerv(UInt32 index, OpenTK.Graphics.VertexAttribPointerType pname, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribPointervARB", ExactSpelling = true)]
-            internal extern static void GetVertexAttribPointervARB(UInt32 index, OpenTK.Graphics.VertexAttribPointerParameterArb pname, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVertexAttribPointervNV", ExactSpelling = true)]
-            internal extern static void GetVertexAttribPointervNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideoi64vNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVideoi64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int64* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideoivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVideoivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideoui64vNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVideoui64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt64* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGetVideouivNV", ExactSpelling = true)]
-            internal extern static unsafe void GetVideouivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorbSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactorbSUN(SByte factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactordSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactordSUN(Double factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorfSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactorfSUN(Single factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactoriSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactoriSUN(Int32 factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorsSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactorsSUN(Int16 factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorubSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactorubSUN(Byte factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactoruiSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactoruiSUN(UInt32 factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glGlobalAlphaFactorusSUN", ExactSpelling = true)]
-            internal extern static void GlobalAlphaFactorusSUN(UInt16 factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHint", ExactSpelling = true)]
-            internal extern static void Hint(OpenTK.Graphics.HintTarget target, OpenTK.Graphics.HintMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHintPGI", ExactSpelling = true)]
-            internal extern static void HintPGI(OpenTK.Graphics.PgiMiscHints target, Int32 mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHistogram", ExactSpelling = true)]
-            internal extern static void Histogram(OpenTK.Graphics.Version12Deprecated target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glHistogramEXT", ExactSpelling = true)]
-            internal extern static void HistogramEXT(OpenTK.Graphics.ExtHistogram target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIglooInterfaceSGIX", ExactSpelling = true)]
-            internal extern static void IglooInterfaceSGIX(OpenTK.Graphics.All pname, IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameterfHP", ExactSpelling = true)]
-            internal extern static void ImageTransformParameterfHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameterfvHP", ExactSpelling = true)]
-            internal extern static unsafe void ImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameteriHP", ExactSpelling = true)]
-            internal extern static void ImageTransformParameteriHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glImageTransformParameterivHP", ExactSpelling = true)]
-            internal extern static unsafe void ImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexd", ExactSpelling = true)]
-            internal extern static void Indexd(Double c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexdv", ExactSpelling = true)]
-            internal extern static unsafe void Indexdv(Double* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexf", ExactSpelling = true)]
-            internal extern static void Indexf(Single c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexFuncEXT", ExactSpelling = true)]
-            internal extern static void IndexFuncEXT(OpenTK.Graphics.ExtIndexFunc func, Single @ref);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexfv", ExactSpelling = true)]
-            internal extern static unsafe void Indexfv(Single* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexi", ExactSpelling = true)]
-            internal extern static void Indexi(Int32 c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexiv", ExactSpelling = true)]
-            internal extern static unsafe void Indexiv(Int32* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexMask", ExactSpelling = true)]
-            internal extern static void IndexMask(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexMaterialEXT", ExactSpelling = true)]
-            internal extern static void IndexMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ExtIndexMaterial mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexPointer", ExactSpelling = true)]
-            internal extern static void IndexPointer(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexPointerEXT", ExactSpelling = true)]
-            internal extern static void IndexPointerEXT(OpenTK.Graphics.IndexPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexPointerListIBM", ExactSpelling = true)]
-            internal extern static void IndexPointerListIBM(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexs", ExactSpelling = true)]
-            internal extern static void Indexs(Int16 c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexsv", ExactSpelling = true)]
-            internal extern static unsafe void Indexsv(Int16* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexub", ExactSpelling = true)]
-            internal extern static void Indexub(Byte c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIndexubv", ExactSpelling = true)]
-            internal extern static unsafe void Indexubv(Byte* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInitNames", ExactSpelling = true)]
-            internal extern static void InitNames();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInsertComponentEXT", ExactSpelling = true)]
-            internal extern static void InsertComponentEXT(UInt32 res, UInt32 src, UInt32 num);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInstrumentsBufferSGIX", ExactSpelling = true)]
-            internal extern static unsafe void InstrumentsBufferSGIX(Int32 size, [Out] Int32* buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glInterleavedArrays", ExactSpelling = true)]
-            internal extern static void InterleavedArrays(OpenTK.Graphics.InterleavedArrayFormat format, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsAsyncMarkerSGIX", ExactSpelling = true)]
-            internal extern static bool IsAsyncMarkerSGIX(UInt32 marker);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsBuffer", ExactSpelling = true)]
-            internal extern static bool IsBuffer(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsBufferARB", ExactSpelling = true)]
-            internal extern static bool IsBufferARB(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsEnabled", ExactSpelling = true)]
-            internal extern static bool IsEnabled(OpenTK.Graphics.EnableCap cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsEnabledi", ExactSpelling = true)]
-            internal extern static bool IsEnabledi(OpenTK.Graphics.IndexedEnableCap target, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsEnabledIndexedEXT", ExactSpelling = true)]
-            internal extern static bool IsEnabledIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFenceAPPLE", ExactSpelling = true)]
-            internal extern static bool IsFenceAPPLE(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFenceNV", ExactSpelling = true)]
-            internal extern static bool IsFenceNV(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFramebuffer", ExactSpelling = true)]
-            internal extern static bool IsFramebuffer(UInt32 framebuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsFramebufferEXT", ExactSpelling = true)]
-            internal extern static bool IsFramebufferEXT(UInt32 framebuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsList", ExactSpelling = true)]
-            internal extern static bool IsList(UInt32 list);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsObjectBufferATI", ExactSpelling = true)]
-            internal extern static bool IsObjectBufferATI(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsOcclusionQueryNV", ExactSpelling = true)]
-            internal extern static bool IsOcclusionQueryNV(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgram", ExactSpelling = true)]
-            internal extern static bool IsProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgramARB", ExactSpelling = true)]
-            internal extern static bool IsProgramARB(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsProgramNV", ExactSpelling = true)]
-            internal extern static bool IsProgramNV(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsQuery", ExactSpelling = true)]
-            internal extern static bool IsQuery(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsQueryARB", ExactSpelling = true)]
-            internal extern static bool IsQueryARB(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsRenderbuffer", ExactSpelling = true)]
-            internal extern static bool IsRenderbuffer(UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsRenderbufferEXT", ExactSpelling = true)]
-            internal extern static bool IsRenderbufferEXT(UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsShader", ExactSpelling = true)]
-            internal extern static bool IsShader(UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsSync", ExactSpelling = true)]
-            internal extern static bool IsSync(IntPtr sync);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsTexture", ExactSpelling = true)]
-            internal extern static bool IsTexture(UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsTextureEXT", ExactSpelling = true)]
-            internal extern static bool IsTextureEXT(UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static bool IsTransformFeedbackNV(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVariantEnabledEXT", ExactSpelling = true)]
-            internal extern static bool IsVariantEnabledEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVertexArray", ExactSpelling = true)]
-            internal extern static bool IsVertexArray(UInt32 array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVertexArrayAPPLE", ExactSpelling = true)]
-            internal extern static bool IsVertexArrayAPPLE(UInt32 array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glIsVertexAttribEnabledAPPLE", ExactSpelling = true)]
-            internal extern static bool IsVertexAttribEnabledAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightEnviSGIX", ExactSpelling = true)]
-            internal extern static void LightEnviSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightf", ExactSpelling = true)]
-            internal extern static void Lightf(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightfv", ExactSpelling = true)]
-            internal extern static unsafe void Lightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLighti", ExactSpelling = true)]
-            internal extern static void Lighti(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightiv", ExactSpelling = true)]
-            internal extern static unsafe void Lightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModelf", ExactSpelling = true)]
-            internal extern static void LightModelf(OpenTK.Graphics.LightModelParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModelfv", ExactSpelling = true)]
-            internal extern static unsafe void LightModelfv(OpenTK.Graphics.LightModelParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModeli", ExactSpelling = true)]
-            internal extern static void LightModeli(OpenTK.Graphics.LightModelParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLightModeliv", ExactSpelling = true)]
-            internal extern static unsafe void LightModeliv(OpenTK.Graphics.LightModelParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLineStipple", ExactSpelling = true)]
-            internal extern static void LineStipple(Int32 factor, UInt16 pattern);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLineWidth", ExactSpelling = true)]
-            internal extern static void LineWidth(Single width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLinkProgram", ExactSpelling = true)]
-            internal extern static void LinkProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLinkProgramARB", ExactSpelling = true)]
-            internal extern static void LinkProgramARB(UInt32 programObj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListBase", ExactSpelling = true)]
-            internal extern static void ListBase(UInt32 @base);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameterfSGIX", ExactSpelling = true)]
-            internal extern static void ListParameterfSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameterfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void ListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameteriSGIX", ExactSpelling = true)]
-            internal extern static void ListParameteriSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glListParameterivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void ListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadIdentity", ExactSpelling = true)]
-            internal extern static void LoadIdentity();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadIdentityDeformationMapSGIX", ExactSpelling = true)]
-            internal extern static void LoadIdentityDeformationMapSGIX(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void LoadMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void LoadMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadName", ExactSpelling = true)]
-            internal extern static void LoadName(UInt32 name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadProgramNV", ExactSpelling = true)]
-            internal extern static unsafe void LoadProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte* program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void LoadTransposeMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixdARB", ExactSpelling = true)]
-            internal extern static unsafe void LoadTransposeMatrixdARB(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void LoadTransposeMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLoadTransposeMatrixfARB", ExactSpelling = true)]
-            internal extern static unsafe void LoadTransposeMatrixfARB(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLockArraysEXT", ExactSpelling = true)]
-            internal extern static void LockArraysEXT(Int32 first, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glLogicOp", ExactSpelling = true)]
-            internal extern static void LogicOp(OpenTK.Graphics.LogicOp opcode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap1d", ExactSpelling = true)]
-            internal extern static unsafe void Map1d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap1f", ExactSpelling = true)]
-            internal extern static unsafe void Map1f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap2d", ExactSpelling = true)]
-            internal extern static unsafe void Map2d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMap2f", ExactSpelling = true)]
-            internal extern static unsafe void Map2f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapBuffer", ExactSpelling = true)]
-            internal extern static unsafe IntPtr MapBuffer(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferAccess access);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapBufferARB", ExactSpelling = true)]
-            internal extern static unsafe IntPtr MapBufferARB(OpenTK.Graphics.BufferTargetArb target, OpenTK.Graphics.ArbVertexBufferObject access);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapBufferRange", ExactSpelling = true)]
-            internal extern static unsafe IntPtr MapBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length, OpenTK.Graphics.BufferAccessMask access);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapControlPointsNV", ExactSpelling = true)]
-            internal extern static void MapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid1d", ExactSpelling = true)]
-            internal extern static void MapGrid1d(Int32 un, Double u1, Double u2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid1f", ExactSpelling = true)]
-            internal extern static void MapGrid1f(Int32 un, Single u1, Single u2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid2d", ExactSpelling = true)]
-            internal extern static void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapGrid2f", ExactSpelling = true)]
-            internal extern static void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapNamedBufferEXT", ExactSpelling = true)]
-            internal extern static unsafe IntPtr MapNamedBufferEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess access);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapObjectBufferATI", ExactSpelling = true)]
-            internal extern static unsafe IntPtr MapObjectBufferATI(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapParameterfvNV", ExactSpelling = true)]
-            internal extern static unsafe void MapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void MapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib1dAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void MapVertexAttrib1dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib1fAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void MapVertexAttrib1fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib2dAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void MapVertexAttrib2dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMapVertexAttrib2fAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void MapVertexAttrib2fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMaterialf", ExactSpelling = true)]
-            internal extern static void Materialf(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMaterialfv", ExactSpelling = true)]
-            internal extern static unsafe void Materialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMateriali", ExactSpelling = true)]
-            internal extern static void Materiali(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMaterialiv", ExactSpelling = true)]
-            internal extern static unsafe void Materialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixFrustumEXT", ExactSpelling = true)]
-            internal extern static void MatrixFrustumEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexPointerARB", ExactSpelling = true)]
-            internal extern static void MatrixIndexPointerARB(Int32 size, OpenTK.Graphics.ArbMatrixPalette type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexubvARB", ExactSpelling = true)]
-            internal extern static unsafe void MatrixIndexubvARB(Int32 size, Byte* indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexuivARB", ExactSpelling = true)]
-            internal extern static unsafe void MatrixIndexuivARB(Int32 size, UInt32* indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixIndexusvARB", ExactSpelling = true)]
-            internal extern static unsafe void MatrixIndexusvARB(Int32 size, UInt16* indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoaddEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixLoaddEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadfEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixLoadfEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadIdentityEXT", ExactSpelling = true)]
-            internal extern static void MatrixLoadIdentityEXT(OpenTK.Graphics.MatrixMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadTransposedEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixLoadTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixLoadTransposefEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixLoadTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMode", ExactSpelling = true)]
-            internal extern static void MatrixMode(OpenTK.Graphics.MatrixMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultdEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixMultdEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultfEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixMultfEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultTransposedEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixMultTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixMultTransposefEXT", ExactSpelling = true)]
-            internal extern static unsafe void MatrixMultTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixOrthoEXT", ExactSpelling = true)]
-            internal extern static void MatrixOrthoEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixPopEXT", ExactSpelling = true)]
-            internal extern static void MatrixPopEXT(OpenTK.Graphics.MatrixMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixPushEXT", ExactSpelling = true)]
-            internal extern static void MatrixPushEXT(OpenTK.Graphics.MatrixMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixRotatedEXT", ExactSpelling = true)]
-            internal extern static void MatrixRotatedEXT(OpenTK.Graphics.MatrixMode mode, Double angle, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixRotatefEXT", ExactSpelling = true)]
-            internal extern static void MatrixRotatefEXT(OpenTK.Graphics.MatrixMode mode, Single angle, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixScaledEXT", ExactSpelling = true)]
-            internal extern static void MatrixScaledEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixScalefEXT", ExactSpelling = true)]
-            internal extern static void MatrixScalefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixTranslatedEXT", ExactSpelling = true)]
-            internal extern static void MatrixTranslatedEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMatrixTranslatefEXT", ExactSpelling = true)]
-            internal extern static void MatrixTranslatefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMinmax", ExactSpelling = true)]
-            internal extern static void Minmax(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMinmaxEXT", ExactSpelling = true)]
-            internal extern static void MinmaxEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMinSampleShading", ExactSpelling = true)]
-            internal extern static void MinSampleShading(Single value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawArrays", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawArrays(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawArraysEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawArraysEXT(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElementArrayAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32* first, Int32* count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElements", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawElements(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElementsBaseVertex", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32* basevertex);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawElementsEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawElementsEXT(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiDrawRangeElementArrayAPPLE", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiModeDrawArraysIBM", ExactSpelling = true)]
-            internal extern static unsafe void MultiModeDrawArraysIBM(OpenTK.Graphics.BeginMode* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiModeDrawElementsIBM", ExactSpelling = true)]
-            internal extern static unsafe void MultiModeDrawElementsIBM(OpenTK.Graphics.BeginMode* mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexBufferEXT", ExactSpelling = true)]
-            internal extern static void MultiTexBufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1d(OpenTK.Graphics.TextureUnit target, Double s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1dARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1dARB(OpenTK.Graphics.TextureUnit target, Double s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1dvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1f(OpenTK.Graphics.TextureUnit target, Single s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1fARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1fARB(OpenTK.Graphics.TextureUnit target, Single s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1fvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1hNV", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1hvNV", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1i(OpenTK.Graphics.TextureUnit target, Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1iARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1iARB(OpenTK.Graphics.TextureUnit target, Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1ivARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1s(OpenTK.Graphics.TextureUnit target, Int16 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1sARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1sARB(OpenTK.Graphics.TextureUnit target, Int16 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord1svARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2d(OpenTK.Graphics.TextureUnit target, Double s, Double t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2dARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2dvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2f(OpenTK.Graphics.TextureUnit target, Single s, Single t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2fARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2fvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2hNV", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2hvNV", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2iARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2ivARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2sARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord2svARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3dARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3dvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3fARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3fvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3hNV", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3iARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3ivARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3sARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord3svARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4dARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4dvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4fARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4fvARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4hNV", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4hvNV", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4iARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4ivARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4sARB", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoord4svARB", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexCoordPointerEXT", ExactSpelling = true)]
-            internal extern static void MultiTexCoordPointerEXT(OpenTK.Graphics.TextureUnit texunit, Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnvfEXT", ExactSpelling = true)]
-            internal extern static void MultiTexEnvfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnvfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnviEXT", ExactSpelling = true)]
-            internal extern static void MultiTexEnviEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexEnvivEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGendEXT", ExactSpelling = true)]
-            internal extern static void MultiTexGendEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGendvEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGenfEXT", ExactSpelling = true)]
-            internal extern static void MultiTexGenfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGenfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGeniEXT", ExactSpelling = true)]
-            internal extern static void MultiTexGeniEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexGenivEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexImage1DEXT", ExactSpelling = true)]
-            internal extern static void MultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexImage2DEXT", ExactSpelling = true)]
-            internal extern static void MultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexImage3DEXT", ExactSpelling = true)]
-            internal extern static void MultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterfEXT", ExactSpelling = true)]
-            internal extern static void MultiTexParameterfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameteriEXT", ExactSpelling = true)]
-            internal extern static void MultiTexParameteriEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexRenderbufferEXT", ExactSpelling = true)]
-            internal extern static void MultiTexRenderbufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void MultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void MultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultiTexSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void MultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void MultMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void MultMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void MultTransposeMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixdARB", ExactSpelling = true)]
-            internal extern static unsafe void MultTransposeMatrixdARB(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void MultTransposeMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glMultTransposeMatrixfARB", ExactSpelling = true)]
-            internal extern static unsafe void MultTransposeMatrixfARB(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedBufferDataEXT", ExactSpelling = true)]
-            internal extern static void NamedBufferDataEXT(UInt32 buffer, IntPtr size, IntPtr data, OpenTK.Graphics.ExtDirectStateAccess usage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedBufferSubDataEXT", ExactSpelling = true)]
-            internal extern static void NamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferRenderbufferEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferRenderbufferEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTexture1DEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferTexture1DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTexture2DEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferTexture2DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTexture3DEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferTexture3DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTextureEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferTextureEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTextureFaceEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferTextureFaceEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedFramebufferTextureLayerEXT", ExactSpelling = true)]
-            internal extern static void NamedFramebufferTextureLayerEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4dEXT", ExactSpelling = true)]
-            internal extern static void NamedProgramLocalParameter4dEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4dvEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParameter4dvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4fEXT", ExactSpelling = true)]
-            internal extern static void NamedProgramLocalParameter4fEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameter4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParameter4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4iEXT", ExactSpelling = true)]
-            internal extern static void NamedProgramLocalParameterI4iEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParameterI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4uiEXT", ExactSpelling = true)]
-            internal extern static void NamedProgramLocalParameterI4uiEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameterI4uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParameterI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParameters4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParameters4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParametersI4ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParametersI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramLocalParametersI4uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void NamedProgramLocalParametersI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedProgramStringEXT", ExactSpelling = true)]
-            internal extern static void NamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess format, Int32 len, IntPtr @string);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedRenderbufferStorageEXT", ExactSpelling = true)]
-            internal extern static void NamedRenderbufferStorageEXT(UInt32 renderbuffer, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedRenderbufferStorageMultisampleCoverageEXT", ExactSpelling = true)]
-            internal extern static void NamedRenderbufferStorageMultisampleCoverageEXT(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNamedRenderbufferStorageMultisampleEXT", ExactSpelling = true)]
-            internal extern static void NamedRenderbufferStorageMultisampleEXT(UInt32 renderbuffer, Int32 samples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNewList", ExactSpelling = true)]
-            internal extern static void NewList(UInt32 list, OpenTK.Graphics.ListMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNewObjectBufferATI", ExactSpelling = true)]
-            internal extern static Int32 NewObjectBufferATI(Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject usage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3b", ExactSpelling = true)]
-            internal extern static void Normal3b(SByte nx, SByte ny, SByte nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3bv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3d", ExactSpelling = true)]
-            internal extern static void Normal3d(Double nx, Double ny, Double nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3dv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3f", ExactSpelling = true)]
-            internal extern static void Normal3f(Single nx, Single ny, Single nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3fv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void Normal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void Normal3fVertex3fvSUN(Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3hNV", ExactSpelling = true)]
-            internal extern static void Normal3hNV(OpenTK.Half nx, OpenTK.Half ny, OpenTK.Half nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void Normal3hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3i", ExactSpelling = true)]
-            internal extern static void Normal3i(Int32 nx, Int32 ny, Int32 nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3iv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3s", ExactSpelling = true)]
-            internal extern static void Normal3s(Int16 nx, Int16 ny, Int16 nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormal3sv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointer", ExactSpelling = true)]
-            internal extern static void NormalPointer(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointerEXT", ExactSpelling = true)]
-            internal extern static void NormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointerListIBM", ExactSpelling = true)]
-            internal extern static void NormalPointerListIBM(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalPointervINTEL", ExactSpelling = true)]
-            internal extern static void NormalPointervINTEL(OpenTK.Graphics.NormalPointerType type, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3bATI", ExactSpelling = true)]
-            internal extern static void NormalStream3bATI(OpenTK.Graphics.AtiVertexStreams stream, SByte nx, SByte ny, SByte nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3bvATI", ExactSpelling = true)]
-            internal extern static unsafe void NormalStream3bvATI(OpenTK.Graphics.AtiVertexStreams stream, SByte* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3dATI", ExactSpelling = true)]
-            internal extern static void NormalStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double nx, Double ny, Double nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3dvATI", ExactSpelling = true)]
-            internal extern static unsafe void NormalStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3fATI", ExactSpelling = true)]
-            internal extern static void NormalStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single nx, Single ny, Single nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3fvATI", ExactSpelling = true)]
-            internal extern static unsafe void NormalStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3iATI", ExactSpelling = true)]
-            internal extern static void NormalStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 nx, Int32 ny, Int32 nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3ivATI", ExactSpelling = true)]
-            internal extern static unsafe void NormalStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3sATI", ExactSpelling = true)]
-            internal extern static void NormalStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 nx, Int16 ny, Int16 nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glNormalStream3svATI", ExactSpelling = true)]
-            internal extern static unsafe void NormalStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glObjectPurgeableAPPLE", ExactSpelling = true)]
-            internal extern static IntPtr ObjectPurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glObjectUnpurgeableAPPLE", ExactSpelling = true)]
-            internal extern static IntPtr ObjectUnpurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glOrtho", ExactSpelling = true)]
-            internal extern static void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPassTexCoordATI", ExactSpelling = true)]
-            internal extern static void PassTexCoordATI(UInt32 dst, UInt32 coord, OpenTK.Graphics.AtiFragmentShader swizzle);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPassThrough", ExactSpelling = true)]
-            internal extern static void PassThrough(Single token);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPauseTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static void PauseTransformFeedbackNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelDataRangeNV", ExactSpelling = true)]
-            internal extern static void PixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target, Int32 length, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelMapfv", ExactSpelling = true)]
-            internal extern static unsafe void PixelMapfv(OpenTK.Graphics.PixelMap map, Int32 mapsize, Single* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelMapuiv", ExactSpelling = true)]
-            internal extern static unsafe void PixelMapuiv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt32* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelMapusv", ExactSpelling = true)]
-            internal extern static unsafe void PixelMapusv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt16* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelStoref", ExactSpelling = true)]
-            internal extern static void PixelStoref(OpenTK.Graphics.PixelStoreParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelStorei", ExactSpelling = true)]
-            internal extern static void PixelStorei(OpenTK.Graphics.PixelStoreParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameterfSGIS", ExactSpelling = true)]
-            internal extern static void PixelTexGenParameterfSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameterfvSGIS", ExactSpelling = true)]
-            internal extern static unsafe void PixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameteriSGIS", ExactSpelling = true)]
-            internal extern static void PixelTexGenParameteriSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenParameterivSGIS", ExactSpelling = true)]
-            internal extern static unsafe void PixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTexGenSGIX", ExactSpelling = true)]
-            internal extern static void PixelTexGenSGIX(OpenTK.Graphics.SgixPixelTexture mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransferf", ExactSpelling = true)]
-            internal extern static void PixelTransferf(OpenTK.Graphics.PixelTransferParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransferi", ExactSpelling = true)]
-            internal extern static void PixelTransferi(OpenTK.Graphics.PixelTransferParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameterfEXT", ExactSpelling = true)]
-            internal extern static void PixelTransformParameterfEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void PixelTransformParameterfvEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameteriEXT", ExactSpelling = true)]
-            internal extern static void PixelTransformParameteriEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelTransformParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void PixelTransformParameterivEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPixelZoom", ExactSpelling = true)]
-            internal extern static void PixelZoom(Single xfactor, Single yfactor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPNTrianglesfATI", ExactSpelling = true)]
-            internal extern static void PNTrianglesfATI(OpenTK.Graphics.AtiPnTriangles pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPNTrianglesiATI", ExactSpelling = true)]
-            internal extern static void PNTrianglesiATI(OpenTK.Graphics.AtiPnTriangles pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterf", ExactSpelling = true)]
-            internal extern static void PointParameterf(OpenTK.Graphics.PointParameterName pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfARB", ExactSpelling = true)]
-            internal extern static void PointParameterfARB(OpenTK.Graphics.ArbPointParameters pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfEXT", ExactSpelling = true)]
-            internal extern static void PointParameterfEXT(OpenTK.Graphics.ExtPointParameters pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfSGIS", ExactSpelling = true)]
-            internal extern static void PointParameterfSGIS(OpenTK.Graphics.SgisPointParameters pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void PointParameterfv(OpenTK.Graphics.PointParameterName pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfvARB", ExactSpelling = true)]
-            internal extern static unsafe void PointParameterfvARB(OpenTK.Graphics.ArbPointParameters pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void PointParameterfvEXT(OpenTK.Graphics.ExtPointParameters pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterfvSGIS", ExactSpelling = true)]
-            internal extern static unsafe void PointParameterfvSGIS(OpenTK.Graphics.SgisPointParameters pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameteri", ExactSpelling = true)]
-            internal extern static void PointParameteri(OpenTK.Graphics.PointParameterName pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameteriNV", ExactSpelling = true)]
-            internal extern static void PointParameteriNV(OpenTK.Graphics.NvPointSprite pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void PointParameteriv(OpenTK.Graphics.PointParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointParameterivNV", ExactSpelling = true)]
-            internal extern static unsafe void PointParameterivNV(OpenTK.Graphics.NvPointSprite pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPointSize", ExactSpelling = true)]
-            internal extern static void PointSize(Single size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPollAsyncSGIX", ExactSpelling = true)]
-            internal extern static unsafe Int32 PollAsyncSGIX([Out] UInt32* markerp);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPollInstrumentsSGIX", ExactSpelling = true)]
-            internal extern static unsafe Int32 PollInstrumentsSGIX([Out] Int32* marker_p);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonMode", ExactSpelling = true)]
-            internal extern static void PolygonMode(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.PolygonMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonOffset", ExactSpelling = true)]
-            internal extern static void PolygonOffset(Single factor, Single units);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonOffsetEXT", ExactSpelling = true)]
-            internal extern static void PolygonOffsetEXT(Single factor, Single bias);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPolygonStipple", ExactSpelling = true)]
-            internal extern static unsafe void PolygonStipple(Byte* mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopAttrib", ExactSpelling = true)]
-            internal extern static void PopAttrib();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopClientAttrib", ExactSpelling = true)]
-            internal extern static void PopClientAttrib();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopMatrix", ExactSpelling = true)]
-            internal extern static void PopMatrix();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPopName", ExactSpelling = true)]
-            internal extern static void PopName();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPresentFrameDualFillNV", ExactSpelling = true)]
-            internal extern static void PresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, OpenTK.Graphics.NvPresentVideo target2, UInt32 fill2, OpenTK.Graphics.NvPresentVideo target3, UInt32 fill3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPresentFrameKeyedNV", ExactSpelling = true)]
-            internal extern static void PresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, UInt32 key0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, UInt32 key1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrimitiveRestartIndex", ExactSpelling = true)]
-            internal extern static void PrimitiveRestartIndex(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrimitiveRestartIndexNV", ExactSpelling = true)]
-            internal extern static void PrimitiveRestartIndexNV(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrimitiveRestartNV", ExactSpelling = true)]
-            internal extern static void PrimitiveRestartNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrioritizeTextures", ExactSpelling = true)]
-            internal extern static unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPrioritizeTexturesEXT", ExactSpelling = true)]
-            internal extern static unsafe void PrioritizeTexturesEXT(Int32 n, UInt32* textures, Single* priorities);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramBufferParametersfvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramBufferParametersfvNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramBufferParametersIivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramBufferParametersIivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramBufferParametersIuivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramBufferParametersIuivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4dARB", ExactSpelling = true)]
-            internal extern static void ProgramEnvParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4dvARB", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4fARB", ExactSpelling = true)]
-            internal extern static void ProgramEnvParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameter4fvARB", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4iNV", ExactSpelling = true)]
-            internal extern static void ProgramEnvParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4ivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4uiNV", ExactSpelling = true)]
-            internal extern static void ProgramEnvParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameterI4uivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParameters4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParametersI4ivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramEnvParametersI4uivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramEnvParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4dARB", ExactSpelling = true)]
-            internal extern static void ProgramLocalParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4dvARB", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4fARB", ExactSpelling = true)]
-            internal extern static void ProgramLocalParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameter4fvARB", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4iNV", ExactSpelling = true)]
-            internal extern static void ProgramLocalParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4ivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4uiNV", ExactSpelling = true)]
-            internal extern static void ProgramLocalParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameterI4uivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParameters4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParametersI4ivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramLocalParametersI4uivNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramLocalParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4dNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4dvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte* name, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4fNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramNamedParameter4fvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte* name, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4dNV", ExactSpelling = true)]
-            internal extern static void ProgramParameter4dNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4dvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramParameter4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4fNV", ExactSpelling = true)]
-            internal extern static void ProgramParameter4fNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameter4fvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramParameter4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameteri", ExactSpelling = true)]
-            internal extern static void ProgramParameteri(UInt32 program, OpenTK.Graphics.Version32 pname, Int32 value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameteriARB", ExactSpelling = true)]
-            internal extern static void ProgramParameteriARB(UInt32 program, OpenTK.Graphics.ArbGeometryShader4 pname, Int32 value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameteriEXT", ExactSpelling = true)]
-            internal extern static void ProgramParameteriEXT(UInt32 program, OpenTK.Graphics.ExtGeometryShader4 pname, Int32 value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameters4dvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramParameters4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramParameters4fvNV", ExactSpelling = true)]
-            internal extern static unsafe void ProgramParameters4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramStringARB", ExactSpelling = true)]
-            internal extern static void ProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.ArbVertexProgram format, Int32 len, IntPtr @string);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1fEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform1fEXT(UInt32 program, Int32 location, Single v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1iEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1uiEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform1uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2fEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2iEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2uiEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform2uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3fEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3iEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3uiEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform3uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4fEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4iEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4uiEXT", ExactSpelling = true)]
-            internal extern static void ProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniform4uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix2fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix2x3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix2x4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix3x2fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix3x4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix4fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix4x2fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramUniformMatrix4x3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void ProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProgramVertexLimitNV", ExactSpelling = true)]
-            internal extern static void ProgramVertexLimitNV(OpenTK.Graphics.NvGeometryProgram4 target, Int32 limit);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProvokingVertex", ExactSpelling = true)]
-            internal extern static void ProvokingVertex(OpenTK.Graphics.ArbProvokingVertex mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glProvokingVertexEXT", ExactSpelling = true)]
-            internal extern static void ProvokingVertexEXT(OpenTK.Graphics.ExtProvokingVertex mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushAttrib", ExactSpelling = true)]
-            internal extern static void PushAttrib(OpenTK.Graphics.AttribMask mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushClientAttrib", ExactSpelling = true)]
-            internal extern static void PushClientAttrib(OpenTK.Graphics.ClientAttribMask mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushClientAttribDefaultEXT", ExactSpelling = true)]
-            internal extern static void PushClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushMatrix", ExactSpelling = true)]
-            internal extern static void PushMatrix();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glPushName", ExactSpelling = true)]
-            internal extern static void PushName(UInt32 name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2d", ExactSpelling = true)]
-            internal extern static void RasterPos2d(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2dv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2f", ExactSpelling = true)]
-            internal extern static void RasterPos2f(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2fv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2i", ExactSpelling = true)]
-            internal extern static void RasterPos2i(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2iv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2s", ExactSpelling = true)]
-            internal extern static void RasterPos2s(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos2sv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3d", ExactSpelling = true)]
-            internal extern static void RasterPos3d(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3dv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3f", ExactSpelling = true)]
-            internal extern static void RasterPos3f(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3fv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3i", ExactSpelling = true)]
-            internal extern static void RasterPos3i(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3iv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3s", ExactSpelling = true)]
-            internal extern static void RasterPos3s(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos3sv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4d", ExactSpelling = true)]
-            internal extern static void RasterPos4d(Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4dv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4f", ExactSpelling = true)]
-            internal extern static void RasterPos4f(Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4fv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4i", ExactSpelling = true)]
-            internal extern static void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4iv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4s", ExactSpelling = true)]
-            internal extern static void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRasterPos4sv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadBuffer", ExactSpelling = true)]
-            internal extern static void ReadBuffer(OpenTK.Graphics.ReadBufferMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadInstrumentsSGIX", ExactSpelling = true)]
-            internal extern static void ReadInstrumentsSGIX(Int32 marker);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReadPixels", ExactSpelling = true)]
-            internal extern static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectd", ExactSpelling = true)]
-            internal extern static void Rectd(Double x1, Double y1, Double x2, Double y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectdv", ExactSpelling = true)]
-            internal extern static unsafe void Rectdv(Double* v1, Double* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectf", ExactSpelling = true)]
-            internal extern static void Rectf(Single x1, Single y1, Single x2, Single y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectfv", ExactSpelling = true)]
-            internal extern static unsafe void Rectfv(Single* v1, Single* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRecti", ExactSpelling = true)]
-            internal extern static void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectiv", ExactSpelling = true)]
-            internal extern static unsafe void Rectiv(Int32* v1, Int32* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRects", ExactSpelling = true)]
-            internal extern static void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRectsv", ExactSpelling = true)]
-            internal extern static unsafe void Rectsv(Int16* v1, Int16* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReferencePlaneSGIX", ExactSpelling = true)]
-            internal extern static unsafe void ReferencePlaneSGIX(Double* equation);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorage", ExactSpelling = true)]
-            internal extern static void RenderbufferStorage(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageEXT", ExactSpelling = true)]
-            internal extern static void RenderbufferStorageEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageMultisample", ExactSpelling = true)]
-            internal extern static void RenderbufferStorageMultisample(OpenTK.Graphics.RenderbufferTarget target, Int32 samples, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageMultisampleCoverageNV", ExactSpelling = true)]
-            internal extern static void RenderbufferStorageMultisampleCoverageNV(OpenTK.Graphics.RenderbufferTarget target, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderbufferStorageMultisampleEXT", ExactSpelling = true)]
-            internal extern static void RenderbufferStorageMultisampleEXT(OpenTK.Graphics.ExtFramebufferMultisample target, Int32 samples, OpenTK.Graphics.ExtFramebufferMultisample internalformat, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRenderMode", ExactSpelling = true)]
-            internal extern static Int32 RenderMode(OpenTK.Graphics.RenderingMode mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodePointerSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodePointerSUN(OpenTK.Graphics.SunTriangleList type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeubSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeubSUN(Byte code);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeubvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeubvSUN(Byte* code);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiColor3fVertex3fvSUN(UInt32* rc, Single* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* c, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4ubVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiColor4ubVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiColor4ubVertex3fvSUN(UInt32* rc, Byte* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiNormal3fVertex3fvSUN(UInt32* rc, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiSUN(UInt32 code);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* c, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiTexCoord2fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32* rc, Single* tc, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiVertex3fSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuiVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuiVertex3fvSUN(UInt32* rc, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeuivSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeuivSUN(UInt32* code);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeusSUN", ExactSpelling = true)]
-            internal extern static void ReplacementCodeusSUN(UInt16 code);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glReplacementCodeusvSUN", ExactSpelling = true)]
-            internal extern static unsafe void ReplacementCodeusvSUN(UInt16* code);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRequestResidentProgramsNV", ExactSpelling = true)]
-            internal extern static unsafe void RequestResidentProgramsNV(Int32 n, UInt32* programs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetHistogram", ExactSpelling = true)]
-            internal extern static void ResetHistogram(OpenTK.Graphics.Version12Deprecated target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetHistogramEXT", ExactSpelling = true)]
-            internal extern static void ResetHistogramEXT(OpenTK.Graphics.ExtHistogram target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetMinmax", ExactSpelling = true)]
-            internal extern static void ResetMinmax(OpenTK.Graphics.Version12Deprecated target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResetMinmaxEXT", ExactSpelling = true)]
-            internal extern static void ResetMinmaxEXT(OpenTK.Graphics.ExtHistogram target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResizeBuffersMESA", CharSet = CharSet.Auto)]
-            internal extern static void ResizeBuffersMESA();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glResumeTransformFeedbackNV", ExactSpelling = true)]
-            internal extern static void ResumeTransformFeedbackNV();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRotated", ExactSpelling = true)]
-            internal extern static void Rotated(Double angle, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glRotatef", ExactSpelling = true)]
-            internal extern static void Rotatef(Single angle, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleCoverage", ExactSpelling = true)]
-            internal extern static void SampleCoverage(Single value, bool invert);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleCoverageARB", ExactSpelling = true)]
-            internal extern static void SampleCoverageARB(Single value, bool invert);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMapATI", ExactSpelling = true)]
-            internal extern static void SampleMapATI(UInt32 dst, UInt32 interp, OpenTK.Graphics.AtiFragmentShader swizzle);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaskEXT", ExactSpelling = true)]
-            internal extern static void SampleMaskEXT(Single value, bool invert);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaski", ExactSpelling = true)]
-            internal extern static void SampleMaski(UInt32 index, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaskIndexedNV", ExactSpelling = true)]
-            internal extern static void SampleMaskIndexedNV(UInt32 index, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSampleMaskSGIS", ExactSpelling = true)]
-            internal extern static void SampleMaskSGIS(Single value, bool invert);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSamplePatternEXT", ExactSpelling = true)]
-            internal extern static void SamplePatternEXT(OpenTK.Graphics.ExtMultisample pattern);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSamplePatternSGIS", ExactSpelling = true)]
-            internal extern static void SamplePatternSGIS(OpenTK.Graphics.SgisMultisample pattern);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glScaled", ExactSpelling = true)]
-            internal extern static void Scaled(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glScalef", ExactSpelling = true)]
-            internal extern static void Scalef(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glScissor", ExactSpelling = true)]
-            internal extern static void Scissor(Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3b", ExactSpelling = true)]
-            internal extern static void SecondaryColor3b(SByte red, SByte green, SByte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3bEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3bEXT(SByte red, SByte green, SByte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3bv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3bvEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3bvEXT(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3d", ExactSpelling = true)]
-            internal extern static void SecondaryColor3d(Double red, Double green, Double blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3dEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3dEXT(Double red, Double green, Double blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3dv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3dvEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3dvEXT(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3f", ExactSpelling = true)]
-            internal extern static void SecondaryColor3f(Single red, Single green, Single blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3fEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3fEXT(Single red, Single green, Single blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3fv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3fvEXT(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3hNV", ExactSpelling = true)]
-            internal extern static void SecondaryColor3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3i", ExactSpelling = true)]
-            internal extern static void SecondaryColor3i(Int32 red, Int32 green, Int32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3iEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3iv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3ivEXT(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3s", ExactSpelling = true)]
-            internal extern static void SecondaryColor3s(Int16 red, Int16 green, Int16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3sEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3sv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3svEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3svEXT(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ub", ExactSpelling = true)]
-            internal extern static void SecondaryColor3ub(Byte red, Byte green, Byte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ubEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3ubEXT(Byte red, Byte green, Byte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ubv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3ubv(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ubvEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3ubvEXT(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3ui", ExactSpelling = true)]
-            internal extern static void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3uiEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3uiv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3uiv(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3uivEXT(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3us", ExactSpelling = true)]
-            internal extern static void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3usEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3usv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3usv(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColor3usvEXT", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3usvEXT(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColorPointer", ExactSpelling = true)]
-            internal extern static void SecondaryColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColorPointerEXT", ExactSpelling = true)]
-            internal extern static void SecondaryColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSecondaryColorPointerListIBM", ExactSpelling = true)]
-            internal extern static void SecondaryColorPointerListIBM(Int32 size, OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSelectBuffer", ExactSpelling = true)]
-            internal extern static unsafe void SelectBuffer(Int32 size, [Out] UInt32* buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSelectPerfMonitorCountersAMD", ExactSpelling = true)]
-            internal extern static unsafe void SelectPerfMonitorCountersAMD(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32* counterList);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSeparableFilter2D", ExactSpelling = true)]
-            internal extern static void SeparableFilter2D(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSeparableFilter2DEXT", ExactSpelling = true)]
-            internal extern static void SeparableFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetFenceAPPLE", ExactSpelling = true)]
-            internal extern static void SetFenceAPPLE(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetFenceNV", ExactSpelling = true)]
-            internal extern static void SetFenceNV(UInt32 fence, OpenTK.Graphics.NvFence condition);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetFragmentShaderConstantATI", ExactSpelling = true)]
-            internal extern static unsafe void SetFragmentShaderConstantATI(UInt32 dst, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetInvariantEXT", ExactSpelling = true)]
-            internal extern static void SetInvariantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSetLocalConstantEXT", ExactSpelling = true)]
-            internal extern static void SetLocalConstantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShadeModel", ExactSpelling = true)]
-            internal extern static void ShadeModel(OpenTK.Graphics.ShadingModel mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderOp1EXT", ExactSpelling = true)]
-            internal extern static void ShaderOp1EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderOp2EXT", ExactSpelling = true)]
-            internal extern static void ShaderOp2EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderOp3EXT", ExactSpelling = true)]
-            internal extern static void ShaderOp3EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderSource", ExactSpelling = true)]
-            internal extern static unsafe void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glShaderSourceARB", ExactSpelling = true)]
-            internal extern static unsafe void ShaderSourceARB(UInt32 shaderObj, Int32 count, String[] @string, Int32* length);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSharpenTexFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void SharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameterfSGIX", ExactSpelling = true)]
-            internal extern static void SpriteParameterfSGIX(OpenTK.Graphics.SgixSprite pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameterfvSGIX", ExactSpelling = true)]
-            internal extern static unsafe void SpriteParameterfvSGIX(OpenTK.Graphics.SgixSprite pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameteriSGIX", ExactSpelling = true)]
-            internal extern static void SpriteParameteriSGIX(OpenTK.Graphics.SgixSprite pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSpriteParameterivSGIX", ExactSpelling = true)]
-            internal extern static unsafe void SpriteParameterivSGIX(OpenTK.Graphics.SgixSprite pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStartInstrumentsSGIX", ExactSpelling = true)]
-            internal extern static void StartInstrumentsSGIX();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilClearTagEXT", ExactSpelling = true)]
-            internal extern static void StencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilFunc", ExactSpelling = true)]
-            internal extern static void StencilFunc(OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilFuncSeparate", ExactSpelling = true)]
-            internal extern static void StencilFuncSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilFuncSeparateATI", ExactSpelling = true)]
-            internal extern static void StencilFuncSeparateATI(OpenTK.Graphics.StencilFunction frontfunc, OpenTK.Graphics.StencilFunction backfunc, Int32 @ref, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilMask", ExactSpelling = true)]
-            internal extern static void StencilMask(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilMaskSeparate", ExactSpelling = true)]
-            internal extern static void StencilMaskSeparate(OpenTK.Graphics.StencilFace face, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilOp", ExactSpelling = true)]
-            internal extern static void StencilOp(OpenTK.Graphics.StencilOp fail, OpenTK.Graphics.StencilOp zfail, OpenTK.Graphics.StencilOp zpass);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilOpSeparate", ExactSpelling = true)]
-            internal extern static void StencilOpSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStencilOpSeparateATI", ExactSpelling = true)]
-            internal extern static void StencilOpSeparateATI(OpenTK.Graphics.AtiSeparateStencil face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStopInstrumentsSGIX", ExactSpelling = true)]
-            internal extern static void StopInstrumentsSGIX(Int32 marker);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glStringMarkerGREMEDY", ExactSpelling = true)]
-            internal extern static void StringMarkerGREMEDY(Int32 len, IntPtr @string);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glSwizzleEXT", ExactSpelling = true)]
-            internal extern static void SwizzleEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTagSampleBufferSGIX", ExactSpelling = true)]
-            internal extern static void TagSampleBufferSGIX();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3bEXT", ExactSpelling = true)]
-            internal extern static void Tangent3bEXT(SByte tx, SByte ty, SByte tz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3bvEXT", ExactSpelling = true)]
-            internal extern static unsafe void Tangent3bvEXT(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3dEXT", ExactSpelling = true)]
-            internal extern static void Tangent3dEXT(Double tx, Double ty, Double tz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3dvEXT", ExactSpelling = true)]
-            internal extern static unsafe void Tangent3dvEXT(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3fEXT", ExactSpelling = true)]
-            internal extern static void Tangent3fEXT(Single tx, Single ty, Single tz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3fvEXT", ExactSpelling = true)]
-            internal extern static unsafe void Tangent3fvEXT(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3iEXT", ExactSpelling = true)]
-            internal extern static void Tangent3iEXT(Int32 tx, Int32 ty, Int32 tz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void Tangent3ivEXT(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3sEXT", ExactSpelling = true)]
-            internal extern static void Tangent3sEXT(Int16 tx, Int16 ty, Int16 tz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangent3svEXT", ExactSpelling = true)]
-            internal extern static unsafe void Tangent3svEXT(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTangentPointerEXT", ExactSpelling = true)]
-            internal extern static void TangentPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTbufferMask3DFX", ExactSpelling = true)]
-            internal extern static void TbufferMask3DFX(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTessellationFactorAMD", ExactSpelling = true)]
-            internal extern static void TessellationFactorAMD(Single factor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTessellationModeAMD", ExactSpelling = true)]
-            internal extern static void TessellationModeAMD(OpenTK.Graphics.AmdVertexShaderTesselator mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTestFenceAPPLE", ExactSpelling = true)]
-            internal extern static bool TestFenceAPPLE(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTestFenceNV", ExactSpelling = true)]
-            internal extern static bool TestFenceNV(UInt32 fence);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTestObjectAPPLE", ExactSpelling = true)]
-            internal extern static bool TestObjectAPPLE(OpenTK.Graphics.AppleFence @object, UInt32 name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBuffer", ExactSpelling = true)]
-            internal extern static void TexBuffer(OpenTK.Graphics.TextureBufferTarget target, OpenTK.Graphics.SizedInternalFormat internalformat, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBufferARB", ExactSpelling = true)]
-            internal extern static void TexBufferARB(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ArbTextureBufferObject internalformat, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBufferEXT", ExactSpelling = true)]
-            internal extern static void TexBufferEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtTextureBufferObject internalformat, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBumpParameterfvATI", ExactSpelling = true)]
-            internal extern static unsafe void TexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Single* param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexBumpParameterivATI", ExactSpelling = true)]
-            internal extern static unsafe void TexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Int32* param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1d", ExactSpelling = true)]
-            internal extern static void TexCoord1d(Double s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1f", ExactSpelling = true)]
-            internal extern static void TexCoord1f(Single s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1hNV", ExactSpelling = true)]
-            internal extern static void TexCoord1hNV(OpenTK.Half s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1hvNV", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1i", ExactSpelling = true)]
-            internal extern static void TexCoord1i(Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1s", ExactSpelling = true)]
-            internal extern static void TexCoord1s(Int16 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord1sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2d", ExactSpelling = true)]
-            internal extern static void TexCoord2d(Double s, Double t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2f", ExactSpelling = true)]
-            internal extern static void TexCoord2f(Single s, Single t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fColor3fVertex3fvSUN(Single* tc, Single* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4fNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fColor4fNormal3fVertex3fvSUN(Single* tc, Single* c, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4ubVertex3fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fColor4ubVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fColor4ubVertex3fvSUN(Single* tc, Byte* c, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fNormal3fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fNormal3fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fNormal3fVertex3fvSUN(Single* tc, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fVertex3fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2fVertex3fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fVertex3fvSUN(Single* tc, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2hNV", ExactSpelling = true)]
-            internal extern static void TexCoord2hNV(OpenTK.Half s, OpenTK.Half t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2hvNV", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2i", ExactSpelling = true)]
-            internal extern static void TexCoord2i(Int32 s, Int32 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2s", ExactSpelling = true)]
-            internal extern static void TexCoord2s(Int16 s, Int16 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord2sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3d", ExactSpelling = true)]
-            internal extern static void TexCoord3d(Double s, Double t, Double r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3f", ExactSpelling = true)]
-            internal extern static void TexCoord3f(Single s, Single t, Single r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3hNV", ExactSpelling = true)]
-            internal extern static void TexCoord3hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3i", ExactSpelling = true)]
-            internal extern static void TexCoord3i(Int32 s, Int32 t, Int32 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3s", ExactSpelling = true)]
-            internal extern static void TexCoord3s(Int16 s, Int16 t, Int16 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord3sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4d", ExactSpelling = true)]
-            internal extern static void TexCoord4d(Double s, Double t, Double r, Double q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4f", ExactSpelling = true)]
-            internal extern static void TexCoord4f(Single s, Single t, Single r, Single q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fColor4fNormal3fVertex4fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4fColor4fNormal3fVertex4fvSUN(Single* tc, Single* c, Single* n, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fVertex4fSUN", ExactSpelling = true)]
-            internal extern static void TexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4fVertex4fvSUN", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4fVertex4fvSUN(Single* tc, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4hNV", ExactSpelling = true)]
-            internal extern static void TexCoord4hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4hvNV", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4i", ExactSpelling = true)]
-            internal extern static void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4s", ExactSpelling = true)]
-            internal extern static void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoord4sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointer", ExactSpelling = true)]
-            internal extern static void TexCoordPointer(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointerEXT", ExactSpelling = true)]
-            internal extern static void TexCoordPointerEXT(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointerListIBM", ExactSpelling = true)]
-            internal extern static void TexCoordPointerListIBM(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexCoordPointervINTEL", ExactSpelling = true)]
-            internal extern static void TexCoordPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnvf", ExactSpelling = true)]
-            internal extern static void TexEnvf(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnvfv", ExactSpelling = true)]
-            internal extern static unsafe void TexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnvi", ExactSpelling = true)]
-            internal extern static void TexEnvi(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexEnviv", ExactSpelling = true)]
-            internal extern static unsafe void TexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexFilterFuncSGIS", ExactSpelling = true)]
-            internal extern static unsafe void TexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, Int32 n, Single* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGend", ExactSpelling = true)]
-            internal extern static void TexGend(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGendv", ExactSpelling = true)]
-            internal extern static unsafe void TexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGenf", ExactSpelling = true)]
-            internal extern static void TexGenf(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGenfv", ExactSpelling = true)]
-            internal extern static unsafe void TexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGeni", ExactSpelling = true)]
-            internal extern static void TexGeni(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexGeniv", ExactSpelling = true)]
-            internal extern static unsafe void TexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage1D", ExactSpelling = true)]
-            internal extern static void TexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage2D", ExactSpelling = true)]
-            internal extern static void TexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage2DMultisample", ExactSpelling = true)]
-            internal extern static void TexImage2DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, bool fixedsamplelocations);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage3D", ExactSpelling = true)]
-            internal extern static void TexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage3DEXT", ExactSpelling = true)]
-            internal extern static void TexImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage3DMultisample", ExactSpelling = true)]
-            internal extern static void TexImage3DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexImage4DSGIS", ExactSpelling = true)]
-            internal extern static void TexImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterf", ExactSpelling = true)]
-            internal extern static void TexParameterf(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void TexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameteri", ExactSpelling = true)]
-            internal extern static void TexParameteri(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIiv", ExactSpelling = true)]
-            internal extern static unsafe void TexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void TexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIuiv", ExactSpelling = true)]
-            internal extern static unsafe void TexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void TexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void TexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexRenderbufferNV", ExactSpelling = true)]
-            internal extern static void TexRenderbufferNV(OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage1D", ExactSpelling = true)]
-            internal extern static void TexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void TexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage2D", ExactSpelling = true)]
-            internal extern static void TexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void TexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage3D", ExactSpelling = true)]
-            internal extern static void TexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void TexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTexSubImage4DSGIS", ExactSpelling = true)]
-            internal extern static void TexSubImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureBufferEXT", ExactSpelling = true)]
-            internal extern static void TextureBufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureColorMaskSGIS", ExactSpelling = true)]
-            internal extern static void TextureColorMaskSGIS(bool red, bool green, bool blue, bool alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureImage1DEXT", ExactSpelling = true)]
-            internal extern static void TextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureImage2DEXT", ExactSpelling = true)]
-            internal extern static void TextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureImage3DEXT", ExactSpelling = true)]
-            internal extern static void TextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureLightEXT", ExactSpelling = true)]
-            internal extern static void TextureLightEXT(OpenTK.Graphics.ExtLightTexture pname);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureMaterialEXT", ExactSpelling = true)]
-            internal extern static void TextureMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureNormalEXT", ExactSpelling = true)]
-            internal extern static void TextureNormalEXT(OpenTK.Graphics.ExtTexturePerturbNormal mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterfEXT", ExactSpelling = true)]
-            internal extern static void TextureParameterfEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void TextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameteriEXT", ExactSpelling = true)]
-            internal extern static void TextureParameteriEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterIivEXT", ExactSpelling = true)]
-            internal extern static unsafe void TextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterIuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void TextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureParameterivEXT", ExactSpelling = true)]
-            internal extern static unsafe void TextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureRangeAPPLE", ExactSpelling = true)]
-            internal extern static void TextureRangeAPPLE(OpenTK.Graphics.AppleTextureRange target, Int32 length, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureRenderbufferEXT", ExactSpelling = true)]
-            internal extern static void TextureRenderbufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureSubImage1DEXT", ExactSpelling = true)]
-            internal extern static void TextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureSubImage2DEXT", ExactSpelling = true)]
-            internal extern static void TextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTextureSubImage3DEXT", ExactSpelling = true)]
-            internal extern static void TextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTrackMatrixNV", ExactSpelling = true)]
-            internal extern static void TrackMatrixNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.NvVertexProgram matrix, OpenTK.Graphics.NvVertexProgram transform);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackAttribsNV", ExactSpelling = true)]
-            internal extern static unsafe void TransformFeedbackAttribsNV(UInt32 count, Int32* attribs, OpenTK.Graphics.NvTransformFeedback bufferMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackVaryings", ExactSpelling = true)]
-            internal extern static void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.TransformFeedbackMode bufferMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackVaryingsEXT", ExactSpelling = true)]
-            internal extern static void TransformFeedbackVaryingsEXT(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.ExtTransformFeedback bufferMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTransformFeedbackVaryingsNV", ExactSpelling = true)]
-            internal extern static void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.NvTransformFeedback bufferMode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTranslated", ExactSpelling = true)]
-            internal extern static void Translated(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glTranslatef", ExactSpelling = true)]
-            internal extern static void Translatef(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1f", ExactSpelling = true)]
-            internal extern static void Uniform1f(Int32 location, Single v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1fARB", ExactSpelling = true)]
-            internal extern static void Uniform1fARB(Int32 location, Single v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1fvARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1fvARB(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1i", ExactSpelling = true)]
-            internal extern static void Uniform1i(Int32 location, Int32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1iARB", ExactSpelling = true)]
-            internal extern static void Uniform1iARB(Int32 location, Int32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1ivARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1ivARB(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1ui", ExactSpelling = true)]
-            internal extern static void Uniform1ui(Int32 location, UInt32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1uiEXT", ExactSpelling = true)]
-            internal extern static void Uniform1uiEXT(Int32 location, UInt32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1uiv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1uiv(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform1uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1uivEXT(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2f", ExactSpelling = true)]
-            internal extern static void Uniform2f(Int32 location, Single v0, Single v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2fARB", ExactSpelling = true)]
-            internal extern static void Uniform2fARB(Int32 location, Single v0, Single v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2fvARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2fvARB(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2i", ExactSpelling = true)]
-            internal extern static void Uniform2i(Int32 location, Int32 v0, Int32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2iARB", ExactSpelling = true)]
-            internal extern static void Uniform2iARB(Int32 location, Int32 v0, Int32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2ivARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2ivARB(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2ui", ExactSpelling = true)]
-            internal extern static void Uniform2ui(Int32 location, UInt32 v0, UInt32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2uiEXT", ExactSpelling = true)]
-            internal extern static void Uniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2uiv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2uiv(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform2uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2uivEXT(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3f", ExactSpelling = true)]
-            internal extern static void Uniform3f(Int32 location, Single v0, Single v1, Single v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3fARB", ExactSpelling = true)]
-            internal extern static void Uniform3fARB(Int32 location, Single v0, Single v1, Single v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3fvARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3fvARB(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3i", ExactSpelling = true)]
-            internal extern static void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3iARB", ExactSpelling = true)]
-            internal extern static void Uniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3ivARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3ivARB(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3ui", ExactSpelling = true)]
-            internal extern static void Uniform3ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3uiEXT", ExactSpelling = true)]
-            internal extern static void Uniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3uiv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3uiv(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform3uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3uivEXT(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4f", ExactSpelling = true)]
-            internal extern static void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4fARB", ExactSpelling = true)]
-            internal extern static void Uniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4fvARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4fvARB(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4i", ExactSpelling = true)]
-            internal extern static void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4iARB", ExactSpelling = true)]
-            internal extern static void Uniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4ivARB", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4ivARB(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4ui", ExactSpelling = true)]
-            internal extern static void Uniform4ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4uiEXT", ExactSpelling = true)]
-            internal extern static void Uniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4uiv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4uiv(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniform4uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4uivEXT(Int32 location, Int32 count, UInt32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformBlockBinding", ExactSpelling = true)]
-            internal extern static void UniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformBufferEXT", ExactSpelling = true)]
-            internal extern static void UniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2fvARB", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2fvARB(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2x3fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2x3fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix2x4fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2x4fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3fvARB", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3fvARB(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3x2fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3x2fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix3x4fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3x4fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4fvARB", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4fvARB(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4x2fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4x2fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUniformMatrix4x3fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4x3fv(Int32 location, Int32 count, bool transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnlockArraysEXT", ExactSpelling = true)]
-            internal extern static void UnlockArraysEXT();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapBuffer", ExactSpelling = true)]
-            internal extern static bool UnmapBuffer(OpenTK.Graphics.BufferTarget target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapBufferARB", ExactSpelling = true)]
-            internal extern static bool UnmapBufferARB(OpenTK.Graphics.BufferTargetArb target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapNamedBufferEXT", ExactSpelling = true)]
-            internal extern static bool UnmapNamedBufferEXT(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUnmapObjectBufferATI", ExactSpelling = true)]
-            internal extern static void UnmapObjectBufferATI(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUpdateObjectBufferATI", ExactSpelling = true)]
-            internal extern static void UpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject preserve);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUseProgram", ExactSpelling = true)]
-            internal extern static void UseProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glUseProgramObjectARB", ExactSpelling = true)]
-            internal extern static void UseProgramObjectARB(UInt32 programObj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glValidateProgram", ExactSpelling = true)]
-            internal extern static void ValidateProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glValidateProgramARB", ExactSpelling = true)]
-            internal extern static void ValidateProgramARB(UInt32 programObj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantArrayObjectATI", ExactSpelling = true)]
-            internal extern static void VariantArrayObjectATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantbvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantbvEXT(UInt32 id, SByte* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantdvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantdvEXT(UInt32 id, Double* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantfvEXT(UInt32 id, Single* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantivEXT(UInt32 id, Int32* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantPointerEXT", ExactSpelling = true)]
-            internal extern static void VariantPointerEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, UInt32 stride, IntPtr addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantsvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantsvEXT(UInt32 id, Int16* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantubvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantubvEXT(UInt32 id, Byte* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantuivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantuivEXT(UInt32 id, UInt32* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVariantusvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VariantusvEXT(UInt32 id, UInt16* addr);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2d", ExactSpelling = true)]
-            internal extern static void Vertex2d(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2dv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2f", ExactSpelling = true)]
-            internal extern static void Vertex2f(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2fv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2hNV", ExactSpelling = true)]
-            internal extern static void Vertex2hNV(OpenTK.Half x, OpenTK.Half y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2hvNV", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2i", ExactSpelling = true)]
-            internal extern static void Vertex2i(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2iv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2s", ExactSpelling = true)]
-            internal extern static void Vertex2s(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex2sv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3d", ExactSpelling = true)]
-            internal extern static void Vertex3d(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3dv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3f", ExactSpelling = true)]
-            internal extern static void Vertex3f(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3fv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3hNV", ExactSpelling = true)]
-            internal extern static void Vertex3hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3i", ExactSpelling = true)]
-            internal extern static void Vertex3i(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3iv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3s", ExactSpelling = true)]
-            internal extern static void Vertex3s(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex3sv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4d", ExactSpelling = true)]
-            internal extern static void Vertex4d(Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4dv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4f", ExactSpelling = true)]
-            internal extern static void Vertex4f(Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4fv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4hNV", ExactSpelling = true)]
-            internal extern static void Vertex4hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4hvNV", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4hvNV(OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4i", ExactSpelling = true)]
-            internal extern static void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4iv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4s", ExactSpelling = true)]
-            internal extern static void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertex4sv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexArrayParameteriAPPLE", ExactSpelling = true)]
-            internal extern static void VertexArrayParameteriAPPLE(OpenTK.Graphics.AppleVertexArrayRange pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexArrayRangeAPPLE", ExactSpelling = true)]
-            internal extern static void VertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexArrayRangeNV", ExactSpelling = true)]
-            internal extern static void VertexArrayRangeNV(Int32 length, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1d", ExactSpelling = true)]
-            internal extern static void VertexAttrib1d(UInt32 index, Double x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib1dARB(UInt32 index, Double x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib1dNV(UInt32 index, Double x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1dvARB(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1dvNV(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1f", ExactSpelling = true)]
-            internal extern static void VertexAttrib1f(UInt32 index, Single x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib1fARB(UInt32 index, Single x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib1fNV(UInt32 index, Single x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1fvARB(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1fvNV(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1hNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib1hNV(UInt32 index, OpenTK.Half x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1hvNV(UInt32 index, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1s", ExactSpelling = true)]
-            internal extern static void VertexAttrib1s(UInt32 index, Int16 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1sARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib1sARB(UInt32 index, Int16 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1sNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib1sNV(UInt32 index, Int16 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1svARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1svARB(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib1svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1svNV(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2d", ExactSpelling = true)]
-            internal extern static void VertexAttrib2d(UInt32 index, Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib2dARB(UInt32 index, Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib2dNV(UInt32 index, Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2dvARB(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2dvNV(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2f", ExactSpelling = true)]
-            internal extern static void VertexAttrib2f(UInt32 index, Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib2fARB(UInt32 index, Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib2fNV(UInt32 index, Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2fvARB(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2fvNV(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2hNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib2hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2hvNV(UInt32 index, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2s", ExactSpelling = true)]
-            internal extern static void VertexAttrib2s(UInt32 index, Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2sARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib2sARB(UInt32 index, Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2sNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib2sNV(UInt32 index, Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2svARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2svARB(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib2svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2svNV(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3d", ExactSpelling = true)]
-            internal extern static void VertexAttrib3d(UInt32 index, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib3dARB(UInt32 index, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib3dNV(UInt32 index, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3dvARB(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3dvNV(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3f", ExactSpelling = true)]
-            internal extern static void VertexAttrib3f(UInt32 index, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib3fARB(UInt32 index, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib3fNV(UInt32 index, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3fvARB(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3fvNV(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3hNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib3hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3hvNV(UInt32 index, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3s", ExactSpelling = true)]
-            internal extern static void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3sARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3sNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3svARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3svARB(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib3svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3svNV(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4bv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4bv(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4bvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4bvARB(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4d", ExactSpelling = true)]
-            internal extern static void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4dvARB(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4dvNV(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4f", ExactSpelling = true)]
-            internal extern static void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4fvARB(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4fvNV(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4hNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib4hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4hvNV(UInt32 index, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4iv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4iv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ivARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4ivARB(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nbv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nbv(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NbvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4NbvARB(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Niv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Niv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NivARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4NivARB(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nsv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nsv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NsvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4NsvARB(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nub", ExactSpelling = true)]
-            internal extern static void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NubARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nubv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nubv(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NubvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4NubvARB(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nuiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nuiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NuivARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4NuivARB(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4Nusv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nusv(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4NusvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4NusvARB(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4s", ExactSpelling = true)]
-            internal extern static void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4sARB", ExactSpelling = true)]
-            internal extern static void VertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4sNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4svARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4svARB(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4svNV(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubNV", ExactSpelling = true)]
-            internal extern static void VertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4ubv(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4ubvARB(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4ubvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4ubvNV(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4uiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4uiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4uivARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4uivARB(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4usv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4usv(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttrib4usvARB", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4usvARB(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribArrayObjectATI", ExactSpelling = true)]
-            internal extern static void VertexAttribArrayObjectATI(UInt32 index, Int32 size, OpenTK.Graphics.AtiVertexAttribArrayObject type, bool normalized, Int32 stride, UInt32 buffer, UInt32 offset);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribDivisorARB", ExactSpelling = true)]
-            internal extern static void VertexAttribDivisorARB(UInt32 index, UInt32 divisor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1i", ExactSpelling = true)]
-            internal extern static void VertexAttribI1i(UInt32 index, Int32 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1iEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI1iEXT(UInt32 index, Int32 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1iv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI1iv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI1ivEXT(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1ui", ExactSpelling = true)]
-            internal extern static void VertexAttribI1ui(UInt32 index, UInt32 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1uiEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI1uiEXT(UInt32 index, UInt32 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1uiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI1uiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI1uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI1uivEXT(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2i", ExactSpelling = true)]
-            internal extern static void VertexAttribI2i(UInt32 index, Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2iEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2iv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI2iv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI2ivEXT(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2ui", ExactSpelling = true)]
-            internal extern static void VertexAttribI2ui(UInt32 index, UInt32 x, UInt32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2uiEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2uiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI2uiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI2uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI2uivEXT(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3i", ExactSpelling = true)]
-            internal extern static void VertexAttribI3i(UInt32 index, Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3iEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3iv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI3iv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI3ivEXT(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3ui", ExactSpelling = true)]
-            internal extern static void VertexAttribI3ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3uiEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3uiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI3uiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI3uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI3uivEXT(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4bv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4bv(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4bvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4bvEXT(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4i", ExactSpelling = true)]
-            internal extern static void VertexAttribI4i(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4iEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4iv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4iv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4ivEXT(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4svEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4svEXT(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ubv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4ubv(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ubvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4ubvEXT(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4ui", ExactSpelling = true)]
-            internal extern static void VertexAttribI4ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4uiEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4uiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4uiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4uivEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4uivEXT(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4usv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4usv(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribI4usvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribI4usvEXT(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointer", ExactSpelling = true)]
-            internal extern static void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribParameter type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribIPointerEXT", ExactSpelling = true)]
-            internal extern static void VertexAttribIPointerEXT(UInt32 index, Int32 size, OpenTK.Graphics.NvVertexProgram4 type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointer", ExactSpelling = true)]
-            internal extern static void VertexAttribPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointerARB", ExactSpelling = true)]
-            internal extern static void VertexAttribPointerARB(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribPointerNV", ExactSpelling = true)]
-            internal extern static void VertexAttribPointerNV(UInt32 index, Int32 fsize, OpenTK.Graphics.VertexAttribParameterArb type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs1dvNV(UInt32 index, Int32 count, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs1fvNV(UInt32 index, Int32 count, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs1hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs1svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs1svNV(UInt32 index, Int32 count, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs2dvNV(UInt32 index, Int32 count, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs2fvNV(UInt32 index, Int32 count, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs2hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs2svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs2svNV(UInt32 index, Int32 count, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs3dvNV(UInt32 index, Int32 count, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs3fvNV(UInt32 index, Int32 count, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs3hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs3svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs3svNV(UInt32 index, Int32 count, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4dvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs4dvNV(UInt32 index, Int32 count, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4fvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs4fvNV(UInt32 index, Int32 count, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4hvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs4hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4svNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs4svNV(UInt32 index, Int32 count, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexAttribs4ubvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttribs4ubvNV(UInt32 index, Int32 count, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexBlendARB", ExactSpelling = true)]
-            internal extern static void VertexBlendARB(Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexBlendEnvfATI", ExactSpelling = true)]
-            internal extern static void VertexBlendEnvfATI(OpenTK.Graphics.AtiVertexStreams pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexBlendEnviATI", ExactSpelling = true)]
-            internal extern static void VertexBlendEnviATI(OpenTK.Graphics.AtiVertexStreams pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointer", ExactSpelling = true)]
-            internal extern static void VertexPointer(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointerEXT", ExactSpelling = true)]
-            internal extern static void VertexPointerEXT(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointerListIBM", ExactSpelling = true)]
-            internal extern static void VertexPointerListIBM(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexPointervINTEL", ExactSpelling = true)]
-            internal extern static void VertexPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1dATI", ExactSpelling = true)]
-            internal extern static void VertexStream1dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1dvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream1dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1fATI", ExactSpelling = true)]
-            internal extern static void VertexStream1fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1fvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream1fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1iATI", ExactSpelling = true)]
-            internal extern static void VertexStream1iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1ivATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream1ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1sATI", ExactSpelling = true)]
-            internal extern static void VertexStream1sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream1svATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream1svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2dATI", ExactSpelling = true)]
-            internal extern static void VertexStream2dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2dvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream2dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2fATI", ExactSpelling = true)]
-            internal extern static void VertexStream2fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2fvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream2fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2iATI", ExactSpelling = true)]
-            internal extern static void VertexStream2iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2ivATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream2ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2sATI", ExactSpelling = true)]
-            internal extern static void VertexStream2sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream2svATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream2svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3dATI", ExactSpelling = true)]
-            internal extern static void VertexStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3dvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3fATI", ExactSpelling = true)]
-            internal extern static void VertexStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3fvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3iATI", ExactSpelling = true)]
-            internal extern static void VertexStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3ivATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3sATI", ExactSpelling = true)]
-            internal extern static void VertexStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream3svATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4dATI", ExactSpelling = true)]
-            internal extern static void VertexStream4dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4dvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream4dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4fATI", ExactSpelling = true)]
-            internal extern static void VertexStream4fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4fvATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream4fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4iATI", ExactSpelling = true)]
-            internal extern static void VertexStream4iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4ivATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream4ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4sATI", ExactSpelling = true)]
-            internal extern static void VertexStream4sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexStream4svATI", ExactSpelling = true)]
-            internal extern static unsafe void VertexStream4svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeightfEXT", ExactSpelling = true)]
-            internal extern static void VertexWeightfEXT(Single weight);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeightfvEXT", ExactSpelling = true)]
-            internal extern static unsafe void VertexWeightfvEXT(Single* weight);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeighthNV", ExactSpelling = true)]
-            internal extern static void VertexWeighthNV(OpenTK.Half weight);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeighthvNV", ExactSpelling = true)]
-            internal extern static unsafe void VertexWeighthvNV(OpenTK.Half* weight);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glVertexWeightPointerEXT", ExactSpelling = true)]
-            internal extern static void VertexWeightPointerEXT(Int32 size, OpenTK.Graphics.ExtVertexWeighting type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glViewport", ExactSpelling = true)]
-            internal extern static void Viewport(Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWaitSync", ExactSpelling = true)]
-            internal extern static void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightbvARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightbvARB(Int32 size, SByte* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightdvARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightdvARB(Int32 size, Double* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightfvARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightfvARB(Int32 size, Single* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightivARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightivARB(Int32 size, Int32* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightPointerARB", ExactSpelling = true)]
-            internal extern static void WeightPointerARB(Int32 size, OpenTK.Graphics.ArbVertexBlend type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightsvARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightsvARB(Int32 size, Int16* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightubvARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightubvARB(Int32 size, Byte* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightuivARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightuivARB(Int32 size, UInt32* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWeightusvARB", ExactSpelling = true)]
-            internal extern static unsafe void WeightusvARB(Int32 size, UInt16* weights);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2d", ExactSpelling = true)]
-            internal extern static void WindowPos2d(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dARB", ExactSpelling = true)]
-            internal extern static void WindowPos2dARB(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos2dMESA(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dvARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2dvARB(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2dvMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos2dvMESA(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2f", ExactSpelling = true)]
-            internal extern static void WindowPos2f(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fARB", ExactSpelling = true)]
-            internal extern static void WindowPos2fARB(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos2fMESA(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fvARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2fvARB(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2fvMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos2fvMESA(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2i", ExactSpelling = true)]
-            internal extern static void WindowPos2i(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2iARB", ExactSpelling = true)]
-            internal extern static void WindowPos2iARB(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2iMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos2iMESA(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2iv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2ivARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2ivARB(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2ivMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos2ivMESA(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2s", ExactSpelling = true)]
-            internal extern static void WindowPos2s(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2sARB", ExactSpelling = true)]
-            internal extern static void WindowPos2sARB(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2sMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos2sMESA(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2sv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2svARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2svARB(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos2svMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos2svMESA(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3d", ExactSpelling = true)]
-            internal extern static void WindowPos3d(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dARB", ExactSpelling = true)]
-            internal extern static void WindowPos3dARB(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos3dMESA(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dvARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3dvARB(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3dvMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos3dvMESA(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3f", ExactSpelling = true)]
-            internal extern static void WindowPos3f(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fARB", ExactSpelling = true)]
-            internal extern static void WindowPos3fARB(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos3fMESA(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fvARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3fvARB(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3fvMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos3fvMESA(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3i", ExactSpelling = true)]
-            internal extern static void WindowPos3i(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3iARB", ExactSpelling = true)]
-            internal extern static void WindowPos3iARB(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3iMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos3iMESA(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3iv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3ivARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3ivARB(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3ivMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos3ivMESA(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3s", ExactSpelling = true)]
-            internal extern static void WindowPos3s(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3sARB", ExactSpelling = true)]
-            internal extern static void WindowPos3sARB(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3sMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos3sMESA(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3sv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3svARB", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3svARB(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos3svMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos3svMESA(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4dMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos4dMESA(Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4dvMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos4dvMESA(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4fMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos4fMESA(Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4fvMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos4fvMESA(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4iMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4ivMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos4ivMESA(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4sMESA", CharSet = CharSet.Auto)]
-            internal extern static void WindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWindowPos4svMESA", CharSet = CharSet.Auto)]
-            internal extern static unsafe void WindowPos4svMESA(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(GL.Library, EntryPoint = "glWriteMaskEXT", ExactSpelling = true)]
-            internal extern static void WriteMaskEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW);
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/GL/GLDelegates.cs b/Source/Compatibility/Graphics/GL/GLDelegates.cs
deleted file mode 100644 (file)
index 40147d2..0000000
+++ /dev/null
@@ -1,5743 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace OpenTK.Graphics
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 0649
-    #pragma warning disable 3019
-    #pragma warning disable 1591
-
-    partial class GL
-    {
-        [Obsolete]
-        internal static partial class Delegates
-        {
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Accum(OpenTK.Graphics.AccumOp op, Single value);
-            internal static Accum glAccum;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveStencilFaceEXT(OpenTK.Graphics.ExtStencilTwoSide face);
-            internal static ActiveStencilFaceEXT glActiveStencilFaceEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveTexture(OpenTK.Graphics.TextureUnit texture);
-            internal static ActiveTexture glActiveTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveTextureARB(OpenTK.Graphics.TextureUnit texture);
-            internal static ActiveTextureARB glActiveTextureARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveVaryingNV(UInt32 program, String name);
-            internal static ActiveVaryingNV glActiveVaryingNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);
-            internal static AlphaFragmentOp1ATI glAlphaFragmentOp1ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);
-            internal static AlphaFragmentOp2ATI glAlphaFragmentOp2ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);
-            internal static AlphaFragmentOp3ATI glAlphaFragmentOp3ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFunc(OpenTK.Graphics.AlphaFunction func, Single @ref);
-            internal static AlphaFunc glAlphaFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ApplyTextureEXT(OpenTK.Graphics.ExtLightTexture mode);
-            internal static ApplyTextureEXT glApplyTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate bool AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] bool* residences);
-            internal unsafe static AreProgramsResidentNV glAreProgramsResidentNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate bool AreTexturesResident(Int32 n, UInt32* textures, [Out] bool* residences);
-            internal unsafe static AreTexturesResident glAreTexturesResident;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate bool AreTexturesResidentEXT(Int32 n, UInt32* textures, [Out] bool* residences);
-            internal unsafe static AreTexturesResidentEXT glAreTexturesResidentEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ArrayElement(Int32 i);
-            internal static ArrayElement glArrayElement;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ArrayElementEXT(Int32 i);
-            internal static ArrayElementEXT glArrayElementEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ArrayObjectATI(OpenTK.Graphics.EnableCap array, Int32 size, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset);
-            internal static ArrayObjectATI glArrayObjectATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AsyncMarkerSGIX(UInt32 marker);
-            internal static AsyncMarkerSGIX glAsyncMarkerSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AttachObjectARB(UInt32 containerObj, UInt32 obj);
-            internal static AttachObjectARB glAttachObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AttachShader(UInt32 program, UInt32 shader);
-            internal static AttachShader glAttachShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Begin(OpenTK.Graphics.BeginMode mode);
-            internal static Begin glBegin;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginConditionalRender(UInt32 id, OpenTK.Graphics.ConditionalRenderType mode);
-            internal static BeginConditionalRender glBeginConditionalRender;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginConditionalRenderNV(UInt32 id, OpenTK.Graphics.NvConditionalRender mode);
-            internal static BeginConditionalRenderNV glBeginConditionalRenderNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginFragmentShaderATI();
-            internal static BeginFragmentShaderATI glBeginFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginOcclusionQueryNV(UInt32 id);
-            internal static BeginOcclusionQueryNV glBeginOcclusionQueryNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginPerfMonitorAMD(UInt32 monitor);
-            internal static BeginPerfMonitorAMD glBeginPerfMonitorAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginQuery(OpenTK.Graphics.QueryTarget target, UInt32 id);
-            internal static BeginQuery glBeginQuery;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginQueryARB(OpenTK.Graphics.ArbOcclusionQuery target, UInt32 id);
-            internal static BeginQueryARB glBeginQueryARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginTransformFeedback(OpenTK.Graphics.BeginFeedbackMode primitiveMode);
-            internal static BeginTransformFeedback glBeginTransformFeedback;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginTransformFeedbackEXT(OpenTK.Graphics.ExtTransformFeedback primitiveMode);
-            internal static BeginTransformFeedbackEXT glBeginTransformFeedbackEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback primitiveMode);
-            internal static BeginTransformFeedbackNV glBeginTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginVertexShaderEXT();
-            internal static BeginVertexShaderEXT glBeginVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindAttribLocation(UInt32 program, UInt32 index, String name);
-            internal static BindAttribLocation glBindAttribLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindAttribLocationARB(UInt32 programObj, UInt32 index, String name);
-            internal static BindAttribLocationARB glBindAttribLocationARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBuffer(OpenTK.Graphics.BufferTarget target, UInt32 buffer);
-            internal static BindBuffer glBindBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferARB(OpenTK.Graphics.BufferTargetArb target, UInt32 buffer);
-            internal static BindBufferARB glBindBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferBase(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer);
-            internal static BindBufferBase glBindBufferBase;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferBaseEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer);
-            internal static BindBufferBaseEXT glBindBufferBaseEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferBaseNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer);
-            internal static BindBufferBaseNV glBindBufferBaseNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferOffsetEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset);
-            internal static BindBufferOffsetEXT glBindBufferOffsetEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferOffsetNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset);
-            internal static BindBufferOffsetNV glBindBufferOffsetNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferRange(OpenTK.Graphics.BufferTarget target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            internal static BindBufferRange glBindBufferRange;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferRangeEXT(OpenTK.Graphics.ExtTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            internal static BindBufferRangeEXT glBindBufferRangeEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferRangeNV(OpenTK.Graphics.NvTransformFeedback target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            internal static BindBufferRangeNV glBindBufferRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFragDataLocation(UInt32 program, UInt32 color, String name);
-            internal static BindFragDataLocation glBindFragDataLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFragDataLocationEXT(UInt32 program, UInt32 color, String name);
-            internal static BindFragDataLocationEXT glBindFragDataLocationEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFragmentShaderATI(UInt32 id);
-            internal static BindFragmentShaderATI glBindFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFramebuffer(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer);
-            internal static BindFramebuffer glBindFramebuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFramebufferEXT(OpenTK.Graphics.FramebufferTarget target, UInt32 framebuffer);
-            internal static BindFramebufferEXT glBindFramebufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindLightParameterEXT(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter value);
-            internal static BindLightParameterEXT glBindLightParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindMaterialParameterEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter value);
-            internal static BindMaterialParameterEXT glBindMaterialParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindMultiTextureEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 texture);
-            internal static BindMultiTextureEXT glBindMultiTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindParameterEXT(OpenTK.Graphics.ExtVertexShader value);
-            internal static BindParameterEXT glBindParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindProgramARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 program);
-            internal static BindProgramARB glBindProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id);
-            internal static BindProgramNV glBindProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindRenderbuffer(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer);
-            internal static BindRenderbuffer glBindRenderbuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindRenderbufferEXT(OpenTK.Graphics.RenderbufferTarget target, UInt32 renderbuffer);
-            internal static BindRenderbufferEXT glBindRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindTexGenParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter value);
-            internal static BindTexGenParameterEXT glBindTexGenParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindTexture(OpenTK.Graphics.TextureTarget target, UInt32 texture);
-            internal static BindTexture glBindTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindTextureEXT(OpenTK.Graphics.TextureTarget target, UInt32 texture);
-            internal static BindTextureEXT glBindTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindTextureUnitParameterEXT(OpenTK.Graphics.TextureUnit unit, OpenTK.Graphics.ExtVertexShader value);
-            internal static BindTextureUnitParameterEXT glBindTextureUnitParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 target, UInt32 id);
-            internal static BindTransformFeedbackNV glBindTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindVertexArray(UInt32 array);
-            internal static BindVertexArray glBindVertexArray;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindVertexArrayAPPLE(UInt32 array);
-            internal static BindVertexArrayAPPLE glBindVertexArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindVertexShaderEXT(UInt32 id);
-            internal static BindVertexShaderEXT glBindVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3bEXT(SByte bx, SByte by, SByte bz);
-            internal static Binormal3bEXT glBinormal3bEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3bvEXT(SByte* v);
-            internal unsafe static Binormal3bvEXT glBinormal3bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3dEXT(Double bx, Double by, Double bz);
-            internal static Binormal3dEXT glBinormal3dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3dvEXT(Double* v);
-            internal unsafe static Binormal3dvEXT glBinormal3dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3fEXT(Single bx, Single by, Single bz);
-            internal static Binormal3fEXT glBinormal3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3fvEXT(Single* v);
-            internal unsafe static Binormal3fvEXT glBinormal3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3iEXT(Int32 bx, Int32 by, Int32 bz);
-            internal static Binormal3iEXT glBinormal3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3ivEXT(Int32* v);
-            internal unsafe static Binormal3ivEXT glBinormal3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3sEXT(Int16 bx, Int16 by, Int16 bz);
-            internal static Binormal3sEXT glBinormal3sEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3svEXT(Int16* v);
-            internal unsafe static Binormal3svEXT glBinormal3svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BinormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer);
-            internal static BinormalPointerEXT glBinormalPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap);
-            internal unsafe static Bitmap glBitmap;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendColor(Single red, Single green, Single blue, Single alpha);
-            internal static BlendColor glBlendColor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendColorEXT(Single red, Single green, Single blue, Single alpha);
-            internal static BlendColorEXT glBlendColorEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquation(OpenTK.Graphics.BlendEquationMode mode);
-            internal static BlendEquation glBlendEquation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationEXT(OpenTK.Graphics.ExtBlendMinmax mode);
-            internal static BlendEquationEXT glBlendEquationEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationi(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend mode);
-            internal static BlendEquationi glBlendEquationi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend mode);
-            internal static BlendEquationIndexedAMD glBlendEquationIndexedAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationSeparate(OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha);
-            internal static BlendEquationSeparate glBlendEquationSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationSeparateEXT(OpenTK.Graphics.ExtBlendEquationSeparate modeRGB, OpenTK.Graphics.ExtBlendEquationSeparate modeAlpha);
-            internal static BlendEquationSeparateEXT glBlendEquationSeparateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationSeparatei(UInt32 buf, OpenTK.Graphics.BlendEquationMode modeRGB, OpenTK.Graphics.BlendEquationMode modeAlpha);
-            internal static BlendEquationSeparatei glBlendEquationSeparatei;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend modeRGB, OpenTK.Graphics.AmdDrawBuffersBlend modeAlpha);
-            internal static BlendEquationSeparateIndexedAMD glBlendEquationSeparateIndexedAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFunc(OpenTK.Graphics.BlendingFactorSrc sfactor, OpenTK.Graphics.BlendingFactorDest dfactor);
-            internal static BlendFunc glBlendFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFunci(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend src, OpenTK.Graphics.ArbDrawBuffersBlend dst);
-            internal static BlendFunci glBlendFunci;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend src, OpenTK.Graphics.AmdDrawBuffersBlend dst);
-            internal static BlendFuncIndexedAMD glBlendFuncIndexedAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparate(OpenTK.Graphics.BlendingFactorSrc sfactorRGB, OpenTK.Graphics.BlendingFactorDest dfactorRGB, OpenTK.Graphics.BlendingFactorSrc sfactorAlpha, OpenTK.Graphics.BlendingFactorDest dfactorAlpha);
-            internal static BlendFuncSeparate glBlendFuncSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparateEXT(OpenTK.Graphics.ExtBlendFuncSeparate sfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate dfactorRGB, OpenTK.Graphics.ExtBlendFuncSeparate sfactorAlpha, OpenTK.Graphics.ExtBlendFuncSeparate dfactorAlpha);
-            internal static BlendFuncSeparateEXT glBlendFuncSeparateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparatei(UInt32 buf, OpenTK.Graphics.ArbDrawBuffersBlend srcRGB, OpenTK.Graphics.ArbDrawBuffersBlend dstRGB, OpenTK.Graphics.ArbDrawBuffersBlend srcAlpha, OpenTK.Graphics.ArbDrawBuffersBlend dstAlpha);
-            internal static BlendFuncSeparatei glBlendFuncSeparatei;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparateIndexedAMD(UInt32 buf, OpenTK.Graphics.AmdDrawBuffersBlend srcRGB, OpenTK.Graphics.AmdDrawBuffersBlend dstRGB, OpenTK.Graphics.AmdDrawBuffersBlend srcAlpha, OpenTK.Graphics.AmdDrawBuffersBlend dstAlpha);
-            internal static BlendFuncSeparateIndexedAMD glBlendFuncSeparateIndexedAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparateINGR(OpenTK.Graphics.All sfactorRGB, OpenTK.Graphics.All dfactorRGB, OpenTK.Graphics.All sfactorAlpha, OpenTK.Graphics.All dfactorAlpha);
-            internal static BlendFuncSeparateINGR glBlendFuncSeparateINGR;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.BlitFramebufferFilter filter);
-            internal static BlitFramebuffer glBlitFramebuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, OpenTK.Graphics.ClearBufferMask mask, OpenTK.Graphics.ExtFramebufferBlit filter);
-            internal static BlitFramebufferEXT glBlitFramebufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferData(OpenTK.Graphics.BufferTarget target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageHint usage);
-            internal static BufferData glBufferData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr size, IntPtr data, OpenTK.Graphics.BufferUsageArb usage);
-            internal static BufferDataARB glBufferDataARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferParameteriAPPLE(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterApple pname, Int32 param);
-            internal static BufferParameteriAPPLE glBufferParameteriAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, IntPtr data);
-            internal static BufferSubData glBufferSubData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, IntPtr data);
-            internal static BufferSubDataARB glBufferSubDataARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CallList(UInt32 list);
-            internal static CallList glCallList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CallLists(Int32 n, OpenTK.Graphics.ListNameType type, IntPtr lists);
-            internal static CallLists glCallLists;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatus(OpenTK.Graphics.FramebufferTarget target);
-            internal static CheckFramebufferStatus glCheckFramebufferStatus;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate OpenTK.Graphics.FramebufferErrorCode CheckFramebufferStatusEXT(OpenTK.Graphics.FramebufferTarget target);
-            internal static CheckFramebufferStatusEXT glCheckFramebufferStatusEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate OpenTK.Graphics.ExtDirectStateAccess CheckNamedFramebufferStatusEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferTarget target);
-            internal static CheckNamedFramebufferStatusEXT glCheckNamedFramebufferStatusEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClampColor(OpenTK.Graphics.ClampColorTarget target, OpenTK.Graphics.ClampColorMode clamp);
-            internal static ClampColor glClampColor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClampColorARB(OpenTK.Graphics.ArbColorBufferFloat target, OpenTK.Graphics.ArbColorBufferFloat clamp);
-            internal static ClampColorARB glClampColorARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Clear(OpenTK.Graphics.ClearBufferMask mask);
-            internal static Clear glClear;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearAccum(Single red, Single green, Single blue, Single alpha);
-            internal static ClearAccum glClearAccum;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearBufferfi(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single depth, Int32 stencil);
-            internal static ClearBufferfi glClearBufferfi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ClearBufferfv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Single* value);
-            internal unsafe static ClearBufferfv glClearBufferfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ClearBufferiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, Int32* value);
-            internal unsafe static ClearBufferiv glClearBufferiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ClearBufferuiv(OpenTK.Graphics.ClearBuffer buffer, Int32 drawbuffer, UInt32* value);
-            internal unsafe static ClearBufferuiv glClearBufferuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearColor(Single red, Single green, Single blue, Single alpha);
-            internal static ClearColor glClearColor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            internal static ClearColorIiEXT glClearColorIiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            internal static ClearColorIuiEXT glClearColorIuiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearDepth(Double depth);
-            internal static ClearDepth glClearDepth;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearDepthdNV(Double depth);
-            internal static ClearDepthdNV glClearDepthdNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearIndex(Single c);
-            internal static ClearIndex glClearIndex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearStencil(Int32 s);
-            internal static ClearStencil glClearStencil;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientActiveTexture(OpenTK.Graphics.TextureUnit texture);
-            internal static ClientActiveTexture glClientActiveTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientActiveTextureARB(OpenTK.Graphics.TextureUnit texture);
-            internal static ClientActiveTextureARB glClientActiveTextureARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientActiveVertexStreamATI(OpenTK.Graphics.AtiVertexStreams stream);
-            internal static ClientActiveVertexStreamATI glClientActiveVertexStreamATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask);
-            internal static ClientAttribDefaultEXT glClientAttribDefaultEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate OpenTK.Graphics.ArbSync ClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout);
-            internal static ClientWaitSync glClientWaitSync;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ClipPlane(OpenTK.Graphics.ClipPlaneName plane, Double* equation);
-            internal unsafe static ClipPlane glClipPlane;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3b(SByte red, SByte green, SByte blue);
-            internal static Color3b glColor3b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3bv(SByte* v);
-            internal unsafe static Color3bv glColor3bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3d(Double red, Double green, Double blue);
-            internal static Color3d glColor3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3dv(Double* v);
-            internal unsafe static Color3dv glColor3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3f(Single red, Single green, Single blue);
-            internal static Color3f glColor3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3fv(Single* v);
-            internal unsafe static Color3fv glColor3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z);
-            internal static Color3fVertex3fSUN glColor3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3fVertex3fvSUN(Single* c, Single* v);
-            internal unsafe static Color3fVertex3fvSUN glColor3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue);
-            internal static Color3hNV glColor3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3hvNV(OpenTK.Half* v);
-            internal unsafe static Color3hvNV glColor3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3i(Int32 red, Int32 green, Int32 blue);
-            internal static Color3i glColor3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3iv(Int32* v);
-            internal unsafe static Color3iv glColor3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3s(Int16 red, Int16 green, Int16 blue);
-            internal static Color3s glColor3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3sv(Int16* v);
-            internal unsafe static Color3sv glColor3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3ub(Byte red, Byte green, Byte blue);
-            internal static Color3ub glColor3ub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3ubv(Byte* v);
-            internal unsafe static Color3ubv glColor3ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3ui(UInt32 red, UInt32 green, UInt32 blue);
-            internal static Color3ui glColor3ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3uiv(UInt32* v);
-            internal unsafe static Color3uiv glColor3uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3us(UInt16 red, UInt16 green, UInt16 blue);
-            internal static Color3us glColor3us;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3usv(UInt16* v);
-            internal unsafe static Color3usv glColor3usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4b(SByte red, SByte green, SByte blue, SByte alpha);
-            internal static Color4b glColor4b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4bv(SByte* v);
-            internal unsafe static Color4bv glColor4bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4d(Double red, Double green, Double blue, Double alpha);
-            internal static Color4d glColor4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4dv(Double* v);
-            internal unsafe static Color4dv glColor4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4f(Single red, Single green, Single blue, Single alpha);
-            internal static Color4f glColor4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static Color4fNormal3fVertex3fSUN glColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4fNormal3fVertex3fvSUN(Single* c, Single* n, Single* v);
-            internal unsafe static Color4fNormal3fVertex3fvSUN glColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4fv(Single* v);
-            internal unsafe static Color4fv glColor4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue, OpenTK.Half alpha);
-            internal static Color4hNV glColor4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4hvNV(OpenTK.Half* v);
-            internal unsafe static Color4hvNV glColor4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            internal static Color4i glColor4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4iv(Int32* v);
-            internal unsafe static Color4iv glColor4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha);
-            internal static Color4s glColor4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4sv(Int16* v);
-            internal unsafe static Color4sv glColor4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ub(Byte red, Byte green, Byte blue, Byte alpha);
-            internal static Color4ub glColor4ub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4ubv(Byte* v);
-            internal unsafe static Color4ubv glColor4ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y);
-            internal static Color4ubVertex2fSUN glColor4ubVertex2fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4ubVertex2fvSUN(Byte* c, Single* v);
-            internal unsafe static Color4ubVertex2fvSUN glColor4ubVertex2fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            internal static Color4ubVertex3fSUN glColor4ubVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4ubVertex3fvSUN(Byte* c, Single* v);
-            internal unsafe static Color4ubVertex3fvSUN glColor4ubVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            internal static Color4ui glColor4ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4uiv(UInt32* v);
-            internal unsafe static Color4uiv glColor4uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);
-            internal static Color4us glColor4us;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4usv(UInt16* v);
-            internal unsafe static Color4usv glColor4usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorFragmentOp1ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);
-            internal static ColorFragmentOp1ATI glColorFragmentOp1ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorFragmentOp2ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);
-            internal static ColorFragmentOp2ATI glColorFragmentOp2ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorFragmentOp3ATI(OpenTK.Graphics.AtiFragmentShader op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);
-            internal static ColorFragmentOp3ATI glColorFragmentOp3ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMask(bool red, bool green, bool blue, bool alpha);
-            internal static ColorMask glColorMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMaski(UInt32 index, bool r, bool g, bool b, bool a);
-            internal static ColorMaski glColorMaski;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMaskIndexedEXT(UInt32 index, bool r, bool g, bool b, bool a);
-            internal static ColorMaskIndexedEXT glColorMaskIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMaterial(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ColorMaterialParameter mode);
-            internal static ColorMaterial glColorMaterial;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer);
-            internal static ColorPointer glColorPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static ColorPointerEXT glColorPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointerListIBM(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static ColorPointerListIBM glColorPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer);
-            internal static ColorPointervINTEL glColorPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data);
-            internal static ColorSubTable glColorSubTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 count, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr data);
-            internal static ColorSubTableEXT glColorSubTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table);
-            internal static ColorTable glColorTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalFormat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table);
-            internal static ColorTableEXT glColorTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Single* @params);
-            internal unsafe static ColorTableParameterfv glColorTableParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Single* @params);
-            internal unsafe static ColorTableParameterfvSGI glColorTableParameterfvSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.ColorTableParameterPName pname, Int32* @params);
-            internal unsafe static ColorTableParameteriv glColorTableParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, Int32* @params);
-            internal unsafe static ColorTableParameterivSGI glColorTableParameterivSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr table);
-            internal static ColorTableSGI glColorTableSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerInputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage);
-            internal static CombinerInputNV glCombinerInputNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerOutputNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners abOutput, OpenTK.Graphics.NvRegisterCombiners cdOutput, OpenTK.Graphics.NvRegisterCombiners sumOutput, OpenTK.Graphics.NvRegisterCombiners scale, OpenTK.Graphics.NvRegisterCombiners bias, bool abDotProduct, bool cdDotProduct, bool muxSum);
-            internal static CombinerOutputNV glCombinerOutputNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerParameterfNV(OpenTK.Graphics.NvRegisterCombiners pname, Single param);
-            internal static CombinerParameterfNV glCombinerParameterfNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CombinerParameterfvNV(OpenTK.Graphics.NvRegisterCombiners pname, Single* @params);
-            internal unsafe static CombinerParameterfvNV glCombinerParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerParameteriNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32 param);
-            internal static CombinerParameteriNV glCombinerParameteriNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CombinerParameterivNV(OpenTK.Graphics.NvRegisterCombiners pname, Int32* @params);
-            internal unsafe static CombinerParameterivNV glCombinerParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, Single* @params);
-            internal unsafe static CombinerStageParameterfvNV glCombinerStageParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompileShader(UInt32 shader);
-            internal static CompileShader glCompileShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompileShaderARB(UInt32 shaderObj);
-            internal static CompileShaderARB glCompileShaderARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits);
-            internal static CompressedMultiTexImage1DEXT glCompressedMultiTexImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits);
-            internal static CompressedMultiTexImage2DEXT glCompressedMultiTexImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedMultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits);
-            internal static CompressedMultiTexImage3DEXT glCompressedMultiTexImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            internal static CompressedMultiTexSubImage1DEXT glCompressedMultiTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            internal static CompressedMultiTexSubImage2DEXT glCompressedMultiTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            internal static CompressedMultiTexSubImage3DEXT glCompressedMultiTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage1D glCompressedTexImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage1DARB glCompressedTexImage1DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage2D glCompressedTexImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage2DARB glCompressedTexImage2DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage3D glCompressedTexImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage3DARB glCompressedTexImage3DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage1D glCompressedTexSubImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage1DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage1DARB glCompressedTexSubImage1DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage2D glCompressedTexSubImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage2DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage2DARB glCompressedTexSubImage2DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage3D glCompressedTexSubImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage3DARB(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage3DARB glCompressedTexSubImage3DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits);
-            internal static CompressedTextureImage1DEXT glCompressedTextureImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits);
-            internal static CompressedTextureImage2DEXT glCompressedTextureImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits);
-            internal static CompressedTextureImage3DEXT glCompressedTextureImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            internal static CompressedTextureSubImage1DEXT glCompressedTextureSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            internal static CompressedTextureSubImage2DEXT glCompressedTextureSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, Int32 imageSize, IntPtr bits);
-            internal static CompressedTextureSubImage3DEXT glCompressedTextureSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            internal static ConvolutionFilter1D glConvolutionFilter1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            internal static ConvolutionFilter1DEXT glConvolutionFilter1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            internal static ConvolutionFilter2D glConvolutionFilter2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr image);
-            internal static ConvolutionFilter2DEXT glConvolutionFilter2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameterf(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single @params);
-            internal static ConvolutionParameterf glConvolutionParameterf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameterfEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single @params);
-            internal static ConvolutionParameterfEXT glConvolutionParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Single* @params);
-            internal unsafe static ConvolutionParameterfv glConvolutionParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Single* @params);
-            internal unsafe static ConvolutionParameterfvEXT glConvolutionParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameteri(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32 @params);
-            internal static ConvolutionParameteri glConvolutionParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameteriEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32 @params);
-            internal static ConvolutionParameteriEXT glConvolutionParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.ConvolutionParameter pname, Int32* @params);
-            internal unsafe static ConvolutionParameteriv glConvolutionParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, Int32* @params);
-            internal unsafe static ConvolutionParameterivEXT glConvolutionParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyBufferSubData(OpenTK.Graphics.BufferTarget readTarget, OpenTK.Graphics.BufferTarget writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size);
-            internal static CopyBufferSubData glCopyBufferSubData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorSubTable(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorSubTable glCopyColorSubTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorSubTableEXT(OpenTK.Graphics.ColorTableTarget target, Int32 start, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorSubTableEXT glCopyColorSubTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorTable glCopyColorTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorTableSGI glCopyColorTableSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter1D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyConvolutionFilter1D glCopyConvolutionFilter1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter1DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyConvolutionFilter1DEXT glCopyConvolutionFilter1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter2D(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyConvolutionFilter2D glCopyConvolutionFilter2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyConvolutionFilter2DEXT glCopyConvolutionFilter2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyMultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            internal static CopyMultiTexImage1DEXT glCopyMultiTexImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyMultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            internal static CopyMultiTexImage2DEXT glCopyMultiTexImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyMultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            internal static CopyMultiTexSubImage1DEXT glCopyMultiTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyMultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyMultiTexSubImage2DEXT glCopyMultiTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyMultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyMultiTexSubImage3DEXT glCopyMultiTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelCopyType type);
-            internal static CopyPixels glCopyPixels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            internal static CopyTexImage1D glCopyTexImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            internal static CopyTexImage1DEXT glCopyTexImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            internal static CopyTexImage2D glCopyTexImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            internal static CopyTexImage2DEXT glCopyTexImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            internal static CopyTexSubImage1D glCopyTexSubImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            internal static CopyTexSubImage1DEXT glCopyTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage2D glCopyTexSubImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage2DEXT glCopyTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage3D glCopyTexSubImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage3DEXT glCopyTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            internal static CopyTextureImage1DEXT glCopyTextureImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            internal static CopyTextureImage2DEXT glCopyTextureImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            internal static CopyTextureSubImage1DEXT glCopyTextureSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTextureSubImage2DEXT glCopyTextureSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTextureSubImage3DEXT glCopyTextureSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateProgram();
-            internal static CreateProgram glCreateProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateProgramObjectARB();
-            internal static CreateProgramObjectARB glCreateProgramObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateShader(OpenTK.Graphics.ShaderType type);
-            internal static CreateShader glCreateShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateShaderObjectARB(OpenTK.Graphics.ArbShaderObjects shaderType);
-            internal static CreateShaderObjectARB glCreateShaderObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CullFace(OpenTK.Graphics.CullFaceMode mode);
-            internal static CullFace glCullFace;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CullParameterdvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Double* @params);
-            internal unsafe static CullParameterdvEXT glCullParameterdvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CullParameterfvEXT(OpenTK.Graphics.ExtCullVertex pname, [Out] Single* @params);
-            internal unsafe static CullParameterfvEXT glCullParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CurrentPaletteMatrixARB(Int32 index);
-            internal static CurrentPaletteMatrixARB glCurrentPaletteMatrixARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeformationMap3dSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points);
-            internal unsafe static DeformationMap3dSGIX glDeformationMap3dSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeformationMap3fSGIX(OpenTK.Graphics.SgixPolynomialFfd target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points);
-            internal unsafe static DeformationMap3fSGIX glDeformationMap3fSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeformSGIX(UInt32 mask);
-            internal static DeformSGIX glDeformSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteAsyncMarkersSGIX(UInt32 marker, Int32 range);
-            internal static DeleteAsyncMarkersSGIX glDeleteAsyncMarkersSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteBuffers(Int32 n, UInt32* buffers);
-            internal unsafe static DeleteBuffers glDeleteBuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteBuffersARB(Int32 n, UInt32* buffers);
-            internal unsafe static DeleteBuffersARB glDeleteBuffersARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFencesAPPLE(Int32 n, UInt32* fences);
-            internal unsafe static DeleteFencesAPPLE glDeleteFencesAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFencesNV(Int32 n, UInt32* fences);
-            internal unsafe static DeleteFencesNV glDeleteFencesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteFragmentShaderATI(UInt32 id);
-            internal static DeleteFragmentShaderATI glDeleteFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFramebuffers(Int32 n, UInt32* framebuffers);
-            internal unsafe static DeleteFramebuffers glDeleteFramebuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFramebuffersEXT(Int32 n, UInt32* framebuffers);
-            internal unsafe static DeleteFramebuffersEXT glDeleteFramebuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteLists(UInt32 list, Int32 range);
-            internal static DeleteLists glDeleteLists;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteObjectARB(UInt32 obj);
-            internal static DeleteObjectARB glDeleteObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids);
-            internal unsafe static DeleteOcclusionQueriesNV glDeleteOcclusionQueriesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeletePerfMonitorsAMD(Int32 n, [Out] UInt32* monitors);
-            internal unsafe static DeletePerfMonitorsAMD glDeletePerfMonitorsAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteProgram(UInt32 program);
-            internal static DeleteProgram glDeleteProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteProgramsARB(Int32 n, UInt32* programs);
-            internal unsafe static DeleteProgramsARB glDeleteProgramsARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteProgramsNV(Int32 n, UInt32* programs);
-            internal unsafe static DeleteProgramsNV glDeleteProgramsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteQueries(Int32 n, UInt32* ids);
-            internal unsafe static DeleteQueries glDeleteQueries;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteQueriesARB(Int32 n, UInt32* ids);
-            internal unsafe static DeleteQueriesARB glDeleteQueriesARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteRenderbuffers(Int32 n, UInt32* renderbuffers);
-            internal unsafe static DeleteRenderbuffers glDeleteRenderbuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteRenderbuffersEXT(Int32 n, UInt32* renderbuffers);
-            internal unsafe static DeleteRenderbuffersEXT glDeleteRenderbuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteShader(UInt32 shader);
-            internal static DeleteShader glDeleteShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteSync(IntPtr sync);
-            internal static DeleteSync glDeleteSync;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteTextures(Int32 n, UInt32* textures);
-            internal unsafe static DeleteTextures glDeleteTextures;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteTexturesEXT(Int32 n, UInt32* textures);
-            internal unsafe static DeleteTexturesEXT glDeleteTexturesEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteTransformFeedbacksNV(Int32 n, UInt32* ids);
-            internal unsafe static DeleteTransformFeedbacksNV glDeleteTransformFeedbacksNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteVertexArrays(Int32 n, UInt32* arrays);
-            internal unsafe static DeleteVertexArrays glDeleteVertexArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteVertexArraysAPPLE(Int32 n, UInt32* arrays);
-            internal unsafe static DeleteVertexArraysAPPLE glDeleteVertexArraysAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteVertexShaderEXT(UInt32 id);
-            internal static DeleteVertexShaderEXT glDeleteVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthBoundsdNV(Double zmin, Double zmax);
-            internal static DepthBoundsdNV glDepthBoundsdNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthBoundsEXT(Double zmin, Double zmax);
-            internal static DepthBoundsEXT glDepthBoundsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthFunc(OpenTK.Graphics.DepthFunction func);
-            internal static DepthFunc glDepthFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthMask(bool flag);
-            internal static DepthMask glDepthMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthRange(Double near, Double far);
-            internal static DepthRange glDepthRange;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthRangedNV(Double zNear, Double zFar);
-            internal static DepthRangedNV glDepthRangedNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DetachObjectARB(UInt32 containerObj, UInt32 attachedObj);
-            internal static DetachObjectARB glDetachObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DetachShader(UInt32 program, UInt32 shader);
-            internal static DetachShader glDetachShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points);
-            internal unsafe static DetailTexFuncSGIS glDetailTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Disable(OpenTK.Graphics.EnableCap cap);
-            internal static Disable glDisable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableClientState(OpenTK.Graphics.EnableCap array);
-            internal static DisableClientState glDisableClientState;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index);
-            internal static DisableClientStateIndexedEXT glDisableClientStateIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Disablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index);
-            internal static Disablei glDisablei;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index);
-            internal static DisableIndexedEXT glDisableIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVariantClientStateEXT(UInt32 id);
-            internal static DisableVariantClientStateEXT glDisableVariantClientStateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname);
-            internal static DisableVertexAttribAPPLE glDisableVertexAttribAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVertexAttribArray(UInt32 index);
-            internal static DisableVertexAttribArray glDisableVertexAttribArray;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVertexAttribArrayARB(UInt32 index);
-            internal static DisableVertexAttribArrayARB glDisableVertexAttribArrayARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArrays(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count);
-            internal static DrawArrays glDrawArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArraysEXT(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count);
-            internal static DrawArraysEXT glDrawArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArraysInstanced(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount);
-            internal static DrawArraysInstanced glDrawArraysInstanced;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArraysInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 primcount);
-            internal static DrawArraysInstancedARB glDrawArraysInstancedARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArraysInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 start, Int32 count, Int32 primcount);
-            internal static DrawArraysInstancedEXT glDrawArraysInstancedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawBuffer(OpenTK.Graphics.DrawBufferMode mode);
-            internal static DrawBuffer glDrawBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DrawBuffers(Int32 n, OpenTK.Graphics.DrawBuffersEnum* bufs);
-            internal unsafe static DrawBuffers glDrawBuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DrawBuffersARB(Int32 n, OpenTK.Graphics.ArbDrawBuffers* bufs);
-            internal unsafe static DrawBuffersARB glDrawBuffersARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DrawBuffersATI(Int32 n, OpenTK.Graphics.AtiDrawBuffers* bufs);
-            internal unsafe static DrawBuffersATI glDrawBuffersATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count);
-            internal static DrawElementArrayAPPLE glDrawElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementArrayATI(OpenTK.Graphics.BeginMode mode, Int32 count);
-            internal static DrawElementArrayATI glDrawElementArrayATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElements(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices);
-            internal static DrawElements glDrawElements;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex);
-            internal static DrawElementsBaseVertex glDrawElementsBaseVertex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementsInstanced(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            internal static DrawElementsInstanced glDrawElementsInstanced;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementsInstancedARB(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            internal static DrawElementsInstancedARB glDrawElementsInstancedARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementsInstancedBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 basevertex);
-            internal static DrawElementsInstancedBaseVertex glDrawElementsInstancedBaseVertex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementsInstancedEXT(OpenTK.Graphics.BeginMode mode, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            internal static DrawElementsInstancedEXT glDrawElementsInstancedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawMeshArraysSUN(OpenTK.Graphics.BeginMode mode, Int32 first, Int32 count, Int32 width);
-            internal static DrawMeshArraysSUN glDrawMeshArraysSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawPixels(Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static DrawPixels glDrawPixels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 first, Int32 count);
-            internal static DrawRangeElementArrayAPPLE glDrawRangeElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementArrayATI(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count);
-            internal static DrawRangeElementArrayATI glDrawRangeElementArrayATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElements(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices);
-            internal static DrawRangeElements glDrawRangeElements;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 basevertex);
-            internal static DrawRangeElementsBaseVertex glDrawRangeElementsBaseVertex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementsEXT(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32 count, OpenTK.Graphics.DrawElementsType type, IntPtr indices);
-            internal static DrawRangeElementsEXT glDrawRangeElementsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawTransformFeedbackNV(OpenTK.Graphics.NvTransformFeedback2 mode, UInt32 id);
-            internal static DrawTransformFeedbackNV glDrawTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EdgeFlag(bool flag);
-            internal static EdgeFlag glEdgeFlag;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EdgeFlagPointer(Int32 stride, IntPtr pointer);
-            internal static EdgeFlagPointer glEdgeFlagPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EdgeFlagPointerEXT(Int32 stride, Int32 count, bool* pointer);
-            internal unsafe static EdgeFlagPointerEXT glEdgeFlagPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EdgeFlagPointerListIBM(Int32 stride, bool* pointer, Int32 ptrstride);
-            internal unsafe static EdgeFlagPointerListIBM glEdgeFlagPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EdgeFlagv(bool* flag);
-            internal unsafe static EdgeFlagv glEdgeFlagv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ElementPointerAPPLE(OpenTK.Graphics.AppleElementArray type, IntPtr pointer);
-            internal static ElementPointerAPPLE glElementPointerAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ElementPointerATI(OpenTK.Graphics.AtiElementArray type, IntPtr pointer);
-            internal static ElementPointerATI glElementPointerATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Enable(OpenTK.Graphics.EnableCap cap);
-            internal static Enable glEnable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableClientState(OpenTK.Graphics.EnableCap array);
-            internal static EnableClientState glEnableClientState;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableClientStateIndexedEXT(OpenTK.Graphics.EnableCap array, UInt32 index);
-            internal static EnableClientStateIndexedEXT glEnableClientStateIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Enablei(OpenTK.Graphics.IndexedEnableCap target, UInt32 index);
-            internal static Enablei glEnablei;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index);
-            internal static EnableIndexedEXT glEnableIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVariantClientStateEXT(UInt32 id);
-            internal static EnableVariantClientStateEXT glEnableVariantClientStateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVertexAttribAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname);
-            internal static EnableVertexAttribAPPLE glEnableVertexAttribAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVertexAttribArray(UInt32 index);
-            internal static EnableVertexAttribArray glEnableVertexAttribArray;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVertexAttribArrayARB(UInt32 index);
-            internal static EnableVertexAttribArrayARB glEnableVertexAttribArrayARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void End();
-            internal static End glEnd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndConditionalRender();
-            internal static EndConditionalRender glEndConditionalRender;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndConditionalRenderNV();
-            internal static EndConditionalRenderNV glEndConditionalRenderNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndFragmentShaderATI();
-            internal static EndFragmentShaderATI glEndFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndList();
-            internal static EndList glEndList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndOcclusionQueryNV();
-            internal static EndOcclusionQueryNV glEndOcclusionQueryNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndPerfMonitorAMD(UInt32 monitor);
-            internal static EndPerfMonitorAMD glEndPerfMonitorAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndQuery(OpenTK.Graphics.QueryTarget target);
-            internal static EndQuery glEndQuery;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndQueryARB(OpenTK.Graphics.ArbOcclusionQuery target);
-            internal static EndQueryARB glEndQueryARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndTransformFeedback();
-            internal static EndTransformFeedback glEndTransformFeedback;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndTransformFeedbackEXT();
-            internal static EndTransformFeedbackEXT glEndTransformFeedbackEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndTransformFeedbackNV();
-            internal static EndTransformFeedbackNV glEndTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndVertexShaderEXT();
-            internal static EndVertexShaderEXT glEndVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord1d(Double u);
-            internal static EvalCoord1d glEvalCoord1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord1dv(Double* u);
-            internal unsafe static EvalCoord1dv glEvalCoord1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord1f(Single u);
-            internal static EvalCoord1f glEvalCoord1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord1fv(Single* u);
-            internal unsafe static EvalCoord1fv glEvalCoord1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord2d(Double u, Double v);
-            internal static EvalCoord2d glEvalCoord2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord2dv(Double* u);
-            internal unsafe static EvalCoord2dv glEvalCoord2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord2f(Single u, Single v);
-            internal static EvalCoord2f glEvalCoord2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord2fv(Single* u);
-            internal unsafe static EvalCoord2fv glEvalCoord2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalMapsNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators mode);
-            internal static EvalMapsNV glEvalMapsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalMesh1(OpenTK.Graphics.MeshMode1 mode, Int32 i1, Int32 i2);
-            internal static EvalMesh1 glEvalMesh1;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalMesh2(OpenTK.Graphics.MeshMode2 mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2);
-            internal static EvalMesh2 glEvalMesh2;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalPoint1(Int32 i);
-            internal static EvalPoint1 glEvalPoint1;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalPoint2(Int32 i, Int32 j);
-            internal static EvalPoint2 glEvalPoint2;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ExecuteProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Single* @params);
-            internal unsafe static ExecuteProgramNV glExecuteProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num);
-            internal static ExtractComponentEXT glExtractComponentEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FeedbackBuffer(Int32 size, OpenTK.Graphics.FeedbackType type, [Out] Single* buffer);
-            internal unsafe static FeedbackBuffer glFeedbackBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr FenceSync(OpenTK.Graphics.ArbSync condition, UInt32 flags);
-            internal static FenceSync glFenceSync;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinalCombinerInputNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners input, OpenTK.Graphics.NvRegisterCombiners mapping, OpenTK.Graphics.NvRegisterCombiners componentUsage);
-            internal static FinalCombinerInputNV glFinalCombinerInputNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Finish();
-            internal static Finish glFinish;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 FinishAsyncSGIX([Out] UInt32* markerp);
-            internal unsafe static FinishAsyncSGIX glFinishAsyncSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishFenceAPPLE(UInt32 fence);
-            internal static FinishFenceAPPLE glFinishFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishFenceNV(UInt32 fence);
-            internal static FinishFenceNV glFinishFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishObjectAPPLE(OpenTK.Graphics.AppleFence @object, Int32 name);
-            internal static FinishObjectAPPLE glFinishObjectAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishTextureSUNX();
-            internal static FinishTextureSUNX glFinishTextureSUNX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Flush();
-            internal static Flush glFlush;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushMappedBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length);
-            internal static FlushMappedBufferRange glFlushMappedBufferRange;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushMappedBufferRangeAPPLE(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size);
-            internal static FlushMappedBufferRangeAPPLE glFlushMappedBufferRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushPixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target);
-            internal static FlushPixelDataRangeNV glFlushPixelDataRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushRasterSGIX();
-            internal static FlushRasterSGIX glFlushRasterSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer);
-            internal static FlushVertexArrayRangeAPPLE glFlushVertexArrayRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushVertexArrayRangeNV();
-            internal static FlushVertexArrayRangeNV glFlushVertexArrayRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordd(Double coord);
-            internal static FogCoordd glFogCoordd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoorddEXT(Double coord);
-            internal static FogCoorddEXT glFogCoorddEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoorddv(Double* coord);
-            internal unsafe static FogCoorddv glFogCoorddv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoorddvEXT(Double* coord);
-            internal unsafe static FogCoorddvEXT glFogCoorddvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordf(Single coord);
-            internal static FogCoordf glFogCoordf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordfEXT(Single coord);
-            internal static FogCoordfEXT glFogCoordfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoordfv(Single* coord);
-            internal unsafe static FogCoordfv glFogCoordfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoordfvEXT(Single* coord);
-            internal unsafe static FogCoordfvEXT glFogCoordfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordhNV(OpenTK.Half fog);
-            internal static FogCoordhNV glFogCoordhNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoordhvNV(OpenTK.Half* fog);
-            internal unsafe static FogCoordhvNV glFogCoordhvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordPointer(OpenTK.Graphics.FogPointerType type, Int32 stride, IntPtr pointer);
-            internal static FogCoordPointer glFogCoordPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordPointerEXT(OpenTK.Graphics.ExtFogCoord type, Int32 stride, IntPtr pointer);
-            internal static FogCoordPointerEXT glFogCoordPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordPointerListIBM(OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static FogCoordPointerListIBM glFogCoordPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Fogf(OpenTK.Graphics.FogParameter pname, Single param);
-            internal static Fogf glFogf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogFuncSGIS(Int32 n, Single* points);
-            internal unsafe static FogFuncSGIS glFogFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Fogfv(OpenTK.Graphics.FogParameter pname, Single* @params);
-            internal unsafe static Fogfv glFogfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Fogi(OpenTK.Graphics.FogParameter pname, Int32 param);
-            internal static Fogi glFogi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Fogiv(OpenTK.Graphics.FogParameter pname, Int32* @params);
-            internal unsafe static Fogiv glFogiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentColorMaterialSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode);
-            internal static FragmentColorMaterialSGIX glFragmentColorMaterialSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightfSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single param);
-            internal static FragmentLightfSGIX glFragmentLightfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Single* @params);
-            internal unsafe static FragmentLightfvSGIX glFragmentLightfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightiSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32 param);
-            internal static FragmentLightiSGIX glFragmentLightiSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params);
-            internal unsafe static FragmentLightivSGIX glFragmentLightivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightModelfSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single param);
-            internal static FragmentLightModelfSGIX glFragmentLightModelfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightModelfvSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Single* @params);
-            internal unsafe static FragmentLightModelfvSGIX glFragmentLightModelfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightModeliSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param);
-            internal static FragmentLightModeliSGIX glFragmentLightModeliSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightModelivSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32* @params);
-            internal unsafe static FragmentLightModelivSGIX glFragmentLightModelivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentMaterialfSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param);
-            internal static FragmentMaterialfSGIX glFragmentMaterialfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params);
-            internal unsafe static FragmentMaterialfvSGIX glFragmentMaterialfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentMaterialiSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param);
-            internal static FragmentMaterialiSGIX glFragmentMaterialiSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params);
-            internal unsafe static FragmentMaterialivSGIX glFragmentMaterialivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferDrawBufferEXT(UInt32 framebuffer, OpenTK.Graphics.DrawBufferMode mode);
-            internal static FramebufferDrawBufferEXT glFramebufferDrawBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, OpenTK.Graphics.DrawBufferMode* bufs);
-            internal unsafe static FramebufferDrawBuffersEXT glFramebufferDrawBuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferReadBufferEXT(UInt32 framebuffer, OpenTK.Graphics.ReadBufferMode mode);
-            internal static FramebufferReadBufferEXT glFramebufferReadBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferRenderbuffer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer);
-            internal static FramebufferRenderbuffer glFramebufferRenderbuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferRenderbufferEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer);
-            internal static FramebufferRenderbufferEXT glFramebufferRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level);
-            internal static FramebufferTexture glFramebufferTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture1D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            internal static FramebufferTexture1D glFramebufferTexture1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture1DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            internal static FramebufferTexture1DEXT glFramebufferTexture1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture2D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            internal static FramebufferTexture2D glFramebufferTexture2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture2DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            internal static FramebufferTexture2DEXT glFramebufferTexture2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture3D(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            internal static FramebufferTexture3D glFramebufferTexture3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture3DEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            internal static FramebufferTexture3DEXT glFramebufferTexture3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level);
-            internal static FramebufferTextureARB glFramebufferTextureARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level);
-            internal static FramebufferTextureEXT glFramebufferTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureFace(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 attachment, UInt32 texture, Int32 level, OpenTK.Graphics.Version32 face);
-            internal static FramebufferTextureFace glFramebufferTextureFace;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureFaceARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face);
-            internal static FramebufferTextureFaceARB glFramebufferTextureFaceARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureFaceEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face);
-            internal static FramebufferTextureFaceEXT glFramebufferTextureFaceEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureLayer(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            internal static FramebufferTextureLayer glFramebufferTextureLayer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureLayerARB(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            internal static FramebufferTextureLayerARB glFramebufferTextureLayerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureLayerEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            internal static FramebufferTextureLayerEXT glFramebufferTextureLayerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FrameTerminatorGREMEDY();
-            internal static FrameTerminatorGREMEDY glFrameTerminatorGREMEDY;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FrameZoomSGIX(Int32 factor);
-            internal static FrameZoomSGIX glFrameZoomSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FreeObjectBufferATI(UInt32 buffer);
-            internal static FreeObjectBufferATI glFreeObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FrontFace(OpenTK.Graphics.FrontFaceDirection mode);
-            internal static FrontFace glFrontFace;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            internal static Frustum glFrustum;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenAsyncMarkersSGIX(Int32 range);
-            internal static GenAsyncMarkersSGIX glGenAsyncMarkersSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenBuffers(Int32 n, [Out] UInt32* buffers);
-            internal unsafe static GenBuffers glGenBuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenBuffersARB(Int32 n, [Out] UInt32* buffers);
-            internal unsafe static GenBuffersARB glGenBuffersARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GenerateMipmap(OpenTK.Graphics.GenerateMipmapTarget target);
-            internal static GenerateMipmap glGenerateMipmap;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GenerateMipmapEXT(OpenTK.Graphics.GenerateMipmapTarget target);
-            internal static GenerateMipmapEXT glGenerateMipmapEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GenerateMultiTexMipmapEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target);
-            internal static GenerateMultiTexMipmapEXT glGenerateMultiTexMipmapEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GenerateTextureMipmapEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target);
-            internal static GenerateTextureMipmapEXT glGenerateTextureMipmapEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFencesAPPLE(Int32 n, [Out] UInt32* fences);
-            internal unsafe static GenFencesAPPLE glGenFencesAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFencesNV(Int32 n, [Out] UInt32* fences);
-            internal unsafe static GenFencesNV glGenFencesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenFragmentShadersATI(UInt32 range);
-            internal static GenFragmentShadersATI glGenFragmentShadersATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFramebuffers(Int32 n, [Out] UInt32* framebuffers);
-            internal unsafe static GenFramebuffers glGenFramebuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFramebuffersEXT(Int32 n, [Out] UInt32* framebuffers);
-            internal unsafe static GenFramebuffersEXT glGenFramebuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenLists(Int32 range);
-            internal static GenLists glGenLists;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenOcclusionQueriesNV glGenOcclusionQueriesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenPerfMonitorsAMD(Int32 n, [Out] UInt32* monitors);
-            internal unsafe static GenPerfMonitorsAMD glGenPerfMonitorsAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenProgramsARB(Int32 n, [Out] UInt32* programs);
-            internal unsafe static GenProgramsARB glGenProgramsARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenProgramsNV(Int32 n, [Out] UInt32* programs);
-            internal unsafe static GenProgramsNV glGenProgramsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenQueries(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenQueries glGenQueries;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenQueriesARB(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenQueriesARB glGenQueriesARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenRenderbuffers(Int32 n, [Out] UInt32* renderbuffers);
-            internal unsafe static GenRenderbuffers glGenRenderbuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenRenderbuffersEXT(Int32 n, [Out] UInt32* renderbuffers);
-            internal unsafe static GenRenderbuffersEXT glGenRenderbuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenSymbolsEXT(OpenTK.Graphics.ExtVertexShader datatype, OpenTK.Graphics.ExtVertexShader storagetype, OpenTK.Graphics.ExtVertexShader range, UInt32 components);
-            internal static GenSymbolsEXT glGenSymbolsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenTextures(Int32 n, [Out] UInt32* textures);
-            internal unsafe static GenTextures glGenTextures;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenTexturesEXT(Int32 n, [Out] UInt32* textures);
-            internal unsafe static GenTexturesEXT glGenTexturesEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenTransformFeedbacksNV(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenTransformFeedbacksNV glGenTransformFeedbacksNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenVertexArrays(Int32 n, [Out] UInt32* arrays);
-            internal unsafe static GenVertexArrays glGenVertexArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenVertexArraysAPPLE(Int32 n, [Out] UInt32* arrays);
-            internal unsafe static GenVertexArraysAPPLE glGenVertexArraysAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenVertexShadersEXT(UInt32 range);
-            internal static GenVertexShadersEXT glGenVertexShadersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveAttrib glGetActiveAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbVertexShader* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveAttribARB glGetActiveAttribARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveUniformType* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveUniform glGetActiveUniform;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ArbShaderObjects* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveUniformARB glGetActiveUniformARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniformBlockiv(UInt32 program, UInt32 uniformBlockIndex, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params);
-            internal unsafe static GetActiveUniformBlockiv glGetActiveUniformBlockiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformBlockName);
-            internal unsafe static GetActiveUniformBlockName glGetActiveUniformBlockName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder uniformName);
-            internal unsafe static GetActiveUniformName glGetActiveUniformName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniformsiv(UInt32 program, Int32 uniformCount, UInt32* uniformIndices, OpenTK.Graphics.ArbUniformBufferObject pname, [Out] Int32* @params);
-            internal unsafe static GetActiveUniformsiv glGetActiveUniformsiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.NvTransformFeedback* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveVaryingNV glGetActiveVaryingNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetArrayObjectfvATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params);
-            internal unsafe static GetArrayObjectfvATI glGetArrayObjectfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetArrayObjectivATI(OpenTK.Graphics.EnableCap array, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params);
-            internal unsafe static GetArrayObjectivATI glGetArrayObjectivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            internal unsafe static GetAttachedObjectsARB glGetAttachedObjectsARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            internal unsafe static GetAttachedShaders glGetAttachedShaders;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetAttribLocation(UInt32 program, String name);
-            internal static GetAttribLocation glGetAttribLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetAttribLocationARB(UInt32 programObj, String name);
-            internal static GetAttribLocationARB glGetAttribLocationARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBooleani_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] bool* data);
-            internal unsafe static GetBooleani_v glGetBooleani_v;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBooleanIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] bool* data);
-            internal unsafe static GetBooleanIndexedvEXT glGetBooleanIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBooleanv(OpenTK.Graphics.GetPName pname, [Out] bool* @params);
-            internal unsafe static GetBooleanv glGetBooleanv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBufferParameteri64v(OpenTK.Graphics.Version32 target, OpenTK.Graphics.Version32 pname, [Out] Int64* @params);
-            internal unsafe static GetBufferParameteri64v glGetBufferParameteri64v;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBufferParameteriv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetBufferParameteriv glGetBufferParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBufferParameterivARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferParameterNameArb pname, [Out] Int32* @params);
-            internal unsafe static GetBufferParameterivARB glGetBufferParameterivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferPointerv(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferPointer pname, [Out] IntPtr @params);
-            internal static GetBufferPointerv glGetBufferPointerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferPointervARB(OpenTK.Graphics.ArbVertexBufferObject target, OpenTK.Graphics.BufferPointerNameArb pname, [Out] IntPtr @params);
-            internal static GetBufferPointervARB glGetBufferPointervARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferSubData(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            internal static GetBufferSubData glGetBufferSubData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferSubDataARB(OpenTK.Graphics.BufferTargetArb target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            internal static GetBufferSubDataARB glGetBufferSubDataARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetClipPlane(OpenTK.Graphics.ClipPlaneName plane, [Out] Double* equation);
-            internal unsafe static GetClipPlane glGetClipPlane;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetColorTable(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table);
-            internal static GetColorTable glGetColorTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetColorTableEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr data);
-            internal static GetColorTableEXT glGetColorTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterfv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params);
-            internal unsafe static GetColorTableParameterfv glGetColorTableParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterfvEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Single* @params);
-            internal unsafe static GetColorTableParameterfvEXT glGetColorTableParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterfvSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Single* @params);
-            internal unsafe static GetColorTableParameterfvSGI glGetColorTableParameterfvSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameteriv(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params);
-            internal unsafe static GetColorTableParameteriv glGetColorTableParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterivEXT(OpenTK.Graphics.ColorTableTarget target, OpenTK.Graphics.GetColorTableParameterPName pname, [Out] Int32* @params);
-            internal unsafe static GetColorTableParameterivEXT glGetColorTableParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterivSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.SgiColorTable pname, [Out] Int32* @params);
-            internal unsafe static GetColorTableParameterivSGI glGetColorTableParameterivSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetColorTableSGI(OpenTK.Graphics.SgiColorTable target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr table);
-            internal static GetColorTableSGI glGetColorTableSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params);
-            internal unsafe static GetCombinerInputParameterfvNV glGetCombinerInputParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params);
-            internal unsafe static GetCombinerInputParameterivNV glGetCombinerInputParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerOutputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params);
-            internal unsafe static GetCombinerOutputParameterfvNV glGetCombinerOutputParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerOutputParameterivNV(OpenTK.Graphics.NvRegisterCombiners stage, OpenTK.Graphics.NvRegisterCombiners portion, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params);
-            internal unsafe static GetCombinerOutputParameterivNV glGetCombinerOutputParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerStageParameterfvNV(OpenTK.Graphics.NvRegisterCombiners2 stage, OpenTK.Graphics.NvRegisterCombiners2 pname, [Out] Single* @params);
-            internal unsafe static GetCombinerStageParameterfvNV glGetCombinerStageParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetCompressedMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img);
-            internal static GetCompressedMultiTexImageEXT glGetCompressedMultiTexImageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetCompressedTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img);
-            internal static GetCompressedTexImage glGetCompressedTexImage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetCompressedTexImageARB(OpenTK.Graphics.TextureTarget target, Int32 level, [Out] IntPtr img);
-            internal static GetCompressedTexImageARB glGetCompressedTexImageARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetCompressedTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 lod, [Out] IntPtr img);
-            internal static GetCompressedTextureImageEXT glGetCompressedTextureImageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetConvolutionFilter(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image);
-            internal static GetConvolutionFilter glGetConvolutionFilter;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetConvolutionFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr image);
-            internal static GetConvolutionFilterEXT glGetConvolutionFilterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameterfv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params);
-            internal unsafe static GetConvolutionParameterfv glGetConvolutionParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameterfvEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Single* @params);
-            internal unsafe static GetConvolutionParameterfvEXT glGetConvolutionParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameteriv(OpenTK.Graphics.ConvolutionTarget target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params);
-            internal unsafe static GetConvolutionParameteriv glGetConvolutionParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameterivEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.ExtConvolution pname, [Out] Int32* @params);
-            internal unsafe static GetConvolutionParameterivEXT glGetConvolutionParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetDetailTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points);
-            internal unsafe static GetDetailTexFuncSGIS glGetDetailTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetDoubleIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* data);
-            internal unsafe static GetDoubleIndexedvEXT glGetDoubleIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetDoublev(OpenTK.Graphics.GetPName pname, [Out] Double* @params);
-            internal unsafe static GetDoublev glGetDoublev;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate OpenTK.Graphics.ErrorCode GetError();
-            internal static GetError glGetError;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFenceivNV(UInt32 fence, OpenTK.Graphics.NvFence pname, [Out] Int32* @params);
-            internal unsafe static GetFenceivNV glGetFenceivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFinalCombinerInputParameterfvNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Single* @params);
-            internal unsafe static GetFinalCombinerInputParameterfvNV glGetFinalCombinerInputParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFinalCombinerInputParameterivNV(OpenTK.Graphics.NvRegisterCombiners variable, OpenTK.Graphics.NvRegisterCombiners pname, [Out] Int32* @params);
-            internal unsafe static GetFinalCombinerInputParameterivNV glGetFinalCombinerInputParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFloatIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* data);
-            internal unsafe static GetFloatIndexedvEXT glGetFloatIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFloatv(OpenTK.Graphics.GetPName pname, [Out] Single* @params);
-            internal unsafe static GetFloatv glGetFloatv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFogFuncSGIS([Out] Single* points);
-            internal unsafe static GetFogFuncSGIS glGetFogFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetFragDataLocation(UInt32 program, String name);
-            internal static GetFragDataLocation glGetFragDataLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetFragDataLocationEXT(UInt32 program, String name);
-            internal static GetFragDataLocationEXT glGetFragDataLocationEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentLightfvSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Single* @params);
-            internal unsafe static GetFragmentLightfvSGIX glGetFragmentLightfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentLightivSGIX(OpenTK.Graphics.SgixFragmentLighting light, OpenTK.Graphics.SgixFragmentLighting pname, [Out] Int32* @params);
-            internal unsafe static GetFragmentLightivSGIX glGetFragmentLightivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentMaterialfvSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params);
-            internal unsafe static GetFragmentMaterialfvSGIX glGetFragmentMaterialfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentMaterialivSGIX(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params);
-            internal unsafe static GetFragmentMaterialivSGIX glGetFragmentMaterialivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFramebufferAttachmentParameteriv(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetFramebufferAttachmentParameteriv glGetFramebufferAttachmentParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFramebufferAttachmentParameterivEXT(OpenTK.Graphics.FramebufferTarget target, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.FramebufferParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFramebufferParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            internal unsafe static GetFramebufferParameterivEXT glGetFramebufferParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetHandleARB(OpenTK.Graphics.ArbShaderObjects pname);
-            internal static GetHandleARB glGetHandleARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetHistogram(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            internal static GetHistogram glGetHistogram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetHistogramEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            internal static GetHistogramEXT glGetHistogramEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params);
-            internal unsafe static GetHistogramParameterfv glGetHistogramParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params);
-            internal unsafe static GetHistogramParameterfvEXT glGetHistogramParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params);
-            internal unsafe static GetHistogramParameteriv glGetHistogramParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params);
-            internal unsafe static GetHistogramParameterivEXT glGetHistogramParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Single* @params);
-            internal unsafe static GetImageTransformParameterfvHP glGetImageTransformParameterfvHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, [Out] Int32* @params);
-            internal unsafe static GetImageTransformParameterivHP glGetImageTransformParameterivHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            internal unsafe static GetInfoLogARB glGetInfoLogARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetInstrumentsSGIX();
-            internal static GetInstrumentsSGIX glGetInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInteger64i_v(OpenTK.Graphics.Version32 target, UInt32 index, [Out] Int64* data);
-            internal unsafe static GetInteger64i_v glGetInteger64i_v;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInteger64v(OpenTK.Graphics.ArbSync pname, [Out] Int64* @params);
-            internal unsafe static GetInteger64v glGetInteger64v;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetIntegeri_v(OpenTK.Graphics.GetIndexedPName target, UInt32 index, [Out] Int32* data);
-            internal unsafe static GetIntegeri_v glGetIntegeri_v;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetIntegerIndexedvEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index, [Out] Int32* data);
-            internal unsafe static GetIntegerIndexedvEXT glGetIntegerIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetIntegerv(OpenTK.Graphics.GetPName pname, [Out] Int32* @params);
-            internal unsafe static GetIntegerv glGetIntegerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInvariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data);
-            internal unsafe static GetInvariantBooleanvEXT glGetInvariantBooleanvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInvariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data);
-            internal unsafe static GetInvariantFloatvEXT glGetInvariantFloatvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInvariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data);
-            internal unsafe static GetInvariantIntegervEXT glGetInvariantIntegervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Single* @params);
-            internal unsafe static GetLightfv glGetLightfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, [Out] Int32* @params);
-            internal unsafe static GetLightiv glGetLightiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Single* @params);
-            internal unsafe static GetListParameterfvSGIX glGetListParameterfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetListParameterivSGIX glGetListParameterivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLocalConstantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data);
-            internal unsafe static GetLocalConstantBooleanvEXT glGetLocalConstantBooleanvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLocalConstantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data);
-            internal unsafe static GetLocalConstantFloatvEXT glGetLocalConstantFloatvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLocalConstantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data);
-            internal unsafe static GetLocalConstantIntegervEXT glGetLocalConstantIntegervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapAttribParameterfvNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params);
-            internal unsafe static GetMapAttribParameterfvNV glGetMapAttribParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapAttribParameterivNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params);
-            internal unsafe static GetMapAttribParameterivNV glGetMapAttribParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, bool packed, [Out] IntPtr points);
-            internal static GetMapControlPointsNV glGetMapControlPointsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapdv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Double* v);
-            internal unsafe static GetMapdv glGetMapdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapfv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Single* v);
-            internal unsafe static GetMapfv glGetMapfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapiv(OpenTK.Graphics.MapTarget target, OpenTK.Graphics.GetMapQuery query, [Out] Int32* v);
-            internal unsafe static GetMapiv glGetMapiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Single* @params);
-            internal unsafe static GetMapParameterfvNV glGetMapParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, [Out] Int32* @params);
-            internal unsafe static GetMapParameterivNV glGetMapParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMaterialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Single* @params);
-            internal unsafe static GetMaterialfv glGetMaterialfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMaterialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, [Out] Int32* @params);
-            internal unsafe static GetMaterialiv glGetMaterialiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMinmax(OpenTK.Graphics.Version12Deprecated target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            internal static GetMinmax glGetMinmax;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMinmaxEXT(OpenTK.Graphics.ExtHistogram target, bool reset, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr values);
-            internal static GetMinmaxEXT glGetMinmaxEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameterfv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Single* @params);
-            internal unsafe static GetMinmaxParameterfv glGetMinmaxParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameterfvEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Single* @params);
-            internal unsafe static GetMinmaxParameterfvEXT glGetMinmaxParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameteriv(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.Version12Deprecated pname, [Out] Int32* @params);
-            internal unsafe static GetMinmaxParameteriv glGetMinmaxParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameterivEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.ExtHistogram pname, [Out] Int32* @params);
-            internal unsafe static GetMinmaxParameterivEXT glGetMinmaxParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultisamplefv(OpenTK.Graphics.ArbTextureMultisample pname, UInt32 index, [Out] Single* val);
-            internal unsafe static GetMultisamplefv glGetMultisamplefv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultisamplefvNV(OpenTK.Graphics.NvExplicitMultisample pname, UInt32 index, [Out] Single* val);
-            internal unsafe static GetMultisamplefvNV glGetMultisamplefvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params);
-            internal unsafe static GetMultiTexEnvfvEXT glGetMultiTexEnvfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params);
-            internal unsafe static GetMultiTexEnvivEXT glGetMultiTexEnvivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params);
-            internal unsafe static GetMultiTexGendvEXT glGetMultiTexGendvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params);
-            internal unsafe static GetMultiTexGenfvEXT glGetMultiTexGenfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params);
-            internal unsafe static GetMultiTexGenivEXT glGetMultiTexGenivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMultiTexImageEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            internal static GetMultiTexImageEXT glGetMultiTexImageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexLevelParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            internal unsafe static GetMultiTexLevelParameterfvEXT glGetMultiTexLevelParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexLevelParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetMultiTexLevelParameterivEXT glGetMultiTexLevelParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            internal unsafe static GetMultiTexParameterfvEXT glGetMultiTexParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetMultiTexParameterIivEXT glGetMultiTexParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            internal unsafe static GetMultiTexParameterIuivEXT glGetMultiTexParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetMultiTexParameterivEXT glGetMultiTexParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedBufferParameterivEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            internal unsafe static GetNamedBufferParameterivEXT glGetNamedBufferParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetNamedBufferPointervEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @params);
-            internal static GetNamedBufferPointervEXT glGetNamedBufferPointervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetNamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            internal static GetNamedBufferSubDataEXT glGetNamedBufferSubDataEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedFramebufferAttachmentParameterivEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            internal unsafe static GetNamedFramebufferAttachmentParameterivEXT glGetNamedFramebufferAttachmentParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedProgramivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] Int32* @params);
-            internal unsafe static GetNamedProgramivEXT glGetNamedProgramivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedProgramLocalParameterdvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Double* @params);
-            internal unsafe static GetNamedProgramLocalParameterdvEXT glGetNamedProgramLocalParameterdvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedProgramLocalParameterfvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Single* @params);
-            internal unsafe static GetNamedProgramLocalParameterfvEXT glGetNamedProgramLocalParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedProgramLocalParameterIivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] Int32* @params);
-            internal unsafe static GetNamedProgramLocalParameterIivEXT glGetNamedProgramLocalParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedProgramLocalParameterIuivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] UInt32* @params);
-            internal unsafe static GetNamedProgramLocalParameterIuivEXT glGetNamedProgramLocalParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetNamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess pname, [Out] IntPtr @string);
-            internal static GetNamedProgramStringEXT glGetNamedProgramStringEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNamedRenderbufferParameterivEXT(UInt32 renderbuffer, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetNamedRenderbufferParameterivEXT glGetNamedRenderbufferParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectBufferfvATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params);
-            internal unsafe static GetObjectBufferfvATI glGetObjectBufferfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectBufferivATI(UInt32 buffer, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params);
-            internal unsafe static GetObjectBufferivATI glGetObjectBufferivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectParameterfvARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Single* @params);
-            internal unsafe static GetObjectParameterfvARB glGetObjectParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectParameterivAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable pname, [Out] Int32* @params);
-            internal unsafe static GetObjectParameterivAPPLE glGetObjectParameterivAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectParameterivARB(UInt32 obj, OpenTK.Graphics.ArbShaderObjects pname, [Out] Int32* @params);
-            internal unsafe static GetObjectParameterivARB glGetObjectParameterivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetOcclusionQueryivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] Int32* @params);
-            internal unsafe static GetOcclusionQueryivNV glGetOcclusionQueryivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetOcclusionQueryuivNV(UInt32 id, OpenTK.Graphics.NvOcclusionQuery pname, [Out] UInt32* @params);
-            internal unsafe static GetOcclusionQueryuivNV glGetOcclusionQueryuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPerfMonitorCounterDataAMD(UInt32 monitor, OpenTK.Graphics.AmdPerformanceMonitor pname, Int32 dataSize, [Out] UInt32* data, [Out] Int32* bytesWritten);
-            internal unsafe static GetPerfMonitorCounterDataAMD glGetPerfMonitorCounterDataAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetPerfMonitorCounterInfoAMD(UInt32 group, UInt32 counter, OpenTK.Graphics.AmdPerformanceMonitor pname, [Out] IntPtr data);
-            internal static GetPerfMonitorCounterInfoAMD glGetPerfMonitorCounterInfoAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPerfMonitorCountersAMD(UInt32 group, [Out] Int32* numCounters, [Out] Int32* maxActiveCounters, Int32 counterSize, [Out] UInt32* counters);
-            internal unsafe static GetPerfMonitorCountersAMD glGetPerfMonitorCountersAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPerfMonitorCounterStringAMD(UInt32 group, UInt32 counter, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder counterString);
-            internal unsafe static GetPerfMonitorCounterStringAMD glGetPerfMonitorCounterStringAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPerfMonitorGroupsAMD([Out] Int32* numGroups, Int32 groupsSize, [Out] UInt32* groups);
-            internal unsafe static GetPerfMonitorGroupsAMD glGetPerfMonitorGroupsAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder groupString);
-            internal unsafe static GetPerfMonitorGroupStringAMD glGetPerfMonitorGroupStringAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelMapfv(OpenTK.Graphics.PixelMap map, [Out] Single* values);
-            internal unsafe static GetPixelMapfv glGetPixelMapfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelMapuiv(OpenTK.Graphics.PixelMap map, [Out] UInt32* values);
-            internal unsafe static GetPixelMapuiv glGetPixelMapuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelMapusv(OpenTK.Graphics.PixelMap map, [Out] UInt16* values);
-            internal unsafe static GetPixelMapusv glGetPixelMapusv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Single* @params);
-            internal unsafe static GetPixelTexGenParameterfvSGIS glGetPixelTexGenParameterfvSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, [Out] Int32* @params);
-            internal unsafe static GetPixelTexGenParameterivSGIS glGetPixelTexGenParameterivSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetPointerIndexedvEXT(OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, [Out] IntPtr data);
-            internal static GetPointerIndexedvEXT glGetPointerIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetPointerv(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params);
-            internal static GetPointerv glGetPointerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetPointervEXT(OpenTK.Graphics.GetPointervPName pname, [Out] IntPtr @params);
-            internal static GetPointervEXT glGetPointervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPolygonStipple([Out] Byte* mask);
-            internal unsafe static GetPolygonStipple glGetPolygonStipple;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params);
-            internal unsafe static GetProgramEnvParameterdvARB glGetProgramEnvParameterdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params);
-            internal unsafe static GetProgramEnvParameterfvARB glGetProgramEnvParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params);
-            internal unsafe static GetProgramEnvParameterIivNV glGetProgramEnvParameterIivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params);
-            internal unsafe static GetProgramEnvParameterIuivNV glGetProgramEnvParameterIuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            internal unsafe static GetProgramInfoLog glGetProgramInfoLog;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramiv(UInt32 program, OpenTK.Graphics.ProgramParameter pname, [Out] Int32* @params);
-            internal unsafe static GetProgramiv glGetProgramiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramivARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params);
-            internal unsafe static GetProgramivARB glGetProgramivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramivNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params);
-            internal unsafe static GetProgramivNV glGetProgramivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterdvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Double* @params);
-            internal unsafe static GetProgramLocalParameterdvARB glGetProgramLocalParameterdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterfvARB(OpenTK.Graphics.ArbVertexProgram target, UInt32 index, [Out] Single* @params);
-            internal unsafe static GetProgramLocalParameterfvARB glGetProgramLocalParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterIivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] Int32* @params);
-            internal unsafe static GetProgramLocalParameterIivNV glGetProgramLocalParameterIivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterIuivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, [Out] UInt32* @params);
-            internal unsafe static GetProgramLocalParameterIuivNV glGetProgramLocalParameterIuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte* name, [Out] Double* @params);
-            internal unsafe static GetProgramNamedParameterdvNV glGetProgramNamedParameterdvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte* name, [Out] Single* @params);
-            internal unsafe static GetProgramNamedParameterfvNV glGetProgramNamedParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramParameterdvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Double* @params);
-            internal unsafe static GetProgramParameterdvNV glGetProgramParameterdvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramParameterfvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Single* @params);
-            internal unsafe static GetProgramParameterfvNV glGetProgramParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] IntPtr @string);
-            internal static GetProgramStringARB glGetProgramStringARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramStringNV(UInt32 id, OpenTK.Graphics.NvVertexProgram pname, [Out] Byte* program);
-            internal unsafe static GetProgramStringNV glGetProgramStringNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryiv(OpenTK.Graphics.QueryTarget target, OpenTK.Graphics.GetQueryParam pname, [Out] Int32* @params);
-            internal unsafe static GetQueryiv glGetQueryiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryivARB(OpenTK.Graphics.ArbOcclusionQuery target, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params);
-            internal unsafe static GetQueryivARB glGetQueryivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjecti64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] Int64* @params);
-            internal unsafe static GetQueryObjecti64vEXT glGetQueryObjecti64vEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] Int32* @params);
-            internal unsafe static GetQueryObjectiv glGetQueryObjectiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] Int32* @params);
-            internal unsafe static GetQueryObjectivARB glGetQueryObjectivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectui64vEXT(UInt32 id, OpenTK.Graphics.ExtTimerQuery pname, [Out] UInt64* @params);
-            internal unsafe static GetQueryObjectui64vEXT glGetQueryObjectui64vEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectuiv(UInt32 id, OpenTK.Graphics.GetQueryObjectParam pname, [Out] UInt32* @params);
-            internal unsafe static GetQueryObjectuiv glGetQueryObjectuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectuivARB(UInt32 id, OpenTK.Graphics.ArbOcclusionQuery pname, [Out] UInt32* @params);
-            internal unsafe static GetQueryObjectuivARB glGetQueryObjectuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetRenderbufferParameteriv(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetRenderbufferParameteriv glGetRenderbufferParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetRenderbufferParameterivEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferParameterName pname, [Out] Int32* @params);
-            internal unsafe static GetRenderbufferParameterivEXT glGetRenderbufferParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetSeparableFilter(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            internal static GetSeparableFilter glGetSeparableFilter;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetSeparableFilterEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            internal static GetSeparableFilterEXT glGetSeparableFilterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            internal unsafe static GetShaderInfoLog glGetShaderInfoLog;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderiv(UInt32 shader, OpenTK.Graphics.ShaderParameter pname, [Out] Int32* @params);
-            internal unsafe static GetShaderiv glGetShaderiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder source);
-            internal unsafe static GetShaderSource glGetShaderSource;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder source);
-            internal unsafe static GetShaderSourceARB glGetShaderSourceARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetSharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, [Out] Single* points);
-            internal unsafe static GetSharpenTexFuncSGIS glGetSharpenTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr GetString(OpenTK.Graphics.StringName name);
-            internal static GetString glGetString;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr GetStringi(OpenTK.Graphics.StringName name, UInt32 index);
-            internal static GetStringi glGetStringi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetSynciv(IntPtr sync, OpenTK.Graphics.ArbSync pname, Int32 bufSize, [Out] Int32* length, [Out] Int32* values);
-            internal unsafe static GetSynciv glGetSynciv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Single* param);
-            internal unsafe static GetTexBumpParameterfvATI glGetTexBumpParameterfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, [Out] Int32* param);
-            internal unsafe static GetTexBumpParameterivATI glGetTexBumpParameterivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Single* @params);
-            internal unsafe static GetTexEnvfv glGetTexEnvfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTexEnviv glGetTexEnviv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, [Out] Single* weights);
-            internal unsafe static GetTexFilterFuncSGIS glGetTexFilterFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Double* @params);
-            internal unsafe static GetTexGendv glGetTexGendv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Single* @params);
-            internal unsafe static GetTexGenfv glGetTexGenfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTexGeniv glGetTexGeniv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetTexImage(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            internal static GetTexImage glGetTexImage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexLevelParameterfv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            internal unsafe static GetTexLevelParameterfv glGetTexLevelParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexLevelParameteriv(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTexLevelParameteriv glGetTexLevelParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            internal unsafe static GetTexParameterfv glGetTexParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTexParameterIiv glGetTexParameterIiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTexParameterIivEXT glGetTexParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            internal unsafe static GetTexParameterIuiv glGetTexParameterIuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            internal unsafe static GetTexParameterIuivEXT glGetTexParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTexParameteriv glGetTexParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetTexParameterPointervAPPLE(OpenTK.Graphics.AppleTextureRange target, OpenTK.Graphics.AppleTextureRange pname, [Out] IntPtr @params);
-            internal static GetTexParameterPointervAPPLE glGetTexParameterPointervAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetTextureImageEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            internal static GetTextureImageEXT glGetTextureImageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTextureLevelParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            internal unsafe static GetTextureLevelParameterfvEXT glGetTextureLevelParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTextureLevelParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTextureLevelParameterivEXT glGetTextureLevelParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Single* @params);
-            internal unsafe static GetTextureParameterfvEXT glGetTextureParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTextureParameterIivEXT glGetTextureParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] UInt32* @params);
-            internal unsafe static GetTextureParameterIuivEXT glGetTextureParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.GetTextureParameter pname, [Out] Int32* @params);
-            internal unsafe static GetTextureParameterivEXT glGetTextureParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTrackMatrixivNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.AssemblyProgramParameterArb pname, [Out] Int32* @params);
-            internal unsafe static GetTrackMatrixivNV glGetTrackMatrixivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ActiveAttribType* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetTransformFeedbackVarying glGetTransformFeedbackVarying;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTransformFeedbackVaryingEXT(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] OpenTK.Graphics.ExtTransformFeedback* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetTransformFeedbackVaryingEXT glGetTransformFeedbackVaryingEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32* location);
-            internal unsafe static GetTransformFeedbackVaryingNV glGetTransformFeedbackVaryingNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformBlockIndex(UInt32 program, String uniformBlockName);
-            internal static GetUniformBlockIndex glGetUniformBlockIndex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformBufferSizeEXT(UInt32 program, Int32 location);
-            internal static GetUniformBufferSizeEXT glGetUniformBufferSizeEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params);
-            internal unsafe static GetUniformfv glGetUniformfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single* @params);
-            internal unsafe static GetUniformfvARB glGetUniformfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformIndices(UInt32 program, Int32 uniformCount, String[] uniformNames, [Out] UInt32* uniformIndices);
-            internal unsafe static GetUniformIndices glGetUniformIndices;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params);
-            internal unsafe static GetUniformiv glGetUniformiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32* @params);
-            internal unsafe static GetUniformivARB glGetUniformivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformLocation(UInt32 program, String name);
-            internal static GetUniformLocation glGetUniformLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformLocationARB(UInt32 programObj, String name);
-            internal static GetUniformLocationARB glGetUniformLocationARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr GetUniformOffsetEXT(UInt32 program, Int32 location);
-            internal static GetUniformOffsetEXT glGetUniformOffsetEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformuiv(UInt32 program, Int32 location, [Out] UInt32* @params);
-            internal unsafe static GetUniformuiv glGetUniformuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params);
-            internal unsafe static GetUniformuivEXT glGetUniformuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantArrayObjectfvATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Single* @params);
-            internal unsafe static GetVariantArrayObjectfvATI glGetVariantArrayObjectfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantArrayObjectivATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject pname, [Out] Int32* @params);
-            internal unsafe static GetVariantArrayObjectivATI glGetVariantArrayObjectivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantBooleanvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] bool* data);
-            internal unsafe static GetVariantBooleanvEXT glGetVariantBooleanvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantFloatvEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Single* data);
-            internal unsafe static GetVariantFloatvEXT glGetVariantFloatvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantIntegervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] Int32* data);
-            internal unsafe static GetVariantIntegervEXT glGetVariantIntegervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVariantPointervEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader value, [Out] IntPtr data);
-            internal static GetVariantPointervEXT glGetVariantPointervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetVaryingLocationNV(UInt32 program, String name);
-            internal static GetVaryingLocationNV glGetVaryingLocationNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribArrayObjectfvATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribArrayObjectfvATI glGetVertexAttribArrayObjectfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribArrayObjectivATI(UInt32 index, OpenTK.Graphics.AtiVertexAttribArrayObject pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribArrayObjectivATI glGetVertexAttribArrayObjectivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribdv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Double* @params);
-            internal unsafe static GetVertexAttribdv glGetVertexAttribdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribdvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Double* @params);
-            internal unsafe static GetVertexAttribdvARB glGetVertexAttribdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribdvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Double* @params);
-            internal unsafe static GetVertexAttribdvNV glGetVertexAttribdvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribfv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribfv glGetVertexAttribfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribfvARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribfvARB glGetVertexAttribfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribfvNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribfvNV glGetVertexAttribfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribIiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribIiv glGetVertexAttribIiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribIivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribIivEXT glGetVertexAttribIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribIuiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] UInt32* @params);
-            internal unsafe static GetVertexAttribIuiv glGetVertexAttribIuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribIuivEXT(UInt32 index, OpenTK.Graphics.NvVertexProgram4 pname, [Out] UInt32* @params);
-            internal unsafe static GetVertexAttribIuivEXT glGetVertexAttribIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribiv(UInt32 index, OpenTK.Graphics.VertexAttribParameter pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribiv glGetVertexAttribiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribivARB(UInt32 index, OpenTK.Graphics.VertexAttribParameterArb pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribivARB glGetVertexAttribivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribivNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribivNV glGetVertexAttribivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVertexAttribPointerv(UInt32 index, OpenTK.Graphics.VertexAttribPointerType pname, [Out] IntPtr pointer);
-            internal static GetVertexAttribPointerv glGetVertexAttribPointerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVertexAttribPointervARB(UInt32 index, OpenTK.Graphics.VertexAttribPointerParameterArb pname, [Out] IntPtr pointer);
-            internal static GetVertexAttribPointervARB glGetVertexAttribPointervARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVertexAttribPointervNV(UInt32 index, OpenTK.Graphics.NvVertexProgram pname, [Out] IntPtr pointer);
-            internal static GetVertexAttribPointervNV glGetVertexAttribPointervNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVideoi64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int64* @params);
-            internal unsafe static GetVideoi64vNV glGetVideoi64vNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVideoivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] Int32* @params);
-            internal unsafe static GetVideoivNV glGetVideoivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVideoui64vNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt64* @params);
-            internal unsafe static GetVideoui64vNV glGetVideoui64vNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVideouivNV(UInt32 video_slot, OpenTK.Graphics.NvPresentVideo pname, [Out] UInt32* @params);
-            internal unsafe static GetVideouivNV glGetVideouivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorbSUN(SByte factor);
-            internal static GlobalAlphaFactorbSUN glGlobalAlphaFactorbSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactordSUN(Double factor);
-            internal static GlobalAlphaFactordSUN glGlobalAlphaFactordSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorfSUN(Single factor);
-            internal static GlobalAlphaFactorfSUN glGlobalAlphaFactorfSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactoriSUN(Int32 factor);
-            internal static GlobalAlphaFactoriSUN glGlobalAlphaFactoriSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorsSUN(Int16 factor);
-            internal static GlobalAlphaFactorsSUN glGlobalAlphaFactorsSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorubSUN(Byte factor);
-            internal static GlobalAlphaFactorubSUN glGlobalAlphaFactorubSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactoruiSUN(UInt32 factor);
-            internal static GlobalAlphaFactoruiSUN glGlobalAlphaFactoruiSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorusSUN(UInt16 factor);
-            internal static GlobalAlphaFactorusSUN glGlobalAlphaFactorusSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Hint(OpenTK.Graphics.HintTarget target, OpenTK.Graphics.HintMode mode);
-            internal static Hint glHint;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void HintPGI(OpenTK.Graphics.PgiMiscHints target, Int32 mode);
-            internal static HintPGI glHintPGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Histogram(OpenTK.Graphics.Version12Deprecated target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            internal static Histogram glHistogram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void HistogramEXT(OpenTK.Graphics.ExtHistogram target, Int32 width, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            internal static HistogramEXT glHistogramEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IglooInterfaceSGIX(OpenTK.Graphics.All pname, IntPtr @params);
-            internal static IglooInterfaceSGIX glIglooInterfaceSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ImageTransformParameterfHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single param);
-            internal static ImageTransformParameterfHP glImageTransformParameterfHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ImageTransformParameterfvHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Single* @params);
-            internal unsafe static ImageTransformParameterfvHP glImageTransformParameterfvHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ImageTransformParameteriHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32 param);
-            internal static ImageTransformParameteriHP glImageTransformParameteriHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ImageTransformParameterivHP(OpenTK.Graphics.HpImageTransform target, OpenTK.Graphics.HpImageTransform pname, Int32* @params);
-            internal unsafe static ImageTransformParameterivHP glImageTransformParameterivHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexd(Double c);
-            internal static Indexd glIndexd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexdv(Double* c);
-            internal unsafe static Indexdv glIndexdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexf(Single c);
-            internal static Indexf glIndexf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexFuncEXT(OpenTK.Graphics.ExtIndexFunc func, Single @ref);
-            internal static IndexFuncEXT glIndexFuncEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexfv(Single* c);
-            internal unsafe static Indexfv glIndexfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexi(Int32 c);
-            internal static Indexi glIndexi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexiv(Int32* c);
-            internal unsafe static Indexiv glIndexiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexMask(UInt32 mask);
-            internal static IndexMask glIndexMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.ExtIndexMaterial mode);
-            internal static IndexMaterialEXT glIndexMaterialEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexPointer(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer);
-            internal static IndexPointer glIndexPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexPointerEXT(OpenTK.Graphics.IndexPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static IndexPointerEXT glIndexPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexPointerListIBM(OpenTK.Graphics.IndexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static IndexPointerListIBM glIndexPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexs(Int16 c);
-            internal static Indexs glIndexs;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexsv(Int16* c);
-            internal unsafe static Indexsv glIndexsv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexub(Byte c);
-            internal static Indexub glIndexub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexubv(Byte* c);
-            internal unsafe static Indexubv glIndexubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void InitNames();
-            internal static InitNames glInitNames;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void InsertComponentEXT(UInt32 res, UInt32 src, UInt32 num);
-            internal static InsertComponentEXT glInsertComponentEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void InstrumentsBufferSGIX(Int32 size, [Out] Int32* buffer);
-            internal unsafe static InstrumentsBufferSGIX glInstrumentsBufferSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void InterleavedArrays(OpenTK.Graphics.InterleavedArrayFormat format, Int32 stride, IntPtr pointer);
-            internal static InterleavedArrays glInterleavedArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsAsyncMarkerSGIX(UInt32 marker);
-            internal static IsAsyncMarkerSGIX glIsAsyncMarkerSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsBuffer(UInt32 buffer);
-            internal static IsBuffer glIsBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsBufferARB(UInt32 buffer);
-            internal static IsBufferARB glIsBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsEnabled(OpenTK.Graphics.EnableCap cap);
-            internal static IsEnabled glIsEnabled;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsEnabledi(OpenTK.Graphics.IndexedEnableCap target, UInt32 index);
-            internal static IsEnabledi glIsEnabledi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsEnabledIndexedEXT(OpenTK.Graphics.ExtDrawBuffers2 target, UInt32 index);
-            internal static IsEnabledIndexedEXT glIsEnabledIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsFenceAPPLE(UInt32 fence);
-            internal static IsFenceAPPLE glIsFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsFenceNV(UInt32 fence);
-            internal static IsFenceNV glIsFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsFramebuffer(UInt32 framebuffer);
-            internal static IsFramebuffer glIsFramebuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsFramebufferEXT(UInt32 framebuffer);
-            internal static IsFramebufferEXT glIsFramebufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsList(UInt32 list);
-            internal static IsList glIsList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsObjectBufferATI(UInt32 buffer);
-            internal static IsObjectBufferATI glIsObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsOcclusionQueryNV(UInt32 id);
-            internal static IsOcclusionQueryNV glIsOcclusionQueryNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsProgram(UInt32 program);
-            internal static IsProgram glIsProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsProgramARB(UInt32 program);
-            internal static IsProgramARB glIsProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsProgramNV(UInt32 id);
-            internal static IsProgramNV glIsProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsQuery(UInt32 id);
-            internal static IsQuery glIsQuery;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsQueryARB(UInt32 id);
-            internal static IsQueryARB glIsQueryARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsRenderbuffer(UInt32 renderbuffer);
-            internal static IsRenderbuffer glIsRenderbuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsRenderbufferEXT(UInt32 renderbuffer);
-            internal static IsRenderbufferEXT glIsRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsShader(UInt32 shader);
-            internal static IsShader glIsShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsSync(IntPtr sync);
-            internal static IsSync glIsSync;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsTexture(UInt32 texture);
-            internal static IsTexture glIsTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsTextureEXT(UInt32 texture);
-            internal static IsTextureEXT glIsTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsTransformFeedbackNV(UInt32 id);
-            internal static IsTransformFeedbackNV glIsTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsVariantEnabledEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader cap);
-            internal static IsVariantEnabledEXT glIsVariantEnabledEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsVertexArray(UInt32 array);
-            internal static IsVertexArray glIsVertexArray;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsVertexArrayAPPLE(UInt32 array);
-            internal static IsVertexArrayAPPLE glIsVertexArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool IsVertexAttribEnabledAPPLE(UInt32 index, OpenTK.Graphics.AppleVertexProgramEvaluators pname);
-            internal static IsVertexAttribEnabledAPPLE glIsVertexAttribEnabledAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LightEnviSGIX(OpenTK.Graphics.SgixFragmentLighting pname, Int32 param);
-            internal static LightEnviSGIX glLightEnviSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Lightf(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single param);
-            internal static Lightf glLightf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Lightfv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Single* @params);
-            internal unsafe static Lightfv glLightfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Lighti(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32 param);
-            internal static Lighti glLighti;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Lightiv(OpenTK.Graphics.LightName light, OpenTK.Graphics.LightParameter pname, Int32* @params);
-            internal unsafe static Lightiv glLightiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LightModelf(OpenTK.Graphics.LightModelParameter pname, Single param);
-            internal static LightModelf glLightModelf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LightModelfv(OpenTK.Graphics.LightModelParameter pname, Single* @params);
-            internal unsafe static LightModelfv glLightModelfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LightModeli(OpenTK.Graphics.LightModelParameter pname, Int32 param);
-            internal static LightModeli glLightModeli;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LightModeliv(OpenTK.Graphics.LightModelParameter pname, Int32* @params);
-            internal unsafe static LightModeliv glLightModeliv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LineStipple(Int32 factor, UInt16 pattern);
-            internal static LineStipple glLineStipple;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LineWidth(Single width);
-            internal static LineWidth glLineWidth;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LinkProgram(UInt32 program);
-            internal static LinkProgram glLinkProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LinkProgramARB(UInt32 programObj);
-            internal static LinkProgramARB glLinkProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ListBase(UInt32 @base);
-            internal static ListBase glListBase;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ListParameterfSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single param);
-            internal static ListParameterfSGIX glListParameterfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ListParameterfvSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Single* @params);
-            internal unsafe static ListParameterfvSGIX glListParameterfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ListParameteriSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32 param);
-            internal static ListParameteriSGIX glListParameteriSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ListParameterivSGIX(UInt32 list, OpenTK.Graphics.ListParameterName pname, Int32* @params);
-            internal unsafe static ListParameterivSGIX glListParameterivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LoadIdentity();
-            internal static LoadIdentity glLoadIdentity;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LoadIdentityDeformationMapSGIX(UInt32 mask);
-            internal static LoadIdentityDeformationMapSGIX glLoadIdentityDeformationMapSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadMatrixd(Double* m);
-            internal unsafe static LoadMatrixd glLoadMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadMatrixf(Single* m);
-            internal unsafe static LoadMatrixf glLoadMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LoadName(UInt32 name);
-            internal static LoadName glLoadName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadProgramNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 id, Int32 len, Byte* program);
-            internal unsafe static LoadProgramNV glLoadProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixd(Double* m);
-            internal unsafe static LoadTransposeMatrixd glLoadTransposeMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixdARB(Double* m);
-            internal unsafe static LoadTransposeMatrixdARB glLoadTransposeMatrixdARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixf(Single* m);
-            internal unsafe static LoadTransposeMatrixf glLoadTransposeMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixfARB(Single* m);
-            internal unsafe static LoadTransposeMatrixfARB glLoadTransposeMatrixfARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LockArraysEXT(Int32 first, Int32 count);
-            internal static LockArraysEXT glLockArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LogicOp(OpenTK.Graphics.LogicOp opcode);
-            internal static LogicOp glLogicOp;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map1d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 stride, Int32 order, Double* points);
-            internal unsafe static Map1d glMap1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map1f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 stride, Int32 order, Single* points);
-            internal unsafe static Map1f glMap1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map2d(OpenTK.Graphics.MapTarget target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points);
-            internal unsafe static Map2d glMap2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map2f(OpenTK.Graphics.MapTarget target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points);
-            internal unsafe static Map2f glMap2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapBuffer(OpenTK.Graphics.BufferTarget target, OpenTK.Graphics.BufferAccess access);
-            internal unsafe static MapBuffer glMapBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapBufferARB(OpenTK.Graphics.BufferTargetArb target, OpenTK.Graphics.ArbVertexBufferObject access);
-            internal unsafe static MapBufferARB glMapBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapBufferRange(OpenTK.Graphics.BufferTarget target, IntPtr offset, IntPtr length, OpenTK.Graphics.BufferAccessMask access);
-            internal unsafe static MapBufferRange glMapBufferRange;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapControlPointsNV(OpenTK.Graphics.NvEvaluators target, UInt32 index, OpenTK.Graphics.NvEvaluators type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, bool packed, IntPtr points);
-            internal static MapControlPointsNV glMapControlPointsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid1d(Int32 un, Double u1, Double u2);
-            internal static MapGrid1d glMapGrid1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid1f(Int32 un, Single u1, Single u2);
-            internal static MapGrid1f glMapGrid1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2);
-            internal static MapGrid2d glMapGrid2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2);
-            internal static MapGrid2f glMapGrid2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapNamedBufferEXT(UInt32 buffer, OpenTK.Graphics.ExtDirectStateAccess access);
-            internal unsafe static MapNamedBufferEXT glMapNamedBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapObjectBufferATI(UInt32 buffer);
-            internal unsafe static MapObjectBufferATI glMapObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapParameterfvNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Single* @params);
-            internal unsafe static MapParameterfvNV glMapParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapParameterivNV(OpenTK.Graphics.NvEvaluators target, OpenTK.Graphics.NvEvaluators pname, Int32* @params);
-            internal unsafe static MapParameterivNV glMapParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapVertexAttrib1dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 stride, Int32 order, Double* points);
-            internal unsafe static MapVertexAttrib1dAPPLE glMapVertexAttrib1dAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapVertexAttrib1fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 stride, Int32 order, Single* points);
-            internal unsafe static MapVertexAttrib1fAPPLE glMapVertexAttrib1fAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapVertexAttrib2dAPPLE(UInt32 index, UInt32 size, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points);
-            internal unsafe static MapVertexAttrib2dAPPLE glMapVertexAttrib2dAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapVertexAttrib2fAPPLE(UInt32 index, UInt32 size, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points);
-            internal unsafe static MapVertexAttrib2fAPPLE glMapVertexAttrib2fAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Materialf(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single param);
-            internal static Materialf glMaterialf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Materialfv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Single* @params);
-            internal unsafe static Materialfv glMaterialfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Materiali(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32 param);
-            internal static Materiali glMateriali;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Materialiv(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter pname, Int32* @params);
-            internal unsafe static Materialiv glMaterialiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixFrustumEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            internal static MatrixFrustumEXT glMatrixFrustumEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixIndexPointerARB(Int32 size, OpenTK.Graphics.ArbMatrixPalette type, Int32 stride, IntPtr pointer);
-            internal static MatrixIndexPointerARB glMatrixIndexPointerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixIndexubvARB(Int32 size, Byte* indices);
-            internal unsafe static MatrixIndexubvARB glMatrixIndexubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixIndexuivARB(Int32 size, UInt32* indices);
-            internal unsafe static MatrixIndexuivARB glMatrixIndexuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixIndexusvARB(Int32 size, UInt16* indices);
-            internal unsafe static MatrixIndexusvARB glMatrixIndexusvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixLoaddEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            internal unsafe static MatrixLoaddEXT glMatrixLoaddEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixLoadfEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            internal unsafe static MatrixLoadfEXT glMatrixLoadfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixLoadIdentityEXT(OpenTK.Graphics.MatrixMode mode);
-            internal static MatrixLoadIdentityEXT glMatrixLoadIdentityEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixLoadTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            internal unsafe static MatrixLoadTransposedEXT glMatrixLoadTransposedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixLoadTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            internal unsafe static MatrixLoadTransposefEXT glMatrixLoadTransposefEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixMode(OpenTK.Graphics.MatrixMode mode);
-            internal static MatrixMode glMatrixMode;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixMultdEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            internal unsafe static MatrixMultdEXT glMatrixMultdEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixMultfEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            internal unsafe static MatrixMultfEXT glMatrixMultfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixMultTransposedEXT(OpenTK.Graphics.MatrixMode mode, Double* m);
-            internal unsafe static MatrixMultTransposedEXT glMatrixMultTransposedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixMultTransposefEXT(OpenTK.Graphics.MatrixMode mode, Single* m);
-            internal unsafe static MatrixMultTransposefEXT glMatrixMultTransposefEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixOrthoEXT(OpenTK.Graphics.MatrixMode mode, Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            internal static MatrixOrthoEXT glMatrixOrthoEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixPopEXT(OpenTK.Graphics.MatrixMode mode);
-            internal static MatrixPopEXT glMatrixPopEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixPushEXT(OpenTK.Graphics.MatrixMode mode);
-            internal static MatrixPushEXT glMatrixPushEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixRotatedEXT(OpenTK.Graphics.MatrixMode mode, Double angle, Double x, Double y, Double z);
-            internal static MatrixRotatedEXT glMatrixRotatedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixRotatefEXT(OpenTK.Graphics.MatrixMode mode, Single angle, Single x, Single y, Single z);
-            internal static MatrixRotatefEXT glMatrixRotatefEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixScaledEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z);
-            internal static MatrixScaledEXT glMatrixScaledEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixScalefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z);
-            internal static MatrixScalefEXT glMatrixScalefEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixTranslatedEXT(OpenTK.Graphics.MatrixMode mode, Double x, Double y, Double z);
-            internal static MatrixTranslatedEXT glMatrixTranslatedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixTranslatefEXT(OpenTK.Graphics.MatrixMode mode, Single x, Single y, Single z);
-            internal static MatrixTranslatefEXT glMatrixTranslatefEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Minmax(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            internal static Minmax glMinmax;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MinmaxEXT(OpenTK.Graphics.ExtHistogram target, OpenTK.Graphics.PixelInternalFormat internalformat, bool sink);
-            internal static MinmaxEXT glMinmaxEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MinSampleShading(Single value);
-            internal static MinSampleShading glMinSampleShading;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawArrays(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawArrays glMultiDrawArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawArraysEXT(OpenTK.Graphics.BeginMode mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawArraysEXT glMultiDrawArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, Int32* first, Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawElementArrayAPPLE glMultiDrawElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElements(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            internal unsafe static MultiDrawElements glMultiDrawElements;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElementsBaseVertex(OpenTK.Graphics.ArbDrawElementsBaseVertex mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32* basevertex);
-            internal unsafe static MultiDrawElementsBaseVertex glMultiDrawElementsBaseVertex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElementsEXT(OpenTK.Graphics.BeginMode mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount);
-            internal unsafe static MultiDrawElementsEXT glMultiDrawElementsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawRangeElementArrayAPPLE(OpenTK.Graphics.BeginMode mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawRangeElementArrayAPPLE glMultiDrawRangeElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiModeDrawArraysIBM(OpenTK.Graphics.BeginMode* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride);
-            internal unsafe static MultiModeDrawArraysIBM glMultiModeDrawArraysIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiModeDrawElementsIBM(OpenTK.Graphics.BeginMode* mode, Int32* count, OpenTK.Graphics.DrawElementsType type, IntPtr indices, Int32 primcount, Int32 modestride);
-            internal unsafe static MultiModeDrawElementsIBM glMultiModeDrawElementsIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexBufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer);
-            internal static MultiTexBufferEXT glMultiTexBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1d(OpenTK.Graphics.TextureUnit target, Double s);
-            internal static MultiTexCoord1d glMultiTexCoord1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1dARB(OpenTK.Graphics.TextureUnit target, Double s);
-            internal static MultiTexCoord1dARB glMultiTexCoord1dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord1dv glMultiTexCoord1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord1dvARB glMultiTexCoord1dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1f(OpenTK.Graphics.TextureUnit target, Single s);
-            internal static MultiTexCoord1f glMultiTexCoord1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1fARB(OpenTK.Graphics.TextureUnit target, Single s);
-            internal static MultiTexCoord1fARB glMultiTexCoord1fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord1fv glMultiTexCoord1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord1fvARB glMultiTexCoord1fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s);
-            internal static MultiTexCoord1hNV glMultiTexCoord1hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            internal unsafe static MultiTexCoord1hvNV glMultiTexCoord1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1i(OpenTK.Graphics.TextureUnit target, Int32 s);
-            internal static MultiTexCoord1i glMultiTexCoord1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1iARB(OpenTK.Graphics.TextureUnit target, Int32 s);
-            internal static MultiTexCoord1iARB glMultiTexCoord1iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord1iv glMultiTexCoord1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord1ivARB glMultiTexCoord1ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1s(OpenTK.Graphics.TextureUnit target, Int16 s);
-            internal static MultiTexCoord1s glMultiTexCoord1s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1sARB(OpenTK.Graphics.TextureUnit target, Int16 s);
-            internal static MultiTexCoord1sARB glMultiTexCoord1sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord1sv glMultiTexCoord1sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord1svARB glMultiTexCoord1svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2d(OpenTK.Graphics.TextureUnit target, Double s, Double t);
-            internal static MultiTexCoord2d glMultiTexCoord2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t);
-            internal static MultiTexCoord2dARB glMultiTexCoord2dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord2dv glMultiTexCoord2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord2dvARB glMultiTexCoord2dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2f(OpenTK.Graphics.TextureUnit target, Single s, Single t);
-            internal static MultiTexCoord2f glMultiTexCoord2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t);
-            internal static MultiTexCoord2fARB glMultiTexCoord2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord2fv glMultiTexCoord2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord2fvARB glMultiTexCoord2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t);
-            internal static MultiTexCoord2hNV glMultiTexCoord2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            internal unsafe static MultiTexCoord2hvNV glMultiTexCoord2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t);
-            internal static MultiTexCoord2i glMultiTexCoord2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t);
-            internal static MultiTexCoord2iARB glMultiTexCoord2iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord2iv glMultiTexCoord2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord2ivARB glMultiTexCoord2ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t);
-            internal static MultiTexCoord2s glMultiTexCoord2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t);
-            internal static MultiTexCoord2sARB glMultiTexCoord2sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord2sv glMultiTexCoord2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord2svARB glMultiTexCoord2svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r);
-            internal static MultiTexCoord3d glMultiTexCoord3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r);
-            internal static MultiTexCoord3dARB glMultiTexCoord3dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord3dv glMultiTexCoord3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord3dvARB glMultiTexCoord3dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r);
-            internal static MultiTexCoord3f glMultiTexCoord3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r);
-            internal static MultiTexCoord3fARB glMultiTexCoord3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord3fv glMultiTexCoord3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord3fvARB glMultiTexCoord3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r);
-            internal static MultiTexCoord3hNV glMultiTexCoord3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            internal unsafe static MultiTexCoord3hvNV glMultiTexCoord3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r);
-            internal static MultiTexCoord3i glMultiTexCoord3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r);
-            internal static MultiTexCoord3iARB glMultiTexCoord3iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord3iv glMultiTexCoord3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord3ivARB glMultiTexCoord3ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r);
-            internal static MultiTexCoord3s glMultiTexCoord3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r);
-            internal static MultiTexCoord3sARB glMultiTexCoord3sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord3sv glMultiTexCoord3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord3svARB glMultiTexCoord3svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4d(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q);
-            internal static MultiTexCoord4d glMultiTexCoord4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4dARB(OpenTK.Graphics.TextureUnit target, Double s, Double t, Double r, Double q);
-            internal static MultiTexCoord4dARB glMultiTexCoord4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4dv(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord4dv glMultiTexCoord4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4dvARB(OpenTK.Graphics.TextureUnit target, Double* v);
-            internal unsafe static MultiTexCoord4dvARB glMultiTexCoord4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4f(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q);
-            internal static MultiTexCoord4f glMultiTexCoord4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4fARB(OpenTK.Graphics.TextureUnit target, Single s, Single t, Single r, Single q);
-            internal static MultiTexCoord4fARB glMultiTexCoord4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4fv(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord4fv glMultiTexCoord4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4fvARB(OpenTK.Graphics.TextureUnit target, Single* v);
-            internal unsafe static MultiTexCoord4fvARB glMultiTexCoord4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4hNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q);
-            internal static MultiTexCoord4hNV glMultiTexCoord4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4hvNV(OpenTK.Graphics.TextureUnit target, OpenTK.Half* v);
-            internal unsafe static MultiTexCoord4hvNV glMultiTexCoord4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4i(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q);
-            internal static MultiTexCoord4i glMultiTexCoord4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4iARB(OpenTK.Graphics.TextureUnit target, Int32 s, Int32 t, Int32 r, Int32 q);
-            internal static MultiTexCoord4iARB glMultiTexCoord4iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4iv(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord4iv glMultiTexCoord4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4ivARB(OpenTK.Graphics.TextureUnit target, Int32* v);
-            internal unsafe static MultiTexCoord4ivARB glMultiTexCoord4ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4s(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q);
-            internal static MultiTexCoord4s glMultiTexCoord4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4sARB(OpenTK.Graphics.TextureUnit target, Int16 s, Int16 t, Int16 r, Int16 q);
-            internal static MultiTexCoord4sARB glMultiTexCoord4sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4sv(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord4sv glMultiTexCoord4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4svARB(OpenTK.Graphics.TextureUnit target, Int16* v);
-            internal unsafe static MultiTexCoord4svARB glMultiTexCoord4svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoordPointerEXT(OpenTK.Graphics.TextureUnit texunit, Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer);
-            internal static MultiTexCoordPointerEXT glMultiTexCoordPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexEnvfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param);
-            internal static MultiTexEnvfEXT glMultiTexEnvfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexEnvfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params);
-            internal unsafe static MultiTexEnvfvEXT glMultiTexEnvfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexEnviEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param);
-            internal static MultiTexEnviEXT glMultiTexEnviEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexEnvivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params);
-            internal unsafe static MultiTexEnvivEXT glMultiTexEnvivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexGendEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param);
-            internal static MultiTexGendEXT glMultiTexGendEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexGendvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params);
-            internal unsafe static MultiTexGendvEXT glMultiTexGendvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexGenfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param);
-            internal static MultiTexGenfEXT glMultiTexGenfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexGenfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params);
-            internal unsafe static MultiTexGenfvEXT glMultiTexGenfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexGeniEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param);
-            internal static MultiTexGeniEXT glMultiTexGeniEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexGenivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params);
-            internal unsafe static MultiTexGenivEXT glMultiTexGenivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static MultiTexImage1DEXT glMultiTexImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static MultiTexImage2DEXT glMultiTexImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static MultiTexImage3DEXT glMultiTexImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexParameterfEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param);
-            internal static MultiTexParameterfEXT glMultiTexParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexParameterfvEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params);
-            internal unsafe static MultiTexParameterfvEXT glMultiTexParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexParameteriEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param);
-            internal static MultiTexParameteriEXT glMultiTexParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexParameterIivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static MultiTexParameterIivEXT glMultiTexParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexParameterIuivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            internal unsafe static MultiTexParameterIuivEXT glMultiTexParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexParameterivEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static MultiTexParameterivEXT glMultiTexParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexRenderbufferEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer);
-            internal static MultiTexRenderbufferEXT glMultiTexRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexSubImage1DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static MultiTexSubImage1DEXT glMultiTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexSubImage2DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static MultiTexSubImage2DEXT glMultiTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexSubImage3DEXT(OpenTK.Graphics.TextureUnit texunit, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static MultiTexSubImage3DEXT glMultiTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultMatrixd(Double* m);
-            internal unsafe static MultMatrixd glMultMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultMatrixf(Single* m);
-            internal unsafe static MultMatrixf glMultMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixd(Double* m);
-            internal unsafe static MultTransposeMatrixd glMultTransposeMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixdARB(Double* m);
-            internal unsafe static MultTransposeMatrixdARB glMultTransposeMatrixdARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixf(Single* m);
-            internal unsafe static MultTransposeMatrixf glMultTransposeMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixfARB(Single* m);
-            internal unsafe static MultTransposeMatrixfARB glMultTransposeMatrixfARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedBufferDataEXT(UInt32 buffer, IntPtr size, IntPtr data, OpenTK.Graphics.ExtDirectStateAccess usage);
-            internal static NamedBufferDataEXT glNamedBufferDataEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data);
-            internal static NamedBufferSubDataEXT glNamedBufferSubDataEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferRenderbufferEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.RenderbufferTarget renderbuffertarget, UInt32 renderbuffer);
-            internal static NamedFramebufferRenderbufferEXT glNamedFramebufferRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferTexture1DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            internal static NamedFramebufferTexture1DEXT glNamedFramebufferTexture1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferTexture2DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level);
-            internal static NamedFramebufferTexture2DEXT glNamedFramebufferTexture2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferTexture3DEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, OpenTK.Graphics.TextureTarget textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            internal static NamedFramebufferTexture3DEXT glNamedFramebufferTexture3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferTextureEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level);
-            internal static NamedFramebufferTextureEXT glNamedFramebufferTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferTextureFaceEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, OpenTK.Graphics.TextureTarget face);
-            internal static NamedFramebufferTextureFaceEXT glNamedFramebufferTextureFaceEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedFramebufferTextureLayerEXT(UInt32 framebuffer, OpenTK.Graphics.FramebufferAttachment attachment, UInt32 texture, Int32 level, Int32 layer);
-            internal static NamedFramebufferTextureLayerEXT glNamedFramebufferTextureLayerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedProgramLocalParameter4dEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static NamedProgramLocalParameter4dEXT glNamedProgramLocalParameter4dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParameter4dvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Double* @params);
-            internal unsafe static NamedProgramLocalParameter4dvEXT glNamedProgramLocalParameter4dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedProgramLocalParameter4fEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static NamedProgramLocalParameter4fEXT glNamedProgramLocalParameter4fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParameter4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Single* @params);
-            internal unsafe static NamedProgramLocalParameter4fvEXT glNamedProgramLocalParameter4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedProgramLocalParameterI4iEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static NamedProgramLocalParameterI4iEXT glNamedProgramLocalParameterI4iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParameterI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32* @params);
-            internal unsafe static NamedProgramLocalParameterI4ivEXT glNamedProgramLocalParameterI4ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedProgramLocalParameterI4uiEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static NamedProgramLocalParameterI4uiEXT glNamedProgramLocalParameterI4uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParameterI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, UInt32* @params);
-            internal unsafe static NamedProgramLocalParameterI4uivEXT glNamedProgramLocalParameterI4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParameters4fvEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static NamedProgramLocalParameters4fvEXT glNamedProgramLocalParameters4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParametersI4ivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static NamedProgramLocalParametersI4ivEXT glNamedProgramLocalParametersI4ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NamedProgramLocalParametersI4uivEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static NamedProgramLocalParametersI4uivEXT glNamedProgramLocalParametersI4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedProgramStringEXT(UInt32 program, OpenTK.Graphics.ExtDirectStateAccess target, OpenTK.Graphics.ExtDirectStateAccess format, Int32 len, IntPtr @string);
-            internal static NamedProgramStringEXT glNamedProgramStringEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedRenderbufferStorageEXT(UInt32 renderbuffer, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            internal static NamedRenderbufferStorageEXT glNamedRenderbufferStorageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedRenderbufferStorageMultisampleCoverageEXT(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            internal static NamedRenderbufferStorageMultisampleCoverageEXT glNamedRenderbufferStorageMultisampleCoverageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NamedRenderbufferStorageMultisampleEXT(UInt32 renderbuffer, Int32 samples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            internal static NamedRenderbufferStorageMultisampleEXT glNamedRenderbufferStorageMultisampleEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NewList(UInt32 list, OpenTK.Graphics.ListMode mode);
-            internal static NewList glNewList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 NewObjectBufferATI(Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject usage);
-            internal static NewObjectBufferATI glNewObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3b(SByte nx, SByte ny, SByte nz);
-            internal static Normal3b glNormal3b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3bv(SByte* v);
-            internal unsafe static Normal3bv glNormal3bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3d(Double nx, Double ny, Double nz);
-            internal static Normal3d glNormal3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3dv(Double* v);
-            internal unsafe static Normal3dv glNormal3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3f(Single nx, Single ny, Single nz);
-            internal static Normal3f glNormal3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3fv(Single* v);
-            internal unsafe static Normal3fv glNormal3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static Normal3fVertex3fSUN glNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3fVertex3fvSUN(Single* n, Single* v);
-            internal unsafe static Normal3fVertex3fvSUN glNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3hNV(OpenTK.Half nx, OpenTK.Half ny, OpenTK.Half nz);
-            internal static Normal3hNV glNormal3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3hvNV(OpenTK.Half* v);
-            internal unsafe static Normal3hvNV glNormal3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3i(Int32 nx, Int32 ny, Int32 nz);
-            internal static Normal3i glNormal3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3iv(Int32* v);
-            internal unsafe static Normal3iv glNormal3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3s(Int16 nx, Int16 ny, Int16 nz);
-            internal static Normal3s glNormal3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3sv(Int16* v);
-            internal unsafe static Normal3sv glNormal3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointer(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer);
-            internal static NormalPointer glNormalPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static NormalPointerEXT glNormalPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointerListIBM(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static NormalPointerListIBM glNormalPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointervINTEL(OpenTK.Graphics.NormalPointerType type, IntPtr pointer);
-            internal static NormalPointervINTEL glNormalPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3bATI(OpenTK.Graphics.AtiVertexStreams stream, SByte nx, SByte ny, SByte nz);
-            internal static NormalStream3bATI glNormalStream3bATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3bvATI(OpenTK.Graphics.AtiVertexStreams stream, SByte* coords);
-            internal unsafe static NormalStream3bvATI glNormalStream3bvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double nx, Double ny, Double nz);
-            internal static NormalStream3dATI glNormalStream3dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            internal unsafe static NormalStream3dvATI glNormalStream3dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single nx, Single ny, Single nz);
-            internal static NormalStream3fATI glNormalStream3fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            internal unsafe static NormalStream3fvATI glNormalStream3fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 nx, Int32 ny, Int32 nz);
-            internal static NormalStream3iATI glNormalStream3iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            internal unsafe static NormalStream3ivATI glNormalStream3ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 nx, Int16 ny, Int16 nz);
-            internal static NormalStream3sATI glNormalStream3sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            internal unsafe static NormalStream3svATI glNormalStream3svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr ObjectPurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option);
-            internal static ObjectPurgeableAPPLE glObjectPurgeableAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr ObjectUnpurgeableAPPLE(OpenTK.Graphics.AppleObjectPurgeable objectType, UInt32 name, OpenTK.Graphics.AppleObjectPurgeable option);
-            internal static ObjectUnpurgeableAPPLE glObjectUnpurgeableAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            internal static Ortho glOrtho;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PassTexCoordATI(UInt32 dst, UInt32 coord, OpenTK.Graphics.AtiFragmentShader swizzle);
-            internal static PassTexCoordATI glPassTexCoordATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PassThrough(Single token);
-            internal static PassThrough glPassThrough;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PauseTransformFeedbackNV();
-            internal static PauseTransformFeedbackNV glPauseTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelDataRangeNV(OpenTK.Graphics.NvPixelDataRange target, Int32 length, [Out] IntPtr pointer);
-            internal static PixelDataRangeNV glPixelDataRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelMapfv(OpenTK.Graphics.PixelMap map, Int32 mapsize, Single* values);
-            internal unsafe static PixelMapfv glPixelMapfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelMapuiv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt32* values);
-            internal unsafe static PixelMapuiv glPixelMapuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelMapusv(OpenTK.Graphics.PixelMap map, Int32 mapsize, UInt16* values);
-            internal unsafe static PixelMapusv glPixelMapusv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelStoref(OpenTK.Graphics.PixelStoreParameter pname, Single param);
-            internal static PixelStoref glPixelStoref;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelStorei(OpenTK.Graphics.PixelStoreParameter pname, Int32 param);
-            internal static PixelStorei glPixelStorei;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTexGenParameterfSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single param);
-            internal static PixelTexGenParameterfSGIS glPixelTexGenParameterfSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTexGenParameterfvSGIS(OpenTK.Graphics.SgisPixelTexture pname, Single* @params);
-            internal unsafe static PixelTexGenParameterfvSGIS glPixelTexGenParameterfvSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTexGenParameteriSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32 param);
-            internal static PixelTexGenParameteriSGIS glPixelTexGenParameteriSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTexGenParameterivSGIS(OpenTK.Graphics.SgisPixelTexture pname, Int32* @params);
-            internal unsafe static PixelTexGenParameterivSGIS glPixelTexGenParameterivSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTexGenSGIX(OpenTK.Graphics.SgixPixelTexture mode);
-            internal static PixelTexGenSGIX glPixelTexGenSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransferf(OpenTK.Graphics.PixelTransferParameter pname, Single param);
-            internal static PixelTransferf glPixelTransferf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransferi(OpenTK.Graphics.PixelTransferParameter pname, Int32 param);
-            internal static PixelTransferi glPixelTransferi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransformParameterfEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single param);
-            internal static PixelTransformParameterfEXT glPixelTransformParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTransformParameterfvEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Single* @params);
-            internal unsafe static PixelTransformParameterfvEXT glPixelTransformParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransformParameteriEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32 param);
-            internal static PixelTransformParameteriEXT glPixelTransformParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTransformParameterivEXT(OpenTK.Graphics.ExtPixelTransform target, OpenTK.Graphics.ExtPixelTransform pname, Int32* @params);
-            internal unsafe static PixelTransformParameterivEXT glPixelTransformParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelZoom(Single xfactor, Single yfactor);
-            internal static PixelZoom glPixelZoom;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PNTrianglesfATI(OpenTK.Graphics.AtiPnTriangles pname, Single param);
-            internal static PNTrianglesfATI glPNTrianglesfATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PNTrianglesiATI(OpenTK.Graphics.AtiPnTriangles pname, Int32 param);
-            internal static PNTrianglesiATI glPNTrianglesiATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterf(OpenTK.Graphics.PointParameterName pname, Single param);
-            internal static PointParameterf glPointParameterf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterfARB(OpenTK.Graphics.ArbPointParameters pname, Single param);
-            internal static PointParameterfARB glPointParameterfARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterfEXT(OpenTK.Graphics.ExtPointParameters pname, Single param);
-            internal static PointParameterfEXT glPointParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterfSGIS(OpenTK.Graphics.SgisPointParameters pname, Single param);
-            internal static PointParameterfSGIS glPointParameterfSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfv(OpenTK.Graphics.PointParameterName pname, Single* @params);
-            internal unsafe static PointParameterfv glPointParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfvARB(OpenTK.Graphics.ArbPointParameters pname, Single* @params);
-            internal unsafe static PointParameterfvARB glPointParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfvEXT(OpenTK.Graphics.ExtPointParameters pname, Single* @params);
-            internal unsafe static PointParameterfvEXT glPointParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfvSGIS(OpenTK.Graphics.SgisPointParameters pname, Single* @params);
-            internal unsafe static PointParameterfvSGIS glPointParameterfvSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameteri(OpenTK.Graphics.PointParameterName pname, Int32 param);
-            internal static PointParameteri glPointParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameteriNV(OpenTK.Graphics.NvPointSprite pname, Int32 param);
-            internal static PointParameteriNV glPointParameteriNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameteriv(OpenTK.Graphics.PointParameterName pname, Int32* @params);
-            internal unsafe static PointParameteriv glPointParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterivNV(OpenTK.Graphics.NvPointSprite pname, Int32* @params);
-            internal unsafe static PointParameterivNV glPointParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointSize(Single size);
-            internal static PointSize glPointSize;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 PollAsyncSGIX([Out] UInt32* markerp);
-            internal unsafe static PollAsyncSGIX glPollAsyncSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 PollInstrumentsSGIX([Out] Int32* marker_p);
-            internal unsafe static PollInstrumentsSGIX glPollInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PolygonMode(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.PolygonMode mode);
-            internal static PolygonMode glPolygonMode;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PolygonOffset(Single factor, Single units);
-            internal static PolygonOffset glPolygonOffset;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PolygonOffsetEXT(Single factor, Single bias);
-            internal static PolygonOffsetEXT glPolygonOffsetEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PolygonStipple(Byte* mask);
-            internal unsafe static PolygonStipple glPolygonStipple;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopAttrib();
-            internal static PopAttrib glPopAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopClientAttrib();
-            internal static PopClientAttrib glPopClientAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopMatrix();
-            internal static PopMatrix glPopMatrix;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopName();
-            internal static PopName glPopName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, OpenTK.Graphics.NvPresentVideo target2, UInt32 fill2, OpenTK.Graphics.NvPresentVideo target3, UInt32 fill3);
-            internal static PresentFrameDualFillNV glPresentFrameDualFillNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, OpenTK.Graphics.NvPresentVideo type, OpenTK.Graphics.NvPresentVideo target0, UInt32 fill0, UInt32 key0, OpenTK.Graphics.NvPresentVideo target1, UInt32 fill1, UInt32 key1);
-            internal static PresentFrameKeyedNV glPresentFrameKeyedNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PrimitiveRestartIndex(UInt32 index);
-            internal static PrimitiveRestartIndex glPrimitiveRestartIndex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PrimitiveRestartIndexNV(UInt32 index);
-            internal static PrimitiveRestartIndexNV glPrimitiveRestartIndexNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PrimitiveRestartNV();
-            internal static PrimitiveRestartNV glPrimitiveRestartNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities);
-            internal unsafe static PrioritizeTextures glPrioritizeTextures;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PrioritizeTexturesEXT(Int32 n, UInt32* textures, Single* priorities);
-            internal unsafe static PrioritizeTexturesEXT glPrioritizeTexturesEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramBufferParametersfvNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static ProgramBufferParametersfvNV glProgramBufferParametersfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramBufferParametersIivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static ProgramBufferParametersIivNV glProgramBufferParametersIivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramBufferParametersIuivNV(OpenTK.Graphics.NvParameterBufferObject target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static ProgramBufferParametersIuivNV glProgramBufferParametersIuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static ProgramEnvParameter4dARB glProgramEnvParameter4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params);
-            internal unsafe static ProgramEnvParameter4dvARB glProgramEnvParameter4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static ProgramEnvParameter4fARB glProgramEnvParameter4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params);
-            internal unsafe static ProgramEnvParameter4fvARB glProgramEnvParameter4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static ProgramEnvParameterI4iNV glProgramEnvParameterI4iNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params);
-            internal unsafe static ProgramEnvParameterI4ivNV glProgramEnvParameterI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static ProgramEnvParameterI4uiNV glProgramEnvParameterI4uiNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params);
-            internal unsafe static ProgramEnvParameterI4uivNV glProgramEnvParameterI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static ProgramEnvParameters4fvEXT glProgramEnvParameters4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static ProgramEnvParametersI4ivNV glProgramEnvParametersI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static ProgramEnvParametersI4uivNV glProgramEnvParametersI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameter4dARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static ProgramLocalParameter4dARB glProgramLocalParameter4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameter4dvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* @params);
-            internal unsafe static ProgramLocalParameter4dvARB glProgramLocalParameter4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameter4fARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static ProgramLocalParameter4fARB glProgramLocalParameter4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameter4fvARB(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* @params);
-            internal unsafe static ProgramLocalParameter4fvARB glProgramLocalParameter4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameterI4iNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static ProgramLocalParameterI4iNV glProgramLocalParameterI4iNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameterI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32* @params);
-            internal unsafe static ProgramLocalParameterI4ivNV glProgramLocalParameterI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameterI4uiNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static ProgramLocalParameterI4uiNV glProgramLocalParameterI4uiNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameterI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, UInt32* @params);
-            internal unsafe static ProgramLocalParameterI4uivNV glProgramLocalParameterI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameters4fvEXT(OpenTK.Graphics.ExtGpuProgramParameters target, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static ProgramLocalParameters4fvEXT glProgramLocalParameters4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParametersI4ivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static ProgramLocalParametersI4ivNV glProgramLocalParametersI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParametersI4uivNV(OpenTK.Graphics.NvGpuProgram4 target, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static ProgramLocalParametersI4uivNV glProgramLocalParametersI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w);
-            internal unsafe static ProgramNamedParameter4dNV glProgramNamedParameter4dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte* name, Double* v);
-            internal unsafe static ProgramNamedParameter4dvNV glProgramNamedParameter4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w);
-            internal unsafe static ProgramNamedParameter4fNV glProgramNamedParameter4fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte* name, Single* v);
-            internal unsafe static ProgramNamedParameter4fvNV glProgramNamedParameter4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameter4dNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static ProgramParameter4dNV glProgramParameter4dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameter4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Double* v);
-            internal unsafe static ProgramParameter4dvNV glProgramParameter4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameter4fNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static ProgramParameter4fNV glProgramParameter4fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameter4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, Single* v);
-            internal unsafe static ProgramParameter4fvNV glProgramParameter4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameteri(UInt32 program, OpenTK.Graphics.Version32 pname, Int32 value);
-            internal static ProgramParameteri glProgramParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameteriARB(UInt32 program, OpenTK.Graphics.ArbGeometryShader4 pname, Int32 value);
-            internal static ProgramParameteriARB glProgramParameteriARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameteriEXT(UInt32 program, OpenTK.Graphics.ExtGeometryShader4 pname, Int32 value);
-            internal static ProgramParameteriEXT glProgramParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameters4dvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Double* v);
-            internal unsafe static ProgramParameters4dvNV glProgramParameters4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameters4fvNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 index, UInt32 count, Single* v);
-            internal unsafe static ProgramParameters4fvNV glProgramParameters4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramStringARB(OpenTK.Graphics.AssemblyProgramTargetArb target, OpenTK.Graphics.ArbVertexProgram format, Int32 len, IntPtr @string);
-            internal static ProgramStringARB glProgramStringARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform1fEXT(UInt32 program, Int32 location, Single v0);
-            internal static ProgramUniform1fEXT glProgramUniform1fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            internal unsafe static ProgramUniform1fvEXT glProgramUniform1fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);
-            internal static ProgramUniform1iEXT glProgramUniform1iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            internal unsafe static ProgramUniform1ivEXT glProgramUniform1ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);
-            internal static ProgramUniform1uiEXT glProgramUniform1uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            internal unsafe static ProgramUniform1uivEXT glProgramUniform1uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform2fEXT(UInt32 program, Int32 location, Single v0, Single v1);
-            internal static ProgramUniform2fEXT glProgramUniform2fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            internal unsafe static ProgramUniform2fvEXT glProgramUniform2fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);
-            internal static ProgramUniform2iEXT glProgramUniform2iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            internal unsafe static ProgramUniform2ivEXT glProgramUniform2ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);
-            internal static ProgramUniform2uiEXT glProgramUniform2uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            internal unsafe static ProgramUniform2uivEXT glProgramUniform2uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform3fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2);
-            internal static ProgramUniform3fEXT glProgramUniform3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            internal unsafe static ProgramUniform3fvEXT glProgramUniform3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            internal static ProgramUniform3iEXT glProgramUniform3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            internal unsafe static ProgramUniform3ivEXT glProgramUniform3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            internal static ProgramUniform3uiEXT glProgramUniform3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            internal unsafe static ProgramUniform3uivEXT glProgramUniform3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform4fEXT(UInt32 program, Int32 location, Single v0, Single v1, Single v2, Single v3);
-            internal static ProgramUniform4fEXT glProgramUniform4fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, Single* value);
-            internal unsafe static ProgramUniform4fvEXT glProgramUniform4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            internal static ProgramUniform4iEXT glProgramUniform4iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, Int32* value);
-            internal unsafe static ProgramUniform4ivEXT glProgramUniform4ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            internal static ProgramUniform4uiEXT glProgramUniform4uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, UInt32* value);
-            internal unsafe static ProgramUniform4uivEXT glProgramUniform4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix2fvEXT glProgramUniformMatrix2fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix2x3fvEXT glProgramUniformMatrix2x3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix2x4fvEXT glProgramUniformMatrix2x4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix3fvEXT glProgramUniformMatrix3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix3x2fvEXT glProgramUniformMatrix3x2fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix3x4fvEXT glProgramUniformMatrix3x4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix4fvEXT glProgramUniformMatrix4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix4x2fvEXT glProgramUniformMatrix4x2fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static ProgramUniformMatrix4x3fvEXT glProgramUniformMatrix4x3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramVertexLimitNV(OpenTK.Graphics.NvGeometryProgram4 target, Int32 limit);
-            internal static ProgramVertexLimitNV glProgramVertexLimitNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProvokingVertex(OpenTK.Graphics.ArbProvokingVertex mode);
-            internal static ProvokingVertex glProvokingVertex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProvokingVertexEXT(OpenTK.Graphics.ExtProvokingVertex mode);
-            internal static ProvokingVertexEXT glProvokingVertexEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushAttrib(OpenTK.Graphics.AttribMask mask);
-            internal static PushAttrib glPushAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushClientAttrib(OpenTK.Graphics.ClientAttribMask mask);
-            internal static PushClientAttrib glPushClientAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushClientAttribDefaultEXT(OpenTK.Graphics.ClientAttribMask mask);
-            internal static PushClientAttribDefaultEXT glPushClientAttribDefaultEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushMatrix();
-            internal static PushMatrix glPushMatrix;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushName(UInt32 name);
-            internal static PushName glPushName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2d(Double x, Double y);
-            internal static RasterPos2d glRasterPos2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2dv(Double* v);
-            internal unsafe static RasterPos2dv glRasterPos2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2f(Single x, Single y);
-            internal static RasterPos2f glRasterPos2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2fv(Single* v);
-            internal unsafe static RasterPos2fv glRasterPos2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2i(Int32 x, Int32 y);
-            internal static RasterPos2i glRasterPos2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2iv(Int32* v);
-            internal unsafe static RasterPos2iv glRasterPos2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2s(Int16 x, Int16 y);
-            internal static RasterPos2s glRasterPos2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2sv(Int16* v);
-            internal unsafe static RasterPos2sv glRasterPos2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3d(Double x, Double y, Double z);
-            internal static RasterPos3d glRasterPos3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3dv(Double* v);
-            internal unsafe static RasterPos3dv glRasterPos3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3f(Single x, Single y, Single z);
-            internal static RasterPos3f glRasterPos3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3fv(Single* v);
-            internal unsafe static RasterPos3fv glRasterPos3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3i(Int32 x, Int32 y, Int32 z);
-            internal static RasterPos3i glRasterPos3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3iv(Int32* v);
-            internal unsafe static RasterPos3iv glRasterPos3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3s(Int16 x, Int16 y, Int16 z);
-            internal static RasterPos3s glRasterPos3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3sv(Int16* v);
-            internal unsafe static RasterPos3sv glRasterPos3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4d(Double x, Double y, Double z, Double w);
-            internal static RasterPos4d glRasterPos4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4dv(Double* v);
-            internal unsafe static RasterPos4dv glRasterPos4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4f(Single x, Single y, Single z, Single w);
-            internal static RasterPos4f glRasterPos4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4fv(Single* v);
-            internal unsafe static RasterPos4fv glRasterPos4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static RasterPos4i glRasterPos4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4iv(Int32* v);
-            internal unsafe static RasterPos4iv glRasterPos4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static RasterPos4s glRasterPos4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4sv(Int16* v);
-            internal unsafe static RasterPos4sv glRasterPos4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReadBuffer(OpenTK.Graphics.ReadBufferMode mode);
-            internal static ReadBuffer glReadBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReadInstrumentsSGIX(Int32 marker);
-            internal static ReadInstrumentsSGIX glReadInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, [Out] IntPtr pixels);
-            internal static ReadPixels glReadPixels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rectd(Double x1, Double y1, Double x2, Double y2);
-            internal static Rectd glRectd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectdv(Double* v1, Double* v2);
-            internal unsafe static Rectdv glRectdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rectf(Single x1, Single y1, Single x2, Single y2);
-            internal static Rectf glRectf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectfv(Single* v1, Single* v2);
-            internal unsafe static Rectfv glRectfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2);
-            internal static Recti glRecti;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectiv(Int32* v1, Int32* v2);
-            internal unsafe static Rectiv glRectiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2);
-            internal static Rects glRects;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectsv(Int16* v1, Int16* v2);
-            internal unsafe static Rectsv glRectsv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReferencePlaneSGIX(Double* equation);
-            internal unsafe static ReferencePlaneSGIX glReferencePlaneSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorage(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorage glRenderbufferStorage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageEXT(OpenTK.Graphics.RenderbufferTarget target, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageEXT glRenderbufferStorageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageMultisample(OpenTK.Graphics.RenderbufferTarget target, Int32 samples, OpenTK.Graphics.RenderbufferStorage internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageMultisample glRenderbufferStorageMultisample;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageMultisampleCoverageNV(OpenTK.Graphics.RenderbufferTarget target, Int32 coverageSamples, Int32 colorSamples, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageMultisampleCoverageNV glRenderbufferStorageMultisampleCoverageNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageMultisampleEXT(OpenTK.Graphics.ExtFramebufferMultisample target, Int32 samples, OpenTK.Graphics.ExtFramebufferMultisample internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageMultisampleEXT glRenderbufferStorageMultisampleEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 RenderMode(OpenTK.Graphics.RenderingMode mode);
-            internal static RenderMode glRenderMode;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodePointerSUN(OpenTK.Graphics.SunTriangleList type, Int32 stride, IntPtr pointer);
-            internal static ReplacementCodePointerSUN glReplacementCodePointerSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeubSUN(Byte code);
-            internal static ReplacementCodeubSUN glReplacementCodeubSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeubvSUN(Byte* code);
-            internal unsafe static ReplacementCodeubvSUN glReplacementCodeubvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z);
-            internal static ReplacementCodeuiColor3fVertex3fSUN glReplacementCodeuiColor3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiColor3fVertex3fvSUN(UInt32* rc, Single* c, Single* v);
-            internal unsafe static ReplacementCodeuiColor3fVertex3fvSUN glReplacementCodeuiColor3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiColor4fNormal3fVertex3fSUN glReplacementCodeuiColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* c, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiColor4fNormal3fVertex3fvSUN glReplacementCodeuiColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            internal static ReplacementCodeuiColor4ubVertex3fSUN glReplacementCodeuiColor4ubVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiColor4ubVertex3fvSUN(UInt32* rc, Byte* c, Single* v);
-            internal unsafe static ReplacementCodeuiColor4ubVertex3fvSUN glReplacementCodeuiColor4ubVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiNormal3fVertex3fSUN glReplacementCodeuiNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiNormal3fVertex3fvSUN(UInt32* rc, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiNormal3fVertex3fvSUN glReplacementCodeuiNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiSUN(UInt32 code);
-            internal static ReplacementCodeuiSUN glReplacementCodeuiSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* c, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z);
-            internal static ReplacementCodeuiTexCoord2fVertex3fSUN glReplacementCodeuiTexCoord2fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32* rc, Single* tc, Single* v);
-            internal unsafe static ReplacementCodeuiTexCoord2fVertex3fvSUN glReplacementCodeuiTexCoord2fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z);
-            internal static ReplacementCodeuiVertex3fSUN glReplacementCodeuiVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiVertex3fvSUN(UInt32* rc, Single* v);
-            internal unsafe static ReplacementCodeuiVertex3fvSUN glReplacementCodeuiVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuivSUN(UInt32* code);
-            internal unsafe static ReplacementCodeuivSUN glReplacementCodeuivSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeusSUN(UInt16 code);
-            internal static ReplacementCodeusSUN glReplacementCodeusSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeusvSUN(UInt16* code);
-            internal unsafe static ReplacementCodeusvSUN glReplacementCodeusvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RequestResidentProgramsNV(Int32 n, UInt32* programs);
-            internal unsafe static RequestResidentProgramsNV glRequestResidentProgramsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetHistogram(OpenTK.Graphics.Version12Deprecated target);
-            internal static ResetHistogram glResetHistogram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetHistogramEXT(OpenTK.Graphics.ExtHistogram target);
-            internal static ResetHistogramEXT glResetHistogramEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetMinmax(OpenTK.Graphics.Version12Deprecated target);
-            internal static ResetMinmax glResetMinmax;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetMinmaxEXT(OpenTK.Graphics.ExtHistogram target);
-            internal static ResetMinmaxEXT glResetMinmaxEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResizeBuffersMESA();
-            internal static ResizeBuffersMESA glResizeBuffersMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResumeTransformFeedbackNV();
-            internal static ResumeTransformFeedbackNV glResumeTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rotated(Double angle, Double x, Double y, Double z);
-            internal static Rotated glRotated;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rotatef(Single angle, Single x, Single y, Single z);
-            internal static Rotatef glRotatef;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleCoverage(Single value, bool invert);
-            internal static SampleCoverage glSampleCoverage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleCoverageARB(Single value, bool invert);
-            internal static SampleCoverageARB glSampleCoverageARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMapATI(UInt32 dst, UInt32 interp, OpenTK.Graphics.AtiFragmentShader swizzle);
-            internal static SampleMapATI glSampleMapATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMaskEXT(Single value, bool invert);
-            internal static SampleMaskEXT glSampleMaskEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMaski(UInt32 index, UInt32 mask);
-            internal static SampleMaski glSampleMaski;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMaskIndexedNV(UInt32 index, UInt32 mask);
-            internal static SampleMaskIndexedNV glSampleMaskIndexedNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMaskSGIS(Single value, bool invert);
-            internal static SampleMaskSGIS glSampleMaskSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SamplePatternEXT(OpenTK.Graphics.ExtMultisample pattern);
-            internal static SamplePatternEXT glSamplePatternEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SamplePatternSGIS(OpenTK.Graphics.SgisMultisample pattern);
-            internal static SamplePatternSGIS glSamplePatternSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Scaled(Double x, Double y, Double z);
-            internal static Scaled glScaled;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Scalef(Single x, Single y, Single z);
-            internal static Scalef glScalef;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Scissor(Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static Scissor glScissor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3b(SByte red, SByte green, SByte blue);
-            internal static SecondaryColor3b glSecondaryColor3b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3bEXT(SByte red, SByte green, SByte blue);
-            internal static SecondaryColor3bEXT glSecondaryColor3bEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3bv(SByte* v);
-            internal unsafe static SecondaryColor3bv glSecondaryColor3bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3bvEXT(SByte* v);
-            internal unsafe static SecondaryColor3bvEXT glSecondaryColor3bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3d(Double red, Double green, Double blue);
-            internal static SecondaryColor3d glSecondaryColor3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3dEXT(Double red, Double green, Double blue);
-            internal static SecondaryColor3dEXT glSecondaryColor3dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3dv(Double* v);
-            internal unsafe static SecondaryColor3dv glSecondaryColor3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3dvEXT(Double* v);
-            internal unsafe static SecondaryColor3dvEXT glSecondaryColor3dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3f(Single red, Single green, Single blue);
-            internal static SecondaryColor3f glSecondaryColor3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3fEXT(Single red, Single green, Single blue);
-            internal static SecondaryColor3fEXT glSecondaryColor3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3fv(Single* v);
-            internal unsafe static SecondaryColor3fv glSecondaryColor3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3fvEXT(Single* v);
-            internal unsafe static SecondaryColor3fvEXT glSecondaryColor3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3hNV(OpenTK.Half red, OpenTK.Half green, OpenTK.Half blue);
-            internal static SecondaryColor3hNV glSecondaryColor3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3hvNV(OpenTK.Half* v);
-            internal unsafe static SecondaryColor3hvNV glSecondaryColor3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3i(Int32 red, Int32 green, Int32 blue);
-            internal static SecondaryColor3i glSecondaryColor3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue);
-            internal static SecondaryColor3iEXT glSecondaryColor3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3iv(Int32* v);
-            internal unsafe static SecondaryColor3iv glSecondaryColor3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3ivEXT(Int32* v);
-            internal unsafe static SecondaryColor3ivEXT glSecondaryColor3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3s(Int16 red, Int16 green, Int16 blue);
-            internal static SecondaryColor3s glSecondaryColor3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue);
-            internal static SecondaryColor3sEXT glSecondaryColor3sEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3sv(Int16* v);
-            internal unsafe static SecondaryColor3sv glSecondaryColor3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3svEXT(Int16* v);
-            internal unsafe static SecondaryColor3svEXT glSecondaryColor3svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3ub(Byte red, Byte green, Byte blue);
-            internal static SecondaryColor3ub glSecondaryColor3ub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3ubEXT(Byte red, Byte green, Byte blue);
-            internal static SecondaryColor3ubEXT glSecondaryColor3ubEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3ubv(Byte* v);
-            internal unsafe static SecondaryColor3ubv glSecondaryColor3ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3ubvEXT(Byte* v);
-            internal unsafe static SecondaryColor3ubvEXT glSecondaryColor3ubvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue);
-            internal static SecondaryColor3ui glSecondaryColor3ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue);
-            internal static SecondaryColor3uiEXT glSecondaryColor3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3uiv(UInt32* v);
-            internal unsafe static SecondaryColor3uiv glSecondaryColor3uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3uivEXT(UInt32* v);
-            internal unsafe static SecondaryColor3uivEXT glSecondaryColor3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue);
-            internal static SecondaryColor3us glSecondaryColor3us;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue);
-            internal static SecondaryColor3usEXT glSecondaryColor3usEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3usv(UInt16* v);
-            internal unsafe static SecondaryColor3usv glSecondaryColor3usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3usvEXT(UInt16* v);
-            internal unsafe static SecondaryColor3usvEXT glSecondaryColor3usvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColorPointer(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer);
-            internal static SecondaryColorPointer glSecondaryColorPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColorPointerEXT(Int32 size, OpenTK.Graphics.ColorPointerType type, Int32 stride, IntPtr pointer);
-            internal static SecondaryColorPointerEXT glSecondaryColorPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColorPointerListIBM(Int32 size, OpenTK.Graphics.IbmVertexArrayLists type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static SecondaryColorPointerListIBM glSecondaryColorPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SelectBuffer(Int32 size, [Out] UInt32* buffer);
-            internal unsafe static SelectBuffer glSelectBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SelectPerfMonitorCountersAMD(UInt32 monitor, bool enable, UInt32 group, Int32 numCounters, [Out] UInt32* counterList);
-            internal unsafe static SelectPerfMonitorCountersAMD glSelectPerfMonitorCountersAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SeparableFilter2D(OpenTK.Graphics.Version12Deprecated target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column);
-            internal static SeparableFilter2D glSeparableFilter2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SeparableFilter2DEXT(OpenTK.Graphics.ExtConvolution target, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr row, IntPtr column);
-            internal static SeparableFilter2DEXT glSeparableFilter2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetFenceAPPLE(UInt32 fence);
-            internal static SetFenceAPPLE glSetFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetFenceNV(UInt32 fence, OpenTK.Graphics.NvFence condition);
-            internal static SetFenceNV glSetFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SetFragmentShaderConstantATI(UInt32 dst, Single* value);
-            internal unsafe static SetFragmentShaderConstantATI glSetFragmentShaderConstantATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetInvariantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr);
-            internal static SetInvariantEXT glSetInvariantEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetLocalConstantEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, IntPtr addr);
-            internal static SetLocalConstantEXT glSetLocalConstantEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShadeModel(OpenTK.Graphics.ShadingModel mode);
-            internal static ShadeModel glShadeModel;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShaderOp1EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1);
-            internal static ShaderOp1EXT glShaderOp1EXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShaderOp2EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2);
-            internal static ShaderOp2EXT glShaderOp2EXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShaderOp3EXT(OpenTK.Graphics.ExtVertexShader op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3);
-            internal static ShaderOp3EXT glShaderOp3EXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ShaderSource(UInt32 shader, Int32 count, String[] @string, Int32* length);
-            internal unsafe static ShaderSource glShaderSource;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ShaderSourceARB(UInt32 shaderObj, Int32 count, String[] @string, Int32* length);
-            internal unsafe static ShaderSourceARB glShaderSourceARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SharpenTexFuncSGIS(OpenTK.Graphics.TextureTarget target, Int32 n, Single* points);
-            internal unsafe static SharpenTexFuncSGIS glSharpenTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SpriteParameterfSGIX(OpenTK.Graphics.SgixSprite pname, Single param);
-            internal static SpriteParameterfSGIX glSpriteParameterfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SpriteParameterfvSGIX(OpenTK.Graphics.SgixSprite pname, Single* @params);
-            internal unsafe static SpriteParameterfvSGIX glSpriteParameterfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SpriteParameteriSGIX(OpenTK.Graphics.SgixSprite pname, Int32 param);
-            internal static SpriteParameteriSGIX glSpriteParameteriSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SpriteParameterivSGIX(OpenTK.Graphics.SgixSprite pname, Int32* @params);
-            internal unsafe static SpriteParameterivSGIX glSpriteParameterivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StartInstrumentsSGIX();
-            internal static StartInstrumentsSGIX glStartInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag);
-            internal static StencilClearTagEXT glStencilClearTagEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilFunc(OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask);
-            internal static StencilFunc glStencilFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilFuncSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilFunction func, Int32 @ref, UInt32 mask);
-            internal static StencilFuncSeparate glStencilFuncSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilFuncSeparateATI(OpenTK.Graphics.StencilFunction frontfunc, OpenTK.Graphics.StencilFunction backfunc, Int32 @ref, UInt32 mask);
-            internal static StencilFuncSeparateATI glStencilFuncSeparateATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilMask(UInt32 mask);
-            internal static StencilMask glStencilMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilMaskSeparate(OpenTK.Graphics.StencilFace face, UInt32 mask);
-            internal static StencilMaskSeparate glStencilMaskSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilOp(OpenTK.Graphics.StencilOp fail, OpenTK.Graphics.StencilOp zfail, OpenTK.Graphics.StencilOp zpass);
-            internal static StencilOp glStencilOp;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilOpSeparate(OpenTK.Graphics.StencilFace face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass);
-            internal static StencilOpSeparate glStencilOpSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilOpSeparateATI(OpenTK.Graphics.AtiSeparateStencil face, OpenTK.Graphics.StencilOp sfail, OpenTK.Graphics.StencilOp dpfail, OpenTK.Graphics.StencilOp dppass);
-            internal static StencilOpSeparateATI glStencilOpSeparateATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StopInstrumentsSGIX(Int32 marker);
-            internal static StopInstrumentsSGIX glStopInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StringMarkerGREMEDY(Int32 len, IntPtr @string);
-            internal static StringMarkerGREMEDY glStringMarkerGREMEDY;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SwizzleEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW);
-            internal static SwizzleEXT glSwizzleEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TagSampleBufferSGIX();
-            internal static TagSampleBufferSGIX glTagSampleBufferSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3bEXT(SByte tx, SByte ty, SByte tz);
-            internal static Tangent3bEXT glTangent3bEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3bvEXT(SByte* v);
-            internal unsafe static Tangent3bvEXT glTangent3bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3dEXT(Double tx, Double ty, Double tz);
-            internal static Tangent3dEXT glTangent3dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3dvEXT(Double* v);
-            internal unsafe static Tangent3dvEXT glTangent3dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3fEXT(Single tx, Single ty, Single tz);
-            internal static Tangent3fEXT glTangent3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3fvEXT(Single* v);
-            internal unsafe static Tangent3fvEXT glTangent3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3iEXT(Int32 tx, Int32 ty, Int32 tz);
-            internal static Tangent3iEXT glTangent3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3ivEXT(Int32* v);
-            internal unsafe static Tangent3ivEXT glTangent3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3sEXT(Int16 tx, Int16 ty, Int16 tz);
-            internal static Tangent3sEXT glTangent3sEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3svEXT(Int16* v);
-            internal unsafe static Tangent3svEXT glTangent3svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TangentPointerEXT(OpenTK.Graphics.NormalPointerType type, Int32 stride, IntPtr pointer);
-            internal static TangentPointerEXT glTangentPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TbufferMask3DFX(UInt32 mask);
-            internal static TbufferMask3DFX glTbufferMask3DFX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessellationFactorAMD(Single factor);
-            internal static TessellationFactorAMD glTessellationFactorAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessellationModeAMD(OpenTK.Graphics.AmdVertexShaderTesselator mode);
-            internal static TessellationModeAMD glTessellationModeAMD;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool TestFenceAPPLE(UInt32 fence);
-            internal static TestFenceAPPLE glTestFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool TestFenceNV(UInt32 fence);
-            internal static TestFenceNV glTestFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool TestObjectAPPLE(OpenTK.Graphics.AppleFence @object, UInt32 name);
-            internal static TestObjectAPPLE glTestObjectAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexBuffer(OpenTK.Graphics.TextureBufferTarget target, OpenTK.Graphics.SizedInternalFormat internalformat, UInt32 buffer);
-            internal static TexBuffer glTexBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexBufferARB(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ArbTextureBufferObject internalformat, UInt32 buffer);
-            internal static TexBufferARB glTexBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexBufferEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtTextureBufferObject internalformat, UInt32 buffer);
-            internal static TexBufferEXT glTexBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexBumpParameterfvATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Single* param);
-            internal unsafe static TexBumpParameterfvATI glTexBumpParameterfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexBumpParameterivATI(OpenTK.Graphics.AtiEnvmapBumpmap pname, Int32* param);
-            internal unsafe static TexBumpParameterivATI glTexBumpParameterivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1d(Double s);
-            internal static TexCoord1d glTexCoord1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1dv(Double* v);
-            internal unsafe static TexCoord1dv glTexCoord1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1f(Single s);
-            internal static TexCoord1f glTexCoord1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1fv(Single* v);
-            internal unsafe static TexCoord1fv glTexCoord1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1hNV(OpenTK.Half s);
-            internal static TexCoord1hNV glTexCoord1hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1hvNV(OpenTK.Half* v);
-            internal unsafe static TexCoord1hvNV glTexCoord1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1i(Int32 s);
-            internal static TexCoord1i glTexCoord1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1iv(Int32* v);
-            internal unsafe static TexCoord1iv glTexCoord1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1s(Int16 s);
-            internal static TexCoord1s glTexCoord1s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1sv(Int16* v);
-            internal unsafe static TexCoord1sv glTexCoord1sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2d(Double s, Double t);
-            internal static TexCoord2d glTexCoord2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2dv(Double* v);
-            internal unsafe static TexCoord2dv glTexCoord2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2f(Single s, Single t);
-            internal static TexCoord2f glTexCoord2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z);
-            internal static TexCoord2fColor3fVertex3fSUN glTexCoord2fColor3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fColor3fVertex3fvSUN(Single* tc, Single* c, Single* v);
-            internal unsafe static TexCoord2fColor3fVertex3fvSUN glTexCoord2fColor3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static TexCoord2fColor4fNormal3fVertex3fSUN glTexCoord2fColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fColor4fNormal3fVertex3fvSUN(Single* tc, Single* c, Single* n, Single* v);
-            internal unsafe static TexCoord2fColor4fNormal3fVertex3fvSUN glTexCoord2fColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            internal static TexCoord2fColor4ubVertex3fSUN glTexCoord2fColor4ubVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fColor4ubVertex3fvSUN(Single* tc, Byte* c, Single* v);
-            internal unsafe static TexCoord2fColor4ubVertex3fvSUN glTexCoord2fColor4ubVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static TexCoord2fNormal3fVertex3fSUN glTexCoord2fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fNormal3fVertex3fvSUN(Single* tc, Single* n, Single* v);
-            internal unsafe static TexCoord2fNormal3fVertex3fvSUN glTexCoord2fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fv(Single* v);
-            internal unsafe static TexCoord2fv glTexCoord2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z);
-            internal static TexCoord2fVertex3fSUN glTexCoord2fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fVertex3fvSUN(Single* tc, Single* v);
-            internal unsafe static TexCoord2fVertex3fvSUN glTexCoord2fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2hNV(OpenTK.Half s, OpenTK.Half t);
-            internal static TexCoord2hNV glTexCoord2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2hvNV(OpenTK.Half* v);
-            internal unsafe static TexCoord2hvNV glTexCoord2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2i(Int32 s, Int32 t);
-            internal static TexCoord2i glTexCoord2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2iv(Int32* v);
-            internal unsafe static TexCoord2iv glTexCoord2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2s(Int16 s, Int16 t);
-            internal static TexCoord2s glTexCoord2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2sv(Int16* v);
-            internal unsafe static TexCoord2sv glTexCoord2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3d(Double s, Double t, Double r);
-            internal static TexCoord3d glTexCoord3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3dv(Double* v);
-            internal unsafe static TexCoord3dv glTexCoord3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3f(Single s, Single t, Single r);
-            internal static TexCoord3f glTexCoord3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3fv(Single* v);
-            internal unsafe static TexCoord3fv glTexCoord3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r);
-            internal static TexCoord3hNV glTexCoord3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3hvNV(OpenTK.Half* v);
-            internal unsafe static TexCoord3hvNV glTexCoord3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3i(Int32 s, Int32 t, Int32 r);
-            internal static TexCoord3i glTexCoord3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3iv(Int32* v);
-            internal unsafe static TexCoord3iv glTexCoord3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3s(Int16 s, Int16 t, Int16 r);
-            internal static TexCoord3s glTexCoord3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3sv(Int16* v);
-            internal unsafe static TexCoord3sv glTexCoord3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4d(Double s, Double t, Double r, Double q);
-            internal static TexCoord4d glTexCoord4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4dv(Double* v);
-            internal unsafe static TexCoord4dv glTexCoord4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4f(Single s, Single t, Single r, Single q);
-            internal static TexCoord4f glTexCoord4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w);
-            internal static TexCoord4fColor4fNormal3fVertex4fSUN glTexCoord4fColor4fNormal3fVertex4fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4fColor4fNormal3fVertex4fvSUN(Single* tc, Single* c, Single* n, Single* v);
-            internal unsafe static TexCoord4fColor4fNormal3fVertex4fvSUN glTexCoord4fColor4fNormal3fVertex4fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4fv(Single* v);
-            internal unsafe static TexCoord4fv glTexCoord4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w);
-            internal static TexCoord4fVertex4fSUN glTexCoord4fVertex4fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4fVertex4fvSUN(Single* tc, Single* v);
-            internal unsafe static TexCoord4fVertex4fvSUN glTexCoord4fVertex4fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4hNV(OpenTK.Half s, OpenTK.Half t, OpenTK.Half r, OpenTK.Half q);
-            internal static TexCoord4hNV glTexCoord4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4hvNV(OpenTK.Half* v);
-            internal unsafe static TexCoord4hvNV glTexCoord4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q);
-            internal static TexCoord4i glTexCoord4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4iv(Int32* v);
-            internal unsafe static TexCoord4iv glTexCoord4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q);
-            internal static TexCoord4s glTexCoord4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4sv(Int16* v);
-            internal unsafe static TexCoord4sv glTexCoord4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointer(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer);
-            internal static TexCoordPointer glTexCoordPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointerEXT(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static TexCoordPointerEXT glTexCoordPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointerListIBM(Int32 size, OpenTK.Graphics.TexCoordPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static TexCoordPointerListIBM glTexCoordPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer);
-            internal static TexCoordPointervINTEL glTexCoordPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexEnvf(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single param);
-            internal static TexEnvf glTexEnvf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexEnvfv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Single* @params);
-            internal unsafe static TexEnvfv glTexEnvfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexEnvi(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32 param);
-            internal static TexEnvi glTexEnvi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexEnviv(OpenTK.Graphics.TextureEnvTarget target, OpenTK.Graphics.TextureEnvParameter pname, Int32* @params);
-            internal unsafe static TexEnviv glTexEnviv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexFilterFuncSGIS(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.SgisTextureFilter4 filter, Int32 n, Single* weights);
-            internal unsafe static TexFilterFuncSGIS glTexFilterFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexGend(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double param);
-            internal static TexGend glTexGend;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexGendv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Double* @params);
-            internal unsafe static TexGendv glTexGendv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexGenf(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single param);
-            internal static TexGenf glTexGenf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexGenfv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Single* @params);
-            internal unsafe static TexGenfv glTexGenfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexGeni(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32 param);
-            internal static TexGeni glTexGeni;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexGeniv(OpenTK.Graphics.TextureCoordName coord, OpenTK.Graphics.TextureGenParameter pname, Int32* @params);
-            internal unsafe static TexGeniv glTexGeniv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexImage1D glTexImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexImage2D glTexImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage2DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, bool fixedsamplelocations);
-            internal static TexImage2DMultisample glTexImage2DMultisample;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexImage3D glTexImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexImage3DEXT glTexImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage3DMultisample(OpenTK.Graphics.ArbTextureMultisample target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, bool fixedsamplelocations);
-            internal static TexImage3DMultisample glTexImage3DMultisample;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.PixelInternalFormat internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexImage4DSGIS glTexImage4DSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexParameterf(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param);
-            internal static TexParameterf glTexParameterf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterfv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params);
-            internal unsafe static TexParameterfv glTexParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexParameteri(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param);
-            internal static TexParameteri glTexParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterIiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static TexParameterIiv glTexParameterIiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterIivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static TexParameterIivEXT glTexParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterIuiv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            internal unsafe static TexParameterIuiv glTexParameterIuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterIuivEXT(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            internal unsafe static TexParameterIuivEXT glTexParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameteriv(OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static TexParameteriv glTexParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexRenderbufferNV(OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer);
-            internal static TexRenderbufferNV glTexRenderbufferNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage1D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage1D glTexSubImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage1DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage1DEXT glTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage2D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage2D glTexSubImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage2DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage2DEXT glTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage3D(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage3D glTexSubImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage3DEXT(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage3DEXT glTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage4DSGIS(OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TexSubImage4DSGIS glTexSubImage4DSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureBufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.ExtDirectStateAccess internalformat, UInt32 buffer);
-            internal static TextureBufferEXT glTextureBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureColorMaskSGIS(bool red, bool green, bool blue, bool alpha);
-            internal static TextureColorMaskSGIS glTextureColorMaskSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TextureImage1DEXT glTextureImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TextureImage2DEXT glTextureImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, OpenTK.Graphics.ExtDirectStateAccess internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TextureImage3DEXT glTextureImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureLightEXT(OpenTK.Graphics.ExtLightTexture pname);
-            internal static TextureLightEXT glTextureLightEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureMaterialEXT(OpenTK.Graphics.MaterialFace face, OpenTK.Graphics.MaterialParameter mode);
-            internal static TextureMaterialEXT glTextureMaterialEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureNormalEXT(OpenTK.Graphics.ExtTexturePerturbNormal mode);
-            internal static TextureNormalEXT glTextureNormalEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureParameterfEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single param);
-            internal static TextureParameterfEXT glTextureParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TextureParameterfvEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Single* @params);
-            internal unsafe static TextureParameterfvEXT glTextureParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureParameteriEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32 param);
-            internal static TextureParameteriEXT glTextureParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TextureParameterIivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static TextureParameterIivEXT glTextureParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TextureParameterIuivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, UInt32* @params);
-            internal unsafe static TextureParameterIuivEXT glTextureParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TextureParameterivEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, OpenTK.Graphics.TextureParameterName pname, Int32* @params);
-            internal unsafe static TextureParameterivEXT glTextureParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureRangeAPPLE(OpenTK.Graphics.AppleTextureRange target, Int32 length, IntPtr pointer);
-            internal static TextureRangeAPPLE glTextureRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureRenderbufferEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, UInt32 renderbuffer);
-            internal static TextureRenderbufferEXT glTextureRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureSubImage1DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 width, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TextureSubImage1DEXT glTextureSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureSubImage2DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TextureSubImage2DEXT glTextureSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureSubImage3DEXT(UInt32 texture, OpenTK.Graphics.TextureTarget target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, OpenTK.Graphics.PixelFormat format, OpenTK.Graphics.PixelType type, IntPtr pixels);
-            internal static TextureSubImage3DEXT glTextureSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TrackMatrixNV(OpenTK.Graphics.AssemblyProgramTargetArb target, UInt32 address, OpenTK.Graphics.NvVertexProgram matrix, OpenTK.Graphics.NvVertexProgram transform);
-            internal static TrackMatrixNV glTrackMatrixNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TransformFeedbackAttribsNV(UInt32 count, Int32* attribs, OpenTK.Graphics.NvTransformFeedback bufferMode);
-            internal unsafe static TransformFeedbackAttribsNV glTransformFeedbackAttribsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TransformFeedbackVaryings(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.TransformFeedbackMode bufferMode);
-            internal static TransformFeedbackVaryings glTransformFeedbackVaryings;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TransformFeedbackVaryingsEXT(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.ExtTransformFeedback bufferMode);
-            internal static TransformFeedbackVaryingsEXT glTransformFeedbackVaryingsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, String[] varyings, OpenTK.Graphics.NvTransformFeedback bufferMode);
-            internal static TransformFeedbackVaryingsNV glTransformFeedbackVaryingsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Translated(Double x, Double y, Double z);
-            internal static Translated glTranslated;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Translatef(Single x, Single y, Single z);
-            internal static Translatef glTranslatef;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1f(Int32 location, Single v0);
-            internal static Uniform1f glUniform1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1fARB(Int32 location, Single v0);
-            internal static Uniform1fARB glUniform1fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform1fv glUniform1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform1fvARB glUniform1fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1i(Int32 location, Int32 v0);
-            internal static Uniform1i glUniform1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1iARB(Int32 location, Int32 v0);
-            internal static Uniform1iARB glUniform1iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform1iv glUniform1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform1ivARB glUniform1ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1ui(Int32 location, UInt32 v0);
-            internal static Uniform1ui glUniform1ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1uiEXT(Int32 location, UInt32 v0);
-            internal static Uniform1uiEXT glUniform1uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1uiv(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform1uiv glUniform1uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform1uivEXT glUniform1uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2f(Int32 location, Single v0, Single v1);
-            internal static Uniform2f glUniform2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2fARB(Int32 location, Single v0, Single v1);
-            internal static Uniform2fARB glUniform2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform2fv glUniform2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform2fvARB glUniform2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2i(Int32 location, Int32 v0, Int32 v1);
-            internal static Uniform2i glUniform2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2iARB(Int32 location, Int32 v0, Int32 v1);
-            internal static Uniform2iARB glUniform2iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform2iv glUniform2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform2ivARB glUniform2ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2ui(Int32 location, UInt32 v0, UInt32 v1);
-            internal static Uniform2ui glUniform2ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1);
-            internal static Uniform2uiEXT glUniform2uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2uiv(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform2uiv glUniform2uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform2uivEXT glUniform2uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3f(Int32 location, Single v0, Single v1, Single v2);
-            internal static Uniform3f glUniform3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3fARB(Int32 location, Single v0, Single v1, Single v2);
-            internal static Uniform3fARB glUniform3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform3fv glUniform3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform3fvARB glUniform3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            internal static Uniform3i glUniform3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            internal static Uniform3iARB glUniform3iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform3iv glUniform3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform3ivARB glUniform3ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            internal static Uniform3ui glUniform3ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            internal static Uniform3uiEXT glUniform3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3uiv(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform3uiv glUniform3uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform3uivEXT glUniform3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            internal static Uniform4f glUniform4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            internal static Uniform4fARB glUniform4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform4fv glUniform4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform4fvARB glUniform4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            internal static Uniform4i glUniform4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            internal static Uniform4iARB glUniform4iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform4iv glUniform4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform4ivARB glUniform4ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            internal static Uniform4ui glUniform4ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            internal static Uniform4uiEXT glUniform4uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4uiv(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform4uiv glUniform4uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform4uivEXT glUniform4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding);
-            internal static UniformBlockBinding glUniformBlockBinding;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer);
-            internal static UniformBufferEXT glUniformBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix2fv glUniformMatrix2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2fvARB(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix2fvARB glUniformMatrix2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2x3fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix2x3fv glUniformMatrix2x3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2x4fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix2x4fv glUniformMatrix2x4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix3fv glUniformMatrix3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3fvARB(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix3fvARB glUniformMatrix3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3x2fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix3x2fv glUniformMatrix3x2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3x4fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix3x4fv glUniformMatrix3x4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix4fv glUniformMatrix4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4fvARB(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix4fvARB glUniformMatrix4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4x2fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix4x2fv glUniformMatrix4x2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4x3fv(Int32 location, Int32 count, bool transpose, Single* value);
-            internal unsafe static UniformMatrix4x3fv glUniformMatrix4x3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UnlockArraysEXT();
-            internal static UnlockArraysEXT glUnlockArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool UnmapBuffer(OpenTK.Graphics.BufferTarget target);
-            internal static UnmapBuffer glUnmapBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool UnmapBufferARB(OpenTK.Graphics.BufferTargetArb target);
-            internal static UnmapBufferARB glUnmapBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate bool UnmapNamedBufferEXT(UInt32 buffer);
-            internal static UnmapNamedBufferEXT glUnmapNamedBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UnmapObjectBufferATI(UInt32 buffer);
-            internal static UnmapObjectBufferATI glUnmapObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, OpenTK.Graphics.AtiVertexArrayObject preserve);
-            internal static UpdateObjectBufferATI glUpdateObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UseProgram(UInt32 program);
-            internal static UseProgram glUseProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UseProgramObjectARB(UInt32 programObj);
-            internal static UseProgramObjectARB glUseProgramObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ValidateProgram(UInt32 program);
-            internal static ValidateProgram glValidateProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ValidateProgramARB(UInt32 programObj);
-            internal static ValidateProgramARB glValidateProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VariantArrayObjectATI(UInt32 id, OpenTK.Graphics.AtiVertexArrayObject type, Int32 stride, UInt32 buffer, UInt32 offset);
-            internal static VariantArrayObjectATI glVariantArrayObjectATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantbvEXT(UInt32 id, SByte* addr);
-            internal unsafe static VariantbvEXT glVariantbvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantdvEXT(UInt32 id, Double* addr);
-            internal unsafe static VariantdvEXT glVariantdvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantfvEXT(UInt32 id, Single* addr);
-            internal unsafe static VariantfvEXT glVariantfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantivEXT(UInt32 id, Int32* addr);
-            internal unsafe static VariantivEXT glVariantivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VariantPointerEXT(UInt32 id, OpenTK.Graphics.ExtVertexShader type, UInt32 stride, IntPtr addr);
-            internal static VariantPointerEXT glVariantPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantsvEXT(UInt32 id, Int16* addr);
-            internal unsafe static VariantsvEXT glVariantsvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantubvEXT(UInt32 id, Byte* addr);
-            internal unsafe static VariantubvEXT glVariantubvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantuivEXT(UInt32 id, UInt32* addr);
-            internal unsafe static VariantuivEXT glVariantuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantusvEXT(UInt32 id, UInt16* addr);
-            internal unsafe static VariantusvEXT glVariantusvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2d(Double x, Double y);
-            internal static Vertex2d glVertex2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2dv(Double* v);
-            internal unsafe static Vertex2dv glVertex2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2f(Single x, Single y);
-            internal static Vertex2f glVertex2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2fv(Single* v);
-            internal unsafe static Vertex2fv glVertex2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2hNV(OpenTK.Half x, OpenTK.Half y);
-            internal static Vertex2hNV glVertex2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2hvNV(OpenTK.Half* v);
-            internal unsafe static Vertex2hvNV glVertex2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2i(Int32 x, Int32 y);
-            internal static Vertex2i glVertex2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2iv(Int32* v);
-            internal unsafe static Vertex2iv glVertex2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2s(Int16 x, Int16 y);
-            internal static Vertex2s glVertex2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2sv(Int16* v);
-            internal unsafe static Vertex2sv glVertex2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3d(Double x, Double y, Double z);
-            internal static Vertex3d glVertex3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3dv(Double* v);
-            internal unsafe static Vertex3dv glVertex3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3f(Single x, Single y, Single z);
-            internal static Vertex3f glVertex3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3fv(Single* v);
-            internal unsafe static Vertex3fv glVertex3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z);
-            internal static Vertex3hNV glVertex3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3hvNV(OpenTK.Half* v);
-            internal unsafe static Vertex3hvNV glVertex3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3i(Int32 x, Int32 y, Int32 z);
-            internal static Vertex3i glVertex3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3iv(Int32* v);
-            internal unsafe static Vertex3iv glVertex3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3s(Int16 x, Int16 y, Int16 z);
-            internal static Vertex3s glVertex3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3sv(Int16* v);
-            internal unsafe static Vertex3sv glVertex3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4d(Double x, Double y, Double z, Double w);
-            internal static Vertex4d glVertex4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4dv(Double* v);
-            internal unsafe static Vertex4dv glVertex4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4f(Single x, Single y, Single z, Single w);
-            internal static Vertex4f glVertex4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4fv(Single* v);
-            internal unsafe static Vertex4fv glVertex4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4hNV(OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w);
-            internal static Vertex4hNV glVertex4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4hvNV(OpenTK.Half* v);
-            internal unsafe static Vertex4hvNV glVertex4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static Vertex4i glVertex4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4iv(Int32* v);
-            internal unsafe static Vertex4iv glVertex4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static Vertex4s glVertex4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4sv(Int16* v);
-            internal unsafe static Vertex4sv glVertex4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexArrayParameteriAPPLE(OpenTK.Graphics.AppleVertexArrayRange pname, Int32 param);
-            internal static VertexArrayParameteriAPPLE glVertexArrayParameteriAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer);
-            internal static VertexArrayRangeAPPLE glVertexArrayRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexArrayRangeNV(Int32 length, IntPtr pointer);
-            internal static VertexArrayRangeNV glVertexArrayRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1d(UInt32 index, Double x);
-            internal static VertexAttrib1d glVertexAttrib1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1dARB(UInt32 index, Double x);
-            internal static VertexAttrib1dARB glVertexAttrib1dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1dNV(UInt32 index, Double x);
-            internal static VertexAttrib1dNV glVertexAttrib1dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib1dv glVertexAttrib1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib1dvARB glVertexAttrib1dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib1dvNV glVertexAttrib1dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1f(UInt32 index, Single x);
-            internal static VertexAttrib1f glVertexAttrib1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1fARB(UInt32 index, Single x);
-            internal static VertexAttrib1fARB glVertexAttrib1fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1fNV(UInt32 index, Single x);
-            internal static VertexAttrib1fNV glVertexAttrib1fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib1fv glVertexAttrib1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib1fvARB glVertexAttrib1fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib1fvNV glVertexAttrib1fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1hNV(UInt32 index, OpenTK.Half x);
-            internal static VertexAttrib1hNV glVertexAttrib1hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1hvNV(UInt32 index, OpenTK.Half* v);
-            internal unsafe static VertexAttrib1hvNV glVertexAttrib1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1s(UInt32 index, Int16 x);
-            internal static VertexAttrib1s glVertexAttrib1s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1sARB(UInt32 index, Int16 x);
-            internal static VertexAttrib1sARB glVertexAttrib1sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1sNV(UInt32 index, Int16 x);
-            internal static VertexAttrib1sNV glVertexAttrib1sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib1sv glVertexAttrib1sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib1svARB glVertexAttrib1svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib1svNV glVertexAttrib1svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2d(UInt32 index, Double x, Double y);
-            internal static VertexAttrib2d glVertexAttrib2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2dARB(UInt32 index, Double x, Double y);
-            internal static VertexAttrib2dARB glVertexAttrib2dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2dNV(UInt32 index, Double x, Double y);
-            internal static VertexAttrib2dNV glVertexAttrib2dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib2dv glVertexAttrib2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib2dvARB glVertexAttrib2dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib2dvNV glVertexAttrib2dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2f(UInt32 index, Single x, Single y);
-            internal static VertexAttrib2f glVertexAttrib2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2fARB(UInt32 index, Single x, Single y);
-            internal static VertexAttrib2fARB glVertexAttrib2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2fNV(UInt32 index, Single x, Single y);
-            internal static VertexAttrib2fNV glVertexAttrib2fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib2fv glVertexAttrib2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib2fvARB glVertexAttrib2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib2fvNV glVertexAttrib2fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y);
-            internal static VertexAttrib2hNV glVertexAttrib2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2hvNV(UInt32 index, OpenTK.Half* v);
-            internal unsafe static VertexAttrib2hvNV glVertexAttrib2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2s(UInt32 index, Int16 x, Int16 y);
-            internal static VertexAttrib2s glVertexAttrib2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2sARB(UInt32 index, Int16 x, Int16 y);
-            internal static VertexAttrib2sARB glVertexAttrib2sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2sNV(UInt32 index, Int16 x, Int16 y);
-            internal static VertexAttrib2sNV glVertexAttrib2sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib2sv glVertexAttrib2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib2svARB glVertexAttrib2svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib2svNV glVertexAttrib2svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3d(UInt32 index, Double x, Double y, Double z);
-            internal static VertexAttrib3d glVertexAttrib3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3dARB(UInt32 index, Double x, Double y, Double z);
-            internal static VertexAttrib3dARB glVertexAttrib3dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3dNV(UInt32 index, Double x, Double y, Double z);
-            internal static VertexAttrib3dNV glVertexAttrib3dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib3dv glVertexAttrib3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib3dvARB glVertexAttrib3dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib3dvNV glVertexAttrib3dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3f(UInt32 index, Single x, Single y, Single z);
-            internal static VertexAttrib3f glVertexAttrib3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3fARB(UInt32 index, Single x, Single y, Single z);
-            internal static VertexAttrib3fARB glVertexAttrib3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3fNV(UInt32 index, Single x, Single y, Single z);
-            internal static VertexAttrib3fNV glVertexAttrib3fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib3fv glVertexAttrib3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib3fvARB glVertexAttrib3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib3fvNV glVertexAttrib3fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z);
-            internal static VertexAttrib3hNV glVertexAttrib3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3hvNV(UInt32 index, OpenTK.Half* v);
-            internal unsafe static VertexAttrib3hvNV glVertexAttrib3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z);
-            internal static VertexAttrib3s glVertexAttrib3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z);
-            internal static VertexAttrib3sARB glVertexAttrib3sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z);
-            internal static VertexAttrib3sNV glVertexAttrib3sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib3sv glVertexAttrib3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib3svARB glVertexAttrib3svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib3svNV glVertexAttrib3svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4bv(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4bv glVertexAttrib4bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4bvARB(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4bvARB glVertexAttrib4bvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w);
-            internal static VertexAttrib4d glVertexAttrib4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w);
-            internal static VertexAttrib4dARB glVertexAttrib4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w);
-            internal static VertexAttrib4dNV glVertexAttrib4dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib4dv glVertexAttrib4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib4dvARB glVertexAttrib4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib4dvNV glVertexAttrib4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w);
-            internal static VertexAttrib4f glVertexAttrib4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w);
-            internal static VertexAttrib4fARB glVertexAttrib4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w);
-            internal static VertexAttrib4fNV glVertexAttrib4fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib4fv glVertexAttrib4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib4fvARB glVertexAttrib4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib4fvNV glVertexAttrib4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4hNV(UInt32 index, OpenTK.Half x, OpenTK.Half y, OpenTK.Half z, OpenTK.Half w);
-            internal static VertexAttrib4hNV glVertexAttrib4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4hvNV(UInt32 index, OpenTK.Half* v);
-            internal unsafe static VertexAttrib4hvNV glVertexAttrib4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4iv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4iv glVertexAttrib4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ivARB(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4ivARB glVertexAttrib4ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nbv(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4Nbv glVertexAttrib4Nbv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NbvARB(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4NbvARB glVertexAttrib4NbvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Niv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4Niv glVertexAttrib4Niv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NivARB(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4NivARB glVertexAttrib4NivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nsv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4Nsv glVertexAttrib4Nsv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NsvARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4NsvARB glVertexAttrib4NsvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            internal static VertexAttrib4Nub glVertexAttrib4Nub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            internal static VertexAttrib4NubARB glVertexAttrib4NubARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nubv(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4Nubv glVertexAttrib4Nubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NubvARB(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4NubvARB glVertexAttrib4NubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nuiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4Nuiv glVertexAttrib4Nuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NuivARB(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4NuivARB glVertexAttrib4NuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nusv(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4Nusv glVertexAttrib4Nusv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NusvARB(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4NusvARB glVertexAttrib4NusvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexAttrib4s glVertexAttrib4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexAttrib4sARB glVertexAttrib4sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexAttrib4sNV glVertexAttrib4sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4sv glVertexAttrib4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4svARB glVertexAttrib4svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4svNV glVertexAttrib4svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            internal static VertexAttrib4ubNV glVertexAttrib4ubNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ubv(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4ubv glVertexAttrib4ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ubvARB(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4ubvARB glVertexAttrib4ubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ubvNV(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4ubvNV glVertexAttrib4ubvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4uiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4uiv glVertexAttrib4uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4uivARB(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4uivARB glVertexAttrib4uivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4usv(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4usv glVertexAttrib4usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4usvARB(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4usvARB glVertexAttrib4usvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribArrayObjectATI(UInt32 index, Int32 size, OpenTK.Graphics.AtiVertexAttribArrayObject type, bool normalized, Int32 stride, UInt32 buffer, UInt32 offset);
-            internal static VertexAttribArrayObjectATI glVertexAttribArrayObjectATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribDivisorARB(UInt32 index, UInt32 divisor);
-            internal static VertexAttribDivisorARB glVertexAttribDivisorARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI1i(UInt32 index, Int32 x);
-            internal static VertexAttribI1i glVertexAttribI1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI1iEXT(UInt32 index, Int32 x);
-            internal static VertexAttribI1iEXT glVertexAttribI1iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI1iv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI1iv glVertexAttribI1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI1ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI1ivEXT glVertexAttribI1ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI1ui(UInt32 index, UInt32 x);
-            internal static VertexAttribI1ui glVertexAttribI1ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI1uiEXT(UInt32 index, UInt32 x);
-            internal static VertexAttribI1uiEXT glVertexAttribI1uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI1uiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI1uiv glVertexAttribI1uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI1uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI1uivEXT glVertexAttribI1uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI2i(UInt32 index, Int32 x, Int32 y);
-            internal static VertexAttribI2i glVertexAttribI2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y);
-            internal static VertexAttribI2iEXT glVertexAttribI2iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI2iv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI2iv glVertexAttribI2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI2ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI2ivEXT glVertexAttribI2ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI2ui(UInt32 index, UInt32 x, UInt32 y);
-            internal static VertexAttribI2ui glVertexAttribI2ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y);
-            internal static VertexAttribI2uiEXT glVertexAttribI2uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI2uiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI2uiv glVertexAttribI2uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI2uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI2uivEXT glVertexAttribI2uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI3i(UInt32 index, Int32 x, Int32 y, Int32 z);
-            internal static VertexAttribI3i glVertexAttribI3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z);
-            internal static VertexAttribI3iEXT glVertexAttribI3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI3iv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI3iv glVertexAttribI3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI3ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI3ivEXT glVertexAttribI3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI3ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z);
-            internal static VertexAttribI3ui glVertexAttribI3ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z);
-            internal static VertexAttribI3uiEXT glVertexAttribI3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI3uiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI3uiv glVertexAttribI3uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI3uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI3uivEXT glVertexAttribI3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4bv(UInt32 index, SByte* v);
-            internal unsafe static VertexAttribI4bv glVertexAttribI4bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4bvEXT(UInt32 index, SByte* v);
-            internal unsafe static VertexAttribI4bvEXT glVertexAttribI4bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI4i(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static VertexAttribI4i glVertexAttribI4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static VertexAttribI4iEXT glVertexAttribI4iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4iv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI4iv glVertexAttribI4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI4ivEXT glVertexAttribI4ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttribI4sv glVertexAttribI4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4svEXT(UInt32 index, Int16* v);
-            internal unsafe static VertexAttribI4svEXT glVertexAttribI4svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4ubv(UInt32 index, Byte* v);
-            internal unsafe static VertexAttribI4ubv glVertexAttribI4ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4ubvEXT(UInt32 index, Byte* v);
-            internal unsafe static VertexAttribI4ubvEXT glVertexAttribI4ubvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI4ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static VertexAttribI4ui glVertexAttribI4ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static VertexAttribI4uiEXT glVertexAttribI4uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4uiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI4uiv glVertexAttribI4uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI4uivEXT glVertexAttribI4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4usv(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttribI4usv glVertexAttribI4usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4usvEXT(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttribI4usvEXT glVertexAttribI4usvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribIPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribParameter type, Int32 stride, IntPtr pointer);
-            internal static VertexAttribIPointer glVertexAttribIPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribIPointerEXT(UInt32 index, Int32 size, OpenTK.Graphics.NvVertexProgram4 type, Int32 stride, IntPtr pointer);
-            internal static VertexAttribIPointerEXT glVertexAttribIPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribPointer(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerType type, bool normalized, Int32 stride, IntPtr pointer);
-            internal static VertexAttribPointer glVertexAttribPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribPointerARB(UInt32 index, Int32 size, OpenTK.Graphics.VertexAttribPointerTypeArb type, bool normalized, Int32 stride, IntPtr pointer);
-            internal static VertexAttribPointerARB glVertexAttribPointerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribPointerNV(UInt32 index, Int32 fsize, OpenTK.Graphics.VertexAttribParameterArb type, Int32 stride, IntPtr pointer);
-            internal static VertexAttribPointerNV glVertexAttribPointerNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs1dvNV glVertexAttribs1dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs1fvNV glVertexAttribs1fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            internal unsafe static VertexAttribs1hvNV glVertexAttribs1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs1svNV glVertexAttribs1svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs2dvNV glVertexAttribs2dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs2fvNV glVertexAttribs2fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            internal unsafe static VertexAttribs2hvNV glVertexAttribs2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs2svNV glVertexAttribs2svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs3dvNV glVertexAttribs3dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs3fvNV glVertexAttribs3fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            internal unsafe static VertexAttribs3hvNV glVertexAttribs3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs3svNV glVertexAttribs3svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs4dvNV glVertexAttribs4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs4fvNV glVertexAttribs4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4hvNV(UInt32 index, Int32 n, OpenTK.Half* v);
-            internal unsafe static VertexAttribs4hvNV glVertexAttribs4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs4svNV glVertexAttribs4svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4ubvNV(UInt32 index, Int32 count, Byte* v);
-            internal unsafe static VertexAttribs4ubvNV glVertexAttribs4ubvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexBlendARB(Int32 count);
-            internal static VertexBlendARB glVertexBlendARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexBlendEnvfATI(OpenTK.Graphics.AtiVertexStreams pname, Single param);
-            internal static VertexBlendEnvfATI glVertexBlendEnvfATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexBlendEnviATI(OpenTK.Graphics.AtiVertexStreams pname, Int32 param);
-            internal static VertexBlendEnviATI glVertexBlendEnviATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointer(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer);
-            internal static VertexPointer glVertexPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointerEXT(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static VertexPointerEXT glVertexPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointerListIBM(Int32 size, OpenTK.Graphics.VertexPointerType type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static VertexPointerListIBM glVertexPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointervINTEL(Int32 size, OpenTK.Graphics.VertexPointerType type, IntPtr pointer);
-            internal static VertexPointervINTEL glVertexPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x);
-            internal static VertexStream1dATI glVertexStream1dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            internal unsafe static VertexStream1dvATI glVertexStream1dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x);
-            internal static VertexStream1fATI glVertexStream1fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            internal unsafe static VertexStream1fvATI glVertexStream1fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x);
-            internal static VertexStream1iATI glVertexStream1iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            internal unsafe static VertexStream1ivATI glVertexStream1ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x);
-            internal static VertexStream1sATI glVertexStream1sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            internal unsafe static VertexStream1svATI glVertexStream1svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y);
-            internal static VertexStream2dATI glVertexStream2dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            internal unsafe static VertexStream2dvATI glVertexStream2dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y);
-            internal static VertexStream2fATI glVertexStream2fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            internal unsafe static VertexStream2fvATI glVertexStream2fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y);
-            internal static VertexStream2iATI glVertexStream2iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            internal unsafe static VertexStream2ivATI glVertexStream2ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y);
-            internal static VertexStream2sATI glVertexStream2sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            internal unsafe static VertexStream2svATI glVertexStream2svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z);
-            internal static VertexStream3dATI glVertexStream3dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            internal unsafe static VertexStream3dvATI glVertexStream3dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z);
-            internal static VertexStream3fATI glVertexStream3fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            internal unsafe static VertexStream3fvATI glVertexStream3fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z);
-            internal static VertexStream3iATI glVertexStream3iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            internal unsafe static VertexStream3ivATI glVertexStream3ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z);
-            internal static VertexStream3sATI glVertexStream3sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            internal unsafe static VertexStream3svATI glVertexStream3svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4dATI(OpenTK.Graphics.AtiVertexStreams stream, Double x, Double y, Double z, Double w);
-            internal static VertexStream4dATI glVertexStream4dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4dvATI(OpenTK.Graphics.AtiVertexStreams stream, Double* coords);
-            internal unsafe static VertexStream4dvATI glVertexStream4dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4fATI(OpenTK.Graphics.AtiVertexStreams stream, Single x, Single y, Single z, Single w);
-            internal static VertexStream4fATI glVertexStream4fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4fvATI(OpenTK.Graphics.AtiVertexStreams stream, Single* coords);
-            internal unsafe static VertexStream4fvATI glVertexStream4fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4iATI(OpenTK.Graphics.AtiVertexStreams stream, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static VertexStream4iATI glVertexStream4iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4ivATI(OpenTK.Graphics.AtiVertexStreams stream, Int32* coords);
-            internal unsafe static VertexStream4ivATI glVertexStream4ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4sATI(OpenTK.Graphics.AtiVertexStreams stream, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexStream4sATI glVertexStream4sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4svATI(OpenTK.Graphics.AtiVertexStreams stream, Int16* coords);
-            internal unsafe static VertexStream4svATI glVertexStream4svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexWeightfEXT(Single weight);
-            internal static VertexWeightfEXT glVertexWeightfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexWeightfvEXT(Single* weight);
-            internal unsafe static VertexWeightfvEXT glVertexWeightfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexWeighthNV(OpenTK.Half weight);
-            internal static VertexWeighthNV glVertexWeighthNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexWeighthvNV(OpenTK.Half* weight);
-            internal unsafe static VertexWeighthvNV glVertexWeighthvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexWeightPointerEXT(Int32 size, OpenTK.Graphics.ExtVertexWeighting type, Int32 stride, IntPtr pointer);
-            internal static VertexWeightPointerEXT glVertexWeightPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Viewport(Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static Viewport glViewport;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WaitSync(IntPtr sync, UInt32 flags, UInt64 timeout);
-            internal static WaitSync glWaitSync;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightbvARB(Int32 size, SByte* weights);
-            internal unsafe static WeightbvARB glWeightbvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightdvARB(Int32 size, Double* weights);
-            internal unsafe static WeightdvARB glWeightdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightfvARB(Int32 size, Single* weights);
-            internal unsafe static WeightfvARB glWeightfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightivARB(Int32 size, Int32* weights);
-            internal unsafe static WeightivARB glWeightivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WeightPointerARB(Int32 size, OpenTK.Graphics.ArbVertexBlend type, Int32 stride, IntPtr pointer);
-            internal static WeightPointerARB glWeightPointerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightsvARB(Int32 size, Int16* weights);
-            internal unsafe static WeightsvARB glWeightsvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightubvARB(Int32 size, Byte* weights);
-            internal unsafe static WeightubvARB glWeightubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightuivARB(Int32 size, UInt32* weights);
-            internal unsafe static WeightuivARB glWeightuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightusvARB(Int32 size, UInt16* weights);
-            internal unsafe static WeightusvARB glWeightusvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2d(Double x, Double y);
-            internal static WindowPos2d glWindowPos2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2dARB(Double x, Double y);
-            internal static WindowPos2dARB glWindowPos2dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2dMESA(Double x, Double y);
-            internal static WindowPos2dMESA glWindowPos2dMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2dv(Double* v);
-            internal unsafe static WindowPos2dv glWindowPos2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2dvARB(Double* v);
-            internal unsafe static WindowPos2dvARB glWindowPos2dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2dvMESA(Double* v);
-            internal unsafe static WindowPos2dvMESA glWindowPos2dvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2f(Single x, Single y);
-            internal static WindowPos2f glWindowPos2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2fARB(Single x, Single y);
-            internal static WindowPos2fARB glWindowPos2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2fMESA(Single x, Single y);
-            internal static WindowPos2fMESA glWindowPos2fMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2fv(Single* v);
-            internal unsafe static WindowPos2fv glWindowPos2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2fvARB(Single* v);
-            internal unsafe static WindowPos2fvARB glWindowPos2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2fvMESA(Single* v);
-            internal unsafe static WindowPos2fvMESA glWindowPos2fvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2i(Int32 x, Int32 y);
-            internal static WindowPos2i glWindowPos2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2iARB(Int32 x, Int32 y);
-            internal static WindowPos2iARB glWindowPos2iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2iMESA(Int32 x, Int32 y);
-            internal static WindowPos2iMESA glWindowPos2iMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2iv(Int32* v);
-            internal unsafe static WindowPos2iv glWindowPos2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2ivARB(Int32* v);
-            internal unsafe static WindowPos2ivARB glWindowPos2ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2ivMESA(Int32* v);
-            internal unsafe static WindowPos2ivMESA glWindowPos2ivMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2s(Int16 x, Int16 y);
-            internal static WindowPos2s glWindowPos2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2sARB(Int16 x, Int16 y);
-            internal static WindowPos2sARB glWindowPos2sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2sMESA(Int16 x, Int16 y);
-            internal static WindowPos2sMESA glWindowPos2sMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2sv(Int16* v);
-            internal unsafe static WindowPos2sv glWindowPos2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2svARB(Int16* v);
-            internal unsafe static WindowPos2svARB glWindowPos2svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2svMESA(Int16* v);
-            internal unsafe static WindowPos2svMESA glWindowPos2svMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3d(Double x, Double y, Double z);
-            internal static WindowPos3d glWindowPos3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3dARB(Double x, Double y, Double z);
-            internal static WindowPos3dARB glWindowPos3dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3dMESA(Double x, Double y, Double z);
-            internal static WindowPos3dMESA glWindowPos3dMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3dv(Double* v);
-            internal unsafe static WindowPos3dv glWindowPos3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3dvARB(Double* v);
-            internal unsafe static WindowPos3dvARB glWindowPos3dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3dvMESA(Double* v);
-            internal unsafe static WindowPos3dvMESA glWindowPos3dvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3f(Single x, Single y, Single z);
-            internal static WindowPos3f glWindowPos3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3fARB(Single x, Single y, Single z);
-            internal static WindowPos3fARB glWindowPos3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3fMESA(Single x, Single y, Single z);
-            internal static WindowPos3fMESA glWindowPos3fMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3fv(Single* v);
-            internal unsafe static WindowPos3fv glWindowPos3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3fvARB(Single* v);
-            internal unsafe static WindowPos3fvARB glWindowPos3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3fvMESA(Single* v);
-            internal unsafe static WindowPos3fvMESA glWindowPos3fvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3i(Int32 x, Int32 y, Int32 z);
-            internal static WindowPos3i glWindowPos3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3iARB(Int32 x, Int32 y, Int32 z);
-            internal static WindowPos3iARB glWindowPos3iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3iMESA(Int32 x, Int32 y, Int32 z);
-            internal static WindowPos3iMESA glWindowPos3iMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3iv(Int32* v);
-            internal unsafe static WindowPos3iv glWindowPos3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3ivARB(Int32* v);
-            internal unsafe static WindowPos3ivARB glWindowPos3ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3ivMESA(Int32* v);
-            internal unsafe static WindowPos3ivMESA glWindowPos3ivMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3s(Int16 x, Int16 y, Int16 z);
-            internal static WindowPos3s glWindowPos3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3sARB(Int16 x, Int16 y, Int16 z);
-            internal static WindowPos3sARB glWindowPos3sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3sMESA(Int16 x, Int16 y, Int16 z);
-            internal static WindowPos3sMESA glWindowPos3sMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3sv(Int16* v);
-            internal unsafe static WindowPos3sv glWindowPos3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3svARB(Int16* v);
-            internal unsafe static WindowPos3svARB glWindowPos3svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3svMESA(Int16* v);
-            internal unsafe static WindowPos3svMESA glWindowPos3svMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4dMESA(Double x, Double y, Double z, Double w);
-            internal static WindowPos4dMESA glWindowPos4dMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4dvMESA(Double* v);
-            internal unsafe static WindowPos4dvMESA glWindowPos4dvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4fMESA(Single x, Single y, Single z, Single w);
-            internal static WindowPos4fMESA glWindowPos4fMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4fvMESA(Single* v);
-            internal unsafe static WindowPos4fvMESA glWindowPos4fvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static WindowPos4iMESA glWindowPos4iMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4ivMESA(Int32* v);
-            internal unsafe static WindowPos4ivMESA glWindowPos4ivMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static WindowPos4sMESA glWindowPos4sMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4svMESA(Int16* v);
-            internal unsafe static WindowPos4svMESA glWindowPos4svMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WriteMaskEXT(UInt32 res, UInt32 @in, OpenTK.Graphics.ExtVertexShader outX, OpenTK.Graphics.ExtVertexShader outY, OpenTK.Graphics.ExtVertexShader outZ, OpenTK.Graphics.ExtVertexShader outW);
-            internal static WriteMaskEXT glWriteMaskEXT;
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/GL/GLEnums.cs b/Source/Compatibility/Graphics/GL/GLEnums.cs
deleted file mode 100644 (file)
index 24a5b05..0000000
+++ /dev/null
@@ -1,11788 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-
-namespace OpenTK.Graphics
-{
-    #pragma warning disable 1591
-
-    public enum AccumOp
-    {
-        Accum = ((int)0X0100),
-        Load = ((int)0X0101),
-        Return = ((int)0X0102),
-        Mult = ((int)0X0103),
-        Add = ((int)0X0104),
-    }
-
-    public enum ActiveAttribType
-    {
-        Float = ((int)0X1406),
-        FloatVec2 = ((int)0X8b50),
-        FloatVec3 = ((int)0X8b51),
-        FloatVec4 = ((int)0X8b52),
-        FloatMat2 = ((int)0X8b5a),
-        FloatMat3 = ((int)0X8b5b),
-        FloatMat4 = ((int)0X8b5c),
-    }
-
-    public enum ActiveUniformType
-    {
-        Int = ((int)0X1404),
-        Float = ((int)0X1406),
-        FloatVec2 = ((int)0X8b50),
-        FloatVec3 = ((int)0X8b51),
-        FloatVec4 = ((int)0X8b52),
-        IntVec2 = ((int)0X8b53),
-        IntVec3 = ((int)0X8b54),
-        IntVec4 = ((int)0X8b55),
-        Bool = ((int)0X8b56),
-        BoolVec2 = ((int)0X8b57),
-        BoolVec3 = ((int)0X8b58),
-        BoolVec4 = ((int)0X8b59),
-        FloatMat2 = ((int)0X8b5a),
-        FloatMat3 = ((int)0X8b5b),
-        FloatMat4 = ((int)0X8b5c),
-        Sampler1D = ((int)0X8b5d),
-        Sampler2D = ((int)0X8b5e),
-        Sampler3D = ((int)0X8b5f),
-        SamplerCube = ((int)0X8b60),
-        Sampler1DShadow = ((int)0X8b61),
-        Sampler2DShadow = ((int)0X8b62),
-        FloatMat2x3 = ((int)0X8b65),
-        FloatMat2x4 = ((int)0X8b66),
-        FloatMat3x2 = ((int)0X8b67),
-        FloatMat3x4 = ((int)0X8b68),
-        FloatMat4x2 = ((int)0X8b69),
-        FloatMat4x3 = ((int)0X8b6a),
-        Sampler1DArray = ((int)0X8dc0),
-        Sampler2DArray = ((int)0X8dc1),
-        Sampler1DArrayShadow = ((int)0X8dc3),
-        Sampler2DArrayShadow = ((int)0X8dc4),
-        SamplerCubeShadow = ((int)0X8dc5),
-        UnsignedIntVec2 = ((int)0X8dc6),
-        UnsignedIntVec3 = ((int)0X8dc7),
-        UnsignedIntVec4 = ((int)0X8dc8),
-        IntSampler1D = ((int)0X8dc9),
-        IntSampler2D = ((int)0X8dca),
-        IntSampler3D = ((int)0X8dcb),
-        IntSamplerCube = ((int)0X8dcc),
-        IntSampler1DArray = ((int)0X8dce),
-        IntSampler2DArray = ((int)0X8dcf),
-        UnsignedIntSampler1D = ((int)0X8dd1),
-        UnsignedIntSampler2D = ((int)0X8dd2),
-        UnsignedIntSampler3D = ((int)0X8dd3),
-        UnsignedIntSamplerCube = ((int)0X8dd4),
-        UnsignedIntSampler1DArray = ((int)0X8dd6),
-        UnsignedIntSampler2DArray = ((int)0X8dd7),
-    }
-
-    public enum All
-    {
-        False = ((int)0),
-        NoError = ((int)0),
-        None = ((int)0),
-        Zero = ((int)0),
-        Points = ((int)0X0000),
-        ClientPixelStoreBit = ((int)0X00000001),
-        ContextCoreProfileBit = ((int)0X00000001),
-        CurrentBit = ((int)0X00000001),
-        Gl2XBitAti = ((int)0X00000001),
-        RedBitAti = ((int)0X00000001),
-        SyncFlushCommandsBit = ((int)0X00000001),
-        TextureDeformationBitSgix = ((int)0X00000001),
-        ClientVertexArrayBit = ((int)0X00000002),
-        CompBitAti = ((int)0X00000002),
-        ContextCompatibilityProfileBit = ((int)0X00000002),
-        GeometryDeformationBitSgix = ((int)0X00000002),
-        Gl4XBitAti = ((int)0X00000002),
-        GreenBitAti = ((int)0X00000002),
-        PointBit = ((int)0X00000002),
-        BlueBitAti = ((int)0X00000004),
-        Gl8XBitAti = ((int)0X00000004),
-        LineBit = ((int)0X00000004),
-        NegateBitAti = ((int)0X00000004),
-        Vertex23BitPgi = ((int)0X00000004),
-        BiasBitAti = ((int)0X00000008),
-        HalfBitAti = ((int)0X00000008),
-        PolygonBit = ((int)0X00000008),
-        Vertex4BitPgi = ((int)0X00000008),
-        PolygonStippleBit = ((int)0X00000010),
-        QuarterBitAti = ((int)0X00000010),
-        EighthBitAti = ((int)0X00000020),
-        PixelModeBit = ((int)0X00000020),
-        LightingBit = ((int)0X00000040),
-        SaturateBitAti = ((int)0X00000040),
-        FogBit = ((int)0X00000080),
-        DepthBufferBit = ((int)0X00000100),
-        AccumBufferBit = ((int)0X00000200),
-        StencilBufferBit = ((int)0X00000400),
-        ViewportBit = ((int)0X00000800),
-        TransformBit = ((int)0X00001000),
-        EnableBit = ((int)0X00002000),
-        ColorBufferBit = ((int)0X00004000),
-        HintBit = ((int)0X00008000),
-        ContextFlagForwardCompatibleBit = ((int)0X0001),
-        Lines = ((int)0X0001),
-        MapReadBit = ((int)0X0001),
-        RestartSun = ((int)0X0001),
-        Color3BitPgi = ((int)0X00010000),
-        EvalBit = ((int)0X00010000),
-        LineLoop = ((int)0X0002),
-        MapWriteBit = ((int)0X0002),
-        ReplaceMiddleSun = ((int)0X0002),
-        Color4BitPgi = ((int)0X00020000),
-        ListBit = ((int)0X00020000),
-        LineStrip = ((int)0X0003),
-        ReplaceOldestSun = ((int)0X0003),
-        MapInvalidateRangeBit = ((int)0X0004),
-        Triangles = ((int)0X0004),
-        EdgeflagBitPgi = ((int)0X00040000),
-        TextureBit = ((int)0X00040000),
-        TriangleStrip = ((int)0X0005),
-        TriangleFan = ((int)0X0006),
-        Quads = ((int)0X0007),
-        MapInvalidateBufferBit = ((int)0X0008),
-        QuadStrip = ((int)0X0008),
-        IndexBitPgi = ((int)0X00080000),
-        ScissorBit = ((int)0X00080000),
-        Polygon = ((int)0X0009),
-        LinesAdjacency = ((int)0X000a),
-        LinesAdjacencyArb = ((int)0X000a),
-        LinesAdjacencyExt = ((int)0X000a),
-        LineStripAdjacency = ((int)0X000b),
-        LineStripAdjacencyArb = ((int)0X000b),
-        LineStripAdjacencyExt = ((int)0X000b),
-        TrianglesAdjacency = ((int)0X000c),
-        TrianglesAdjacencyArb = ((int)0X000c),
-        TrianglesAdjacencyExt = ((int)0X000c),
-        TriangleStripAdjacency = ((int)0X000d),
-        TriangleStripAdjacencyArb = ((int)0X000d),
-        TriangleStripAdjacencyExt = ((int)0X000d),
-        MapFlushExplicitBit = ((int)0X0010),
-        MatAmbientBitPgi = ((int)0X00100000),
-        MapUnsynchronizedBit = ((int)0X0020),
-        MatAmbientAndDiffuseBitPgi = ((int)0X00200000),
-        MatDiffuseBitPgi = ((int)0X00400000),
-        MatEmissionBitPgi = ((int)0X00800000),
-        Accum = ((int)0X0100),
-        MatColorIndexesBitPgi = ((int)0X01000000),
-        Load = ((int)0X0101),
-        Return = ((int)0X0102),
-        Mult = ((int)0X0103),
-        Add = ((int)0X0104),
-        Never = ((int)0X0200),
-        MatShininessBitPgi = ((int)0X02000000),
-        Less = ((int)0X0201),
-        Equal = ((int)0X0202),
-        Lequal = ((int)0X0203),
-        Greater = ((int)0X0204),
-        Notequal = ((int)0X0205),
-        Gequal = ((int)0X0206),
-        Always = ((int)0X0207),
-        SrcColor = ((int)0X0300),
-        OneMinusSrcColor = ((int)0X0301),
-        SrcAlpha = ((int)0X0302),
-        OneMinusSrcAlpha = ((int)0X0303),
-        DstAlpha = ((int)0X0304),
-        OneMinusDstAlpha = ((int)0X0305),
-        DstColor = ((int)0X0306),
-        OneMinusDstColor = ((int)0X0307),
-        SrcAlphaSaturate = ((int)0X0308),
-        FrontLeft = ((int)0X0400),
-        MatSpecularBitPgi = ((int)0X04000000),
-        FrontRight = ((int)0X0401),
-        BackLeft = ((int)0X0402),
-        BackRight = ((int)0X0403),
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        Left = ((int)0X0406),
-        Right = ((int)0X0407),
-        FrontAndBack = ((int)0X0408),
-        Aux0 = ((int)0X0409),
-        Aux1 = ((int)0X040a),
-        Aux2 = ((int)0X040b),
-        Aux3 = ((int)0X040c),
-        InvalidEnum = ((int)0X0500),
-        InvalidValue = ((int)0X0501),
-        InvalidOperation = ((int)0X0502),
-        StackOverflow = ((int)0X0503),
-        StackUnderflow = ((int)0X0504),
-        OutOfMemory = ((int)0X0505),
-        InvalidFramebufferOperation = ((int)0X0506),
-        InvalidFramebufferOperationExt = ((int)0X0506),
-        Gl2D = ((int)0X0600),
-        Gl3D = ((int)0X0601),
-        Gl3DColor = ((int)0X0602),
-        Gl3DColorTexture = ((int)0X0603),
-        Gl4DColorTexture = ((int)0X0604),
-        PassThroughToken = ((int)0X0700),
-        PointToken = ((int)0X0701),
-        LineToken = ((int)0X0702),
-        PolygonToken = ((int)0X0703),
-        BitmapToken = ((int)0X0704),
-        DrawPixelToken = ((int)0X0705),
-        CopyPixelToken = ((int)0X0706),
-        LineResetToken = ((int)0X0707),
-        Exp = ((int)0X0800),
-        NormalBitPgi = ((int)0X08000000),
-        Exp2 = ((int)0X0801),
-        Cw = ((int)0X0900),
-        Ccw = ((int)0X0901),
-        Coeff = ((int)0X0a00),
-        Order = ((int)0X0a01),
-        Domain = ((int)0X0a02),
-        CurrentColor = ((int)0X0b00),
-        CurrentIndex = ((int)0X0b01),
-        CurrentNormal = ((int)0X0b02),
-        CurrentTextureCoords = ((int)0X0b03),
-        CurrentRasterColor = ((int)0X0b04),
-        CurrentRasterIndex = ((int)0X0b05),
-        CurrentRasterTextureCoords = ((int)0X0b06),
-        CurrentRasterPosition = ((int)0X0b07),
-        CurrentRasterPositionValid = ((int)0X0b08),
-        CurrentRasterDistance = ((int)0X0b09),
-        PointSmooth = ((int)0X0b10),
-        PointSize = ((int)0X0b11),
-        PointSizeRange = ((int)0X0b12),
-        SmoothPointSizeRange = ((int)0X0b12),
-        PointSizeGranularity = ((int)0X0b13),
-        SmoothPointSizeGranularity = ((int)0X0b13),
-        LineSmooth = ((int)0X0b20),
-        LineWidth = ((int)0X0b21),
-        LineWidthRange = ((int)0X0b22),
-        SmoothLineWidthRange = ((int)0X0b22),
-        LineWidthGranularity = ((int)0X0b23),
-        SmoothLineWidthGranularity = ((int)0X0b23),
-        LineStipple = ((int)0X0b24),
-        LineStipplePattern = ((int)0X0b25),
-        LineStippleRepeat = ((int)0X0b26),
-        ListMode = ((int)0X0b30),
-        MaxListNesting = ((int)0X0b31),
-        ListBase = ((int)0X0b32),
-        ListIndex = ((int)0X0b33),
-        PolygonMode = ((int)0X0b40),
-        PolygonSmooth = ((int)0X0b41),
-        PolygonStipple = ((int)0X0b42),
-        EdgeFlag = ((int)0X0b43),
-        CullFace = ((int)0X0b44),
-        CullFaceMode = ((int)0X0b45),
-        FrontFace = ((int)0X0b46),
-        Lighting = ((int)0X0b50),
-        LightModelLocalViewer = ((int)0X0b51),
-        LightModelTwoSide = ((int)0X0b52),
-        LightModelAmbient = ((int)0X0b53),
-        ShadeModel = ((int)0X0b54),
-        ColorMaterialFace = ((int)0X0b55),
-        ColorMaterialParameter = ((int)0X0b56),
-        ColorMaterial = ((int)0X0b57),
-        Fog = ((int)0X0b60),
-        FogIndex = ((int)0X0b61),
-        FogDensity = ((int)0X0b62),
-        FogStart = ((int)0X0b63),
-        FogEnd = ((int)0X0b64),
-        FogMode = ((int)0X0b65),
-        FogColor = ((int)0X0b66),
-        DepthRange = ((int)0X0b70),
-        DepthTest = ((int)0X0b71),
-        DepthWritemask = ((int)0X0b72),
-        DepthClearValue = ((int)0X0b73),
-        DepthFunc = ((int)0X0b74),
-        AccumClearValue = ((int)0X0b80),
-        StencilTest = ((int)0X0b90),
-        StencilClearValue = ((int)0X0b91),
-        StencilFunc = ((int)0X0b92),
-        StencilValueMask = ((int)0X0b93),
-        StencilFail = ((int)0X0b94),
-        StencilPassDepthFail = ((int)0X0b95),
-        StencilPassDepthPass = ((int)0X0b96),
-        StencilRef = ((int)0X0b97),
-        StencilWritemask = ((int)0X0b98),
-        MatrixMode = ((int)0X0ba0),
-        Normalize = ((int)0X0ba1),
-        Viewport = ((int)0X0ba2),
-        Modelview0StackDepthExt = ((int)0X0ba3),
-        ModelviewStackDepth = ((int)0X0ba3),
-        ProjectionStackDepth = ((int)0X0ba4),
-        TextureStackDepth = ((int)0X0ba5),
-        Modelview0MatrixExt = ((int)0X0ba6),
-        ModelviewMatrix = ((int)0X0ba6),
-        ProjectionMatrix = ((int)0X0ba7),
-        TextureMatrix = ((int)0X0ba8),
-        AttribStackDepth = ((int)0X0bb0),
-        ClientAttribStackDepth = ((int)0X0bb1),
-        AlphaTest = ((int)0X0bc0),
-        AlphaTestFunc = ((int)0X0bc1),
-        AlphaTestRef = ((int)0X0bc2),
-        Dither = ((int)0X0bd0),
-        BlendDst = ((int)0X0be0),
-        BlendSrc = ((int)0X0be1),
-        Blend = ((int)0X0be2),
-        LogicOpMode = ((int)0X0bf0),
-        IndexLogicOp = ((int)0X0bf1),
-        LogicOp = ((int)0X0bf1),
-        ColorLogicOp = ((int)0X0bf2),
-        AuxBuffers = ((int)0X0c00),
-        DrawBuffer = ((int)0X0c01),
-        ReadBuffer = ((int)0X0c02),
-        ScissorBox = ((int)0X0c10),
-        ScissorTest = ((int)0X0c11),
-        IndexClearValue = ((int)0X0c20),
-        IndexWritemask = ((int)0X0c21),
-        ColorClearValue = ((int)0X0c22),
-        ColorWritemask = ((int)0X0c23),
-        IndexMode = ((int)0X0c30),
-        RgbaMode = ((int)0X0c31),
-        Doublebuffer = ((int)0X0c32),
-        Stereo = ((int)0X0c33),
-        RenderMode = ((int)0X0c40),
-        PerspectiveCorrectionHint = ((int)0X0c50),
-        PointSmoothHint = ((int)0X0c51),
-        LineSmoothHint = ((int)0X0c52),
-        PolygonSmoothHint = ((int)0X0c53),
-        FogHint = ((int)0X0c54),
-        TextureGenS = ((int)0X0c60),
-        TextureGenT = ((int)0X0c61),
-        TextureGenR = ((int)0X0c62),
-        TextureGenQ = ((int)0X0c63),
-        PixelMapIToI = ((int)0X0c70),
-        PixelMapSToS = ((int)0X0c71),
-        PixelMapIToR = ((int)0X0c72),
-        PixelMapIToG = ((int)0X0c73),
-        PixelMapIToB = ((int)0X0c74),
-        PixelMapIToA = ((int)0X0c75),
-        PixelMapRToR = ((int)0X0c76),
-        PixelMapGToG = ((int)0X0c77),
-        PixelMapBToB = ((int)0X0c78),
-        PixelMapAToA = ((int)0X0c79),
-        PixelMapIToISize = ((int)0X0cb0),
-        PixelMapSToSSize = ((int)0X0cb1),
-        PixelMapIToRSize = ((int)0X0cb2),
-        PixelMapIToGSize = ((int)0X0cb3),
-        PixelMapIToBSize = ((int)0X0cb4),
-        PixelMapIToASize = ((int)0X0cb5),
-        PixelMapRToRSize = ((int)0X0cb6),
-        PixelMapGToGSize = ((int)0X0cb7),
-        PixelMapBToBSize = ((int)0X0cb8),
-        PixelMapAToASize = ((int)0X0cb9),
-        UnpackSwapBytes = ((int)0X0cf0),
-        UnpackLsbFirst = ((int)0X0cf1),
-        UnpackRowLength = ((int)0X0cf2),
-        UnpackSkipRows = ((int)0X0cf3),
-        UnpackSkipPixels = ((int)0X0cf4),
-        UnpackAlignment = ((int)0X0cf5),
-        PackSwapBytes = ((int)0X0d00),
-        PackLsbFirst = ((int)0X0d01),
-        PackRowLength = ((int)0X0d02),
-        PackSkipRows = ((int)0X0d03),
-        PackSkipPixels = ((int)0X0d04),
-        PackAlignment = ((int)0X0d05),
-        MapColor = ((int)0X0d10),
-        MapStencil = ((int)0X0d11),
-        IndexShift = ((int)0X0d12),
-        IndexOffset = ((int)0X0d13),
-        RedScale = ((int)0X0d14),
-        RedBias = ((int)0X0d15),
-        ZoomX = ((int)0X0d16),
-        ZoomY = ((int)0X0d17),
-        GreenScale = ((int)0X0d18),
-        GreenBias = ((int)0X0d19),
-        BlueScale = ((int)0X0d1a),
-        BlueBias = ((int)0X0d1b),
-        AlphaScale = ((int)0X0d1c),
-        AlphaBias = ((int)0X0d1d),
-        DepthScale = ((int)0X0d1e),
-        DepthBias = ((int)0X0d1f),
-        MaxEvalOrder = ((int)0X0d30),
-        MaxLights = ((int)0X0d31),
-        MaxClipDistances = ((int)0X0d32),
-        MaxClipPlanes = ((int)0X0d32),
-        MaxTextureSize = ((int)0X0d33),
-        MaxPixelMapTable = ((int)0X0d34),
-        MaxAttribStackDepth = ((int)0X0d35),
-        MaxModelviewStackDepth = ((int)0X0d36),
-        MaxNameStackDepth = ((int)0X0d37),
-        MaxProjectionStackDepth = ((int)0X0d38),
-        MaxTextureStackDepth = ((int)0X0d39),
-        MaxViewportDims = ((int)0X0d3a),
-        MaxClientAttribStackDepth = ((int)0X0d3b),
-        SubpixelBits = ((int)0X0d50),
-        IndexBits = ((int)0X0d51),
-        RedBits = ((int)0X0d52),
-        GreenBits = ((int)0X0d53),
-        BlueBits = ((int)0X0d54),
-        AlphaBits = ((int)0X0d55),
-        DepthBits = ((int)0X0d56),
-        StencilBits = ((int)0X0d57),
-        AccumRedBits = ((int)0X0d58),
-        AccumGreenBits = ((int)0X0d59),
-        AccumBlueBits = ((int)0X0d5a),
-        AccumAlphaBits = ((int)0X0d5b),
-        NameStackDepth = ((int)0X0d70),
-        AutoNormal = ((int)0X0d80),
-        Map1Color4 = ((int)0X0d90),
-        Map1Index = ((int)0X0d91),
-        Map1Normal = ((int)0X0d92),
-        Map1TextureCoord1 = ((int)0X0d93),
-        Map1TextureCoord2 = ((int)0X0d94),
-        Map1TextureCoord3 = ((int)0X0d95),
-        Map1TextureCoord4 = ((int)0X0d96),
-        Map1Vertex3 = ((int)0X0d97),
-        Map1Vertex4 = ((int)0X0d98),
-        Map2Color4 = ((int)0X0db0),
-        Map2Index = ((int)0X0db1),
-        Map2Normal = ((int)0X0db2),
-        Map2TextureCoord1 = ((int)0X0db3),
-        Map2TextureCoord2 = ((int)0X0db4),
-        Map2TextureCoord3 = ((int)0X0db5),
-        Map2TextureCoord4 = ((int)0X0db6),
-        Map2Vertex3 = ((int)0X0db7),
-        Map2Vertex4 = ((int)0X0db8),
-        Map1GridDomain = ((int)0X0dd0),
-        Map1GridSegments = ((int)0X0dd1),
-        Map2GridDomain = ((int)0X0dd2),
-        Map2GridSegments = ((int)0X0dd3),
-        Texture1D = ((int)0X0de0),
-        Texture2D = ((int)0X0de1),
-        FeedbackBufferPointer = ((int)0X0df0),
-        FeedbackBufferSize = ((int)0X0df1),
-        FeedbackBufferType = ((int)0X0df2),
-        SelectionBufferPointer = ((int)0X0df3),
-        SelectionBufferSize = ((int)0X0df4),
-        TextureWidth = ((int)0X1000),
-        Texcoord1BitPgi = ((int)0X10000000),
-        TextureHeight = ((int)0X1001),
-        TextureComponents = ((int)0X1003),
-        TextureInternalFormat = ((int)0X1003),
-        TextureBorderColor = ((int)0X1004),
-        TextureBorder = ((int)0X1005),
-        DontCare = ((int)0X1100),
-        Fastest = ((int)0X1101),
-        Nicest = ((int)0X1102),
-        Ambient = ((int)0X1200),
-        Diffuse = ((int)0X1201),
-        Specular = ((int)0X1202),
-        Position = ((int)0X1203),
-        SpotDirection = ((int)0X1204),
-        SpotExponent = ((int)0X1205),
-        SpotCutoff = ((int)0X1206),
-        ConstantAttenuation = ((int)0X1207),
-        LinearAttenuation = ((int)0X1208),
-        QuadraticAttenuation = ((int)0X1209),
-        Compile = ((int)0X1300),
-        CompileAndExecute = ((int)0X1301),
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Gl2Bytes = ((int)0X1407),
-        Gl3Bytes = ((int)0X1408),
-        Gl4Bytes = ((int)0X1409),
-        Double = ((int)0X140a),
-        DoubleExt = ((int)0X140a),
-        HalfApple = ((int)0X140b),
-        HalfFloat = ((int)0X140b),
-        HalfFloatArb = ((int)0X140b),
-        HalfFloatNv = ((int)0X140b),
-        Clear = ((int)0X1500),
-        And = ((int)0X1501),
-        AndReverse = ((int)0X1502),
-        Copy = ((int)0X1503),
-        AndInverted = ((int)0X1504),
-        Noop = ((int)0X1505),
-        Xor = ((int)0X1506),
-        Or = ((int)0X1507),
-        Nor = ((int)0X1508),
-        Equiv = ((int)0X1509),
-        Invert = ((int)0X150a),
-        OrReverse = ((int)0X150b),
-        CopyInverted = ((int)0X150c),
-        OrInverted = ((int)0X150d),
-        Nand = ((int)0X150e),
-        Set = ((int)0X150f),
-        Emission = ((int)0X1600),
-        Shininess = ((int)0X1601),
-        AmbientAndDiffuse = ((int)0X1602),
-        ColorIndexes = ((int)0X1603),
-        Modelview = ((int)0X1700),
-        Modelview0Arb = ((int)0X1700),
-        Modelview0Ext = ((int)0X1700),
-        Projection = ((int)0X1701),
-        Texture = ((int)0X1702),
-        Color = ((int)0X1800),
-        Depth = ((int)0X1801),
-        Stencil = ((int)0X1802),
-        ColorIndex = ((int)0X1900),
-        StencilIndex = ((int)0X1901),
-        DepthComponent = ((int)0X1902),
-        Red = ((int)0X1903),
-        Green = ((int)0X1904),
-        Blue = ((int)0X1905),
-        Alpha = ((int)0X1906),
-        Rgb = ((int)0X1907),
-        Rgba = ((int)0X1908),
-        Luminance = ((int)0X1909),
-        LuminanceAlpha = ((int)0X190a),
-        RasterPositionUnclippedIbm = ((int)0X19262),
-        Bitmap = ((int)0X1a00),
-        PreferDoublebufferHintPgi = ((int)0X1a1f8),
-        ConserveMemoryHintPgi = ((int)0X1a1fd),
-        ReclaimMemoryHintPgi = ((int)0X1a1fe),
-        NativeGraphicsHandlePgi = ((int)0X1a202),
-        NativeGraphicsBeginHintPgi = ((int)0X1a203),
-        NativeGraphicsEndHintPgi = ((int)0X1a204),
-        AlwaysFastHintPgi = ((int)0X1a20c),
-        AlwaysSoftHintPgi = ((int)0X1a20d),
-        AllowDrawObjHintPgi = ((int)0X1a20e),
-        AllowDrawWinHintPgi = ((int)0X1a20f),
-        AllowDrawFrgHintPgi = ((int)0X1a210),
-        AllowDrawMemHintPgi = ((int)0X1a211),
-        StrictDepthfuncHintPgi = ((int)0X1a216),
-        StrictLightingHintPgi = ((int)0X1a217),
-        StrictScissorHintPgi = ((int)0X1a218),
-        FullStippleHintPgi = ((int)0X1a219),
-        ClipNearHintPgi = ((int)0X1a220),
-        ClipFarHintPgi = ((int)0X1a221),
-        WideLineHintPgi = ((int)0X1a222),
-        BackNormalsHintPgi = ((int)0X1a223),
-        VertexDataHintPgi = ((int)0X1a22a),
-        VertexConsistentHintPgi = ((int)0X1a22b),
-        MaterialSideHintPgi = ((int)0X1a22c),
-        MaxVertexHintPgi = ((int)0X1a22d),
-        Point = ((int)0X1b00),
-        Line = ((int)0X1b01),
-        Fill = ((int)0X1b02),
-        Render = ((int)0X1c00),
-        Feedback = ((int)0X1c01),
-        Select = ((int)0X1c02),
-        Flat = ((int)0X1d00),
-        Smooth = ((int)0X1d01),
-        Keep = ((int)0X1e00),
-        Replace = ((int)0X1e01),
-        Incr = ((int)0X1e02),
-        Decr = ((int)0X1e03),
-        Vendor = ((int)0X1f00),
-        Renderer = ((int)0X1f01),
-        Version = ((int)0X1f02),
-        Extensions = ((int)0X1f03),
-        S = ((int)0X2000),
-        MultisampleBit = ((int)0X20000000),
-        MultisampleBit3Dfx = ((int)0X20000000),
-        MultisampleBitArb = ((int)0X20000000),
-        MultisampleBitExt = ((int)0X20000000),
-        Texcoord2BitPgi = ((int)0X20000000),
-        T = ((int)0X2001),
-        R = ((int)0X2002),
-        Q = ((int)0X2003),
-        Modulate = ((int)0X2100),
-        Decal = ((int)0X2101),
-        TextureEnvMode = ((int)0X2200),
-        TextureEnvColor = ((int)0X2201),
-        TextureEnv = ((int)0X2300),
-        EyeLinear = ((int)0X2400),
-        ObjectLinear = ((int)0X2401),
-        SphereMap = ((int)0X2402),
-        TextureGenMode = ((int)0X2500),
-        ObjectPlane = ((int)0X2501),
-        EyePlane = ((int)0X2502),
-        Nearest = ((int)0X2600),
-        Linear = ((int)0X2601),
-        NearestMipmapNearest = ((int)0X2700),
-        LinearMipmapNearest = ((int)0X2701),
-        NearestMipmapLinear = ((int)0X2702),
-        LinearMipmapLinear = ((int)0X2703),
-        TextureMagFilter = ((int)0X2800),
-        TextureMinFilter = ((int)0X2801),
-        TextureWrapS = ((int)0X2802),
-        TextureWrapT = ((int)0X2803),
-        Clamp = ((int)0X2900),
-        Repeat = ((int)0X2901),
-        PolygonOffsetUnits = ((int)0X2a00),
-        PolygonOffsetPoint = ((int)0X2a01),
-        PolygonOffsetLine = ((int)0X2a02),
-        R3G3B2 = ((int)0X2a10),
-        V2f = ((int)0X2a20),
-        V3f = ((int)0X2a21),
-        C4ubV2f = ((int)0X2a22),
-        C4ubV3f = ((int)0X2a23),
-        C3fV3f = ((int)0X2a24),
-        N3fV3f = ((int)0X2a25),
-        C4fN3fV3f = ((int)0X2a26),
-        T2fV3f = ((int)0X2a27),
-        T4fV4f = ((int)0X2a28),
-        T2fC4ubV3f = ((int)0X2a29),
-        T2fC3fV3f = ((int)0X2a2a),
-        T2fN3fV3f = ((int)0X2a2b),
-        T2fC4fN3fV3f = ((int)0X2a2c),
-        T4fC4fN3fV4f = ((int)0X2a2d),
-        ClipDistance0 = ((int)0X3000),
-        ClipPlane0 = ((int)0X3000),
-        ClipDistance1 = ((int)0X3001),
-        ClipPlane1 = ((int)0X3001),
-        ClipDistance2 = ((int)0X3002),
-        ClipPlane2 = ((int)0X3002),
-        ClipDistance3 = ((int)0X3003),
-        ClipPlane3 = ((int)0X3003),
-        ClipDistance4 = ((int)0X3004),
-        ClipPlane4 = ((int)0X3004),
-        ClipDistance5 = ((int)0X3005),
-        ClipPlane5 = ((int)0X3005),
-        ClipDistance6 = ((int)0X3006),
-        ClipDistance7 = ((int)0X3007),
-        Light0 = ((int)0X4000),
-        Texcoord3BitPgi = ((int)0X40000000),
-        Light1 = ((int)0X4001),
-        Light2 = ((int)0X4002),
-        Light3 = ((int)0X4003),
-        Light4 = ((int)0X4004),
-        Light5 = ((int)0X4005),
-        Light6 = ((int)0X4006),
-        Light7 = ((int)0X4007),
-        AbgrExt = ((int)0X8000),
-        Texcoord4BitPgi = unchecked((int)0X80000000),
-        ConstantColor = ((int)0X8001),
-        ConstantColorExt = ((int)0X8001),
-        OneMinusConstantColor = ((int)0X8002),
-        OneMinusConstantColorExt = ((int)0X8002),
-        ConstantAlpha = ((int)0X8003),
-        ConstantAlphaExt = ((int)0X8003),
-        OneMinusConstantAlpha = ((int)0X8004),
-        OneMinusConstantAlphaExt = ((int)0X8004),
-        BlendColor = ((int)0X8005),
-        BlendColorExt = ((int)0X8005),
-        FuncAdd = ((int)0X8006),
-        FuncAddExt = ((int)0X8006),
-        Min = ((int)0X8007),
-        MinExt = ((int)0X8007),
-        Max = ((int)0X8008),
-        MaxExt = ((int)0X8008),
-        BlendEquation = ((int)0X8009),
-        BlendEquationExt = ((int)0X8009),
-        BlendEquationRgb = ((int)0X8009),
-        BlendEquationRgbExt = ((int)0X8009),
-        FuncSubtract = ((int)0X800a),
-        FuncSubtractExt = ((int)0X800a),
-        FuncReverseSubtract = ((int)0X800b),
-        FuncReverseSubtractExt = ((int)0X800b),
-        CmykExt = ((int)0X800c),
-        CmykaExt = ((int)0X800d),
-        PackCmykHintExt = ((int)0X800e),
-        UnpackCmykHintExt = ((int)0X800f),
-        Convolution1D = ((int)0X8010),
-        Convolution1DExt = ((int)0X8010),
-        Convolution2D = ((int)0X8011),
-        Convolution2DExt = ((int)0X8011),
-        Separable2D = ((int)0X8012),
-        Separable2DExt = ((int)0X8012),
-        ConvolutionBorderMode = ((int)0X8013),
-        ConvolutionBorderModeExt = ((int)0X8013),
-        ConvolutionFilterScale = ((int)0X8014),
-        ConvolutionFilterScaleExt = ((int)0X8014),
-        ConvolutionFilterBias = ((int)0X8015),
-        ConvolutionFilterBiasExt = ((int)0X8015),
-        Reduce = ((int)0X8016),
-        ReduceExt = ((int)0X8016),
-        ConvolutionFormat = ((int)0X8017),
-        ConvolutionFormatExt = ((int)0X8017),
-        ConvolutionWidth = ((int)0X8018),
-        ConvolutionWidthExt = ((int)0X8018),
-        ConvolutionHeight = ((int)0X8019),
-        ConvolutionHeightExt = ((int)0X8019),
-        MaxConvolutionWidth = ((int)0X801a),
-        MaxConvolutionWidthExt = ((int)0X801a),
-        MaxConvolutionHeight = ((int)0X801b),
-        MaxConvolutionHeightExt = ((int)0X801b),
-        PostConvolutionRedScale = ((int)0X801c),
-        PostConvolutionRedScaleExt = ((int)0X801c),
-        PostConvolutionGreenScale = ((int)0X801d),
-        PostConvolutionGreenScaleExt = ((int)0X801d),
-        PostConvolutionBlueScale = ((int)0X801e),
-        PostConvolutionBlueScaleExt = ((int)0X801e),
-        PostConvolutionAlphaScale = ((int)0X801f),
-        PostConvolutionAlphaScaleExt = ((int)0X801f),
-        PostConvolutionRedBias = ((int)0X8020),
-        PostConvolutionRedBiasExt = ((int)0X8020),
-        PostConvolutionGreenBias = ((int)0X8021),
-        PostConvolutionGreenBiasExt = ((int)0X8021),
-        PostConvolutionBlueBias = ((int)0X8022),
-        PostConvolutionBlueBiasExt = ((int)0X8022),
-        PostConvolutionAlphaBias = ((int)0X8023),
-        PostConvolutionAlphaBiasExt = ((int)0X8023),
-        Histogram = ((int)0X8024),
-        HistogramExt = ((int)0X8024),
-        ProxyHistogram = ((int)0X8025),
-        ProxyHistogramExt = ((int)0X8025),
-        HistogramWidth = ((int)0X8026),
-        HistogramWidthExt = ((int)0X8026),
-        HistogramFormat = ((int)0X8027),
-        HistogramFormatExt = ((int)0X8027),
-        HistogramRedSize = ((int)0X8028),
-        HistogramRedSizeExt = ((int)0X8028),
-        HistogramGreenSize = ((int)0X8029),
-        HistogramGreenSizeExt = ((int)0X8029),
-        HistogramBlueSize = ((int)0X802a),
-        HistogramBlueSizeExt = ((int)0X802a),
-        HistogramAlphaSize = ((int)0X802b),
-        HistogramAlphaSizeExt = ((int)0X802b),
-        HistogramLuminanceSize = ((int)0X802c),
-        HistogramLuminanceSizeExt = ((int)0X802c),
-        HistogramSink = ((int)0X802d),
-        HistogramSinkExt = ((int)0X802d),
-        Minmax = ((int)0X802e),
-        MinmaxExt = ((int)0X802e),
-        MinmaxFormat = ((int)0X802f),
-        MinmaxFormatExt = ((int)0X802f),
-        MinmaxSink = ((int)0X8030),
-        MinmaxSinkExt = ((int)0X8030),
-        TableTooLarge = ((int)0X8031),
-        TableTooLargeExt = ((int)0X8031),
-        UnsignedByte332 = ((int)0X8032),
-        UnsignedByte332Ext = ((int)0X8032),
-        UnsignedShort4444 = ((int)0X8033),
-        UnsignedShort4444Ext = ((int)0X8033),
-        UnsignedShort5551 = ((int)0X8034),
-        UnsignedShort5551Ext = ((int)0X8034),
-        UnsignedInt8888 = ((int)0X8035),
-        UnsignedInt8888Ext = ((int)0X8035),
-        UnsignedInt1010102 = ((int)0X8036),
-        UnsignedInt1010102Ext = ((int)0X8036),
-        PolygonOffsetExt = ((int)0X8037),
-        PolygonOffsetFill = ((int)0X8037),
-        PolygonOffsetFactor = ((int)0X8038),
-        PolygonOffsetFactorExt = ((int)0X8038),
-        PolygonOffsetBiasExt = ((int)0X8039),
-        RescaleNormal = ((int)0X803a),
-        RescaleNormalExt = ((int)0X803a),
-        Alpha4 = ((int)0X803b),
-        Alpha4Ext = ((int)0X803b),
-        Alpha8 = ((int)0X803c),
-        Alpha8Ext = ((int)0X803c),
-        Alpha12 = ((int)0X803d),
-        Alpha12Ext = ((int)0X803d),
-        Alpha16 = ((int)0X803e),
-        Alpha16Ext = ((int)0X803e),
-        Luminance4 = ((int)0X803f),
-        Luminance4Ext = ((int)0X803f),
-        Luminance8 = ((int)0X8040),
-        Luminance8Ext = ((int)0X8040),
-        Luminance12 = ((int)0X8041),
-        Luminance12Ext = ((int)0X8041),
-        Luminance16 = ((int)0X8042),
-        Luminance16Ext = ((int)0X8042),
-        Luminance4Alpha4 = ((int)0X8043),
-        Luminance4Alpha4Ext = ((int)0X8043),
-        Luminance6Alpha2 = ((int)0X8044),
-        Luminance6Alpha2Ext = ((int)0X8044),
-        Luminance8Alpha8 = ((int)0X8045),
-        Luminance8Alpha8Ext = ((int)0X8045),
-        Luminance12Alpha4 = ((int)0X8046),
-        Luminance12Alpha4Ext = ((int)0X8046),
-        Luminance12Alpha12 = ((int)0X8047),
-        Luminance12Alpha12Ext = ((int)0X8047),
-        Luminance16Alpha16 = ((int)0X8048),
-        Luminance16Alpha16Ext = ((int)0X8048),
-        Intensity = ((int)0X8049),
-        IntensityExt = ((int)0X8049),
-        Intensity4 = ((int)0X804a),
-        Intensity4Ext = ((int)0X804a),
-        Intensity8 = ((int)0X804b),
-        Intensity8Ext = ((int)0X804b),
-        Intensity12 = ((int)0X804c),
-        Intensity12Ext = ((int)0X804c),
-        Intensity16 = ((int)0X804d),
-        Intensity16Ext = ((int)0X804d),
-        Rgb2Ext = ((int)0X804e),
-        Rgb4 = ((int)0X804f),
-        Rgb4Ext = ((int)0X804f),
-        Rgb5 = ((int)0X8050),
-        Rgb5Ext = ((int)0X8050),
-        Rgb8 = ((int)0X8051),
-        Rgb8Ext = ((int)0X8051),
-        Rgb10 = ((int)0X8052),
-        Rgb10Ext = ((int)0X8052),
-        Rgb12 = ((int)0X8053),
-        Rgb12Ext = ((int)0X8053),
-        Rgb16 = ((int)0X8054),
-        Rgb16Ext = ((int)0X8054),
-        Rgba2 = ((int)0X8055),
-        Rgba2Ext = ((int)0X8055),
-        Rgba4 = ((int)0X8056),
-        Rgba4Ext = ((int)0X8056),
-        Rgb5A1 = ((int)0X8057),
-        Rgb5A1Ext = ((int)0X8057),
-        Rgba8 = ((int)0X8058),
-        Rgba8Ext = ((int)0X8058),
-        Rgb10A2 = ((int)0X8059),
-        Rgb10A2Ext = ((int)0X8059),
-        Rgba12 = ((int)0X805a),
-        Rgba12Ext = ((int)0X805a),
-        Rgba16 = ((int)0X805b),
-        Rgba16Ext = ((int)0X805b),
-        TextureRedSize = ((int)0X805c),
-        TextureRedSizeExt = ((int)0X805c),
-        TextureGreenSize = ((int)0X805d),
-        TextureGreenSizeExt = ((int)0X805d),
-        TextureBlueSize = ((int)0X805e),
-        TextureBlueSizeExt = ((int)0X805e),
-        TextureAlphaSize = ((int)0X805f),
-        TextureAlphaSizeExt = ((int)0X805f),
-        TextureLuminanceSize = ((int)0X8060),
-        TextureLuminanceSizeExt = ((int)0X8060),
-        TextureIntensitySize = ((int)0X8061),
-        TextureIntensitySizeExt = ((int)0X8061),
-        ReplaceExt = ((int)0X8062),
-        ProxyTexture1D = ((int)0X8063),
-        ProxyTexture1DExt = ((int)0X8063),
-        ProxyTexture2D = ((int)0X8064),
-        ProxyTexture2DExt = ((int)0X8064),
-        TextureTooLargeExt = ((int)0X8065),
-        TexturePriority = ((int)0X8066),
-        TexturePriorityExt = ((int)0X8066),
-        TextureResident = ((int)0X8067),
-        TextureResidentExt = ((int)0X8067),
-        Texture1DBindingExt = ((int)0X8068),
-        TextureBinding1D = ((int)0X8068),
-        Texture2DBindingExt = ((int)0X8069),
-        TextureBinding2D = ((int)0X8069),
-        Texture3DBindingExt = ((int)0X806a),
-        TextureBinding3D = ((int)0X806a),
-        PackSkipImages = ((int)0X806b),
-        PackSkipImagesExt = ((int)0X806b),
-        PackImageHeight = ((int)0X806c),
-        PackImageHeightExt = ((int)0X806c),
-        UnpackSkipImages = ((int)0X806d),
-        UnpackSkipImagesExt = ((int)0X806d),
-        UnpackImageHeight = ((int)0X806e),
-        UnpackImageHeightExt = ((int)0X806e),
-        Texture3D = ((int)0X806f),
-        Texture3DExt = ((int)0X806f),
-        ProxyTexture3D = ((int)0X8070),
-        ProxyTexture3DExt = ((int)0X8070),
-        TextureDepth = ((int)0X8071),
-        TextureDepthExt = ((int)0X8071),
-        TextureWrapR = ((int)0X8072),
-        TextureWrapRExt = ((int)0X8072),
-        Max3DTextureSize = ((int)0X8073),
-        Max3DTextureSizeExt = ((int)0X8073),
-        VertexArray = ((int)0X8074),
-        VertexArrayExt = ((int)0X8074),
-        NormalArray = ((int)0X8075),
-        NormalArrayExt = ((int)0X8075),
-        ColorArray = ((int)0X8076),
-        ColorArrayExt = ((int)0X8076),
-        IndexArray = ((int)0X8077),
-        IndexArrayExt = ((int)0X8077),
-        TextureCoordArray = ((int)0X8078),
-        TextureCoordArrayExt = ((int)0X8078),
-        EdgeFlagArray = ((int)0X8079),
-        EdgeFlagArrayExt = ((int)0X8079),
-        VertexArraySize = ((int)0X807a),
-        VertexArraySizeExt = ((int)0X807a),
-        VertexArrayType = ((int)0X807b),
-        VertexArrayTypeExt = ((int)0X807b),
-        VertexArrayStride = ((int)0X807c),
-        VertexArrayStrideExt = ((int)0X807c),
-        VertexArrayCountExt = ((int)0X807d),
-        NormalArrayType = ((int)0X807e),
-        NormalArrayTypeExt = ((int)0X807e),
-        NormalArrayStride = ((int)0X807f),
-        NormalArrayStrideExt = ((int)0X807f),
-        NormalArrayCountExt = ((int)0X8080),
-        ColorArraySize = ((int)0X8081),
-        ColorArraySizeExt = ((int)0X8081),
-        ColorArrayType = ((int)0X8082),
-        ColorArrayTypeExt = ((int)0X8082),
-        ColorArrayStride = ((int)0X8083),
-        ColorArrayStrideExt = ((int)0X8083),
-        ColorArrayCountExt = ((int)0X8084),
-        IndexArrayType = ((int)0X8085),
-        IndexArrayTypeExt = ((int)0X8085),
-        IndexArrayStride = ((int)0X8086),
-        IndexArrayStrideExt = ((int)0X8086),
-        IndexArrayCountExt = ((int)0X8087),
-        TextureCoordArraySize = ((int)0X8088),
-        TextureCoordArraySizeExt = ((int)0X8088),
-        TextureCoordArrayType = ((int)0X8089),
-        TextureCoordArrayTypeExt = ((int)0X8089),
-        TextureCoordArrayStride = ((int)0X808a),
-        TextureCoordArrayStrideExt = ((int)0X808a),
-        TextureCoordArrayCountExt = ((int)0X808b),
-        EdgeFlagArrayStride = ((int)0X808c),
-        EdgeFlagArrayStrideExt = ((int)0X808c),
-        EdgeFlagArrayCountExt = ((int)0X808d),
-        VertexArrayPointer = ((int)0X808e),
-        VertexArrayPointerExt = ((int)0X808e),
-        NormalArrayPointer = ((int)0X808f),
-        NormalArrayPointerExt = ((int)0X808f),
-        ColorArrayPointer = ((int)0X8090),
-        ColorArrayPointerExt = ((int)0X8090),
-        IndexArrayPointer = ((int)0X8091),
-        IndexArrayPointerExt = ((int)0X8091),
-        TextureCoordArrayPointer = ((int)0X8092),
-        TextureCoordArrayPointerExt = ((int)0X8092),
-        EdgeFlagArrayPointer = ((int)0X8093),
-        EdgeFlagArrayPointerExt = ((int)0X8093),
-        InterlaceSgix = ((int)0X8094),
-        DetailTexture2DSgis = ((int)0X8095),
-        DetailTexture2DBindingSgis = ((int)0X8096),
-        LinearDetailSgis = ((int)0X8097),
-        LinearDetailAlphaSgis = ((int)0X8098),
-        LinearDetailColorSgis = ((int)0X8099),
-        DetailTextureLevelSgis = ((int)0X809a),
-        DetailTextureModeSgis = ((int)0X809b),
-        DetailTextureFuncPointsSgis = ((int)0X809c),
-        Multisample = ((int)0X809d),
-        MultisampleArb = ((int)0X809d),
-        MultisampleExt = ((int)0X809d),
-        MultisampleSgis = ((int)0X809d),
-        SampleAlphaToCoverage = ((int)0X809e),
-        SampleAlphaToCoverageArb = ((int)0X809e),
-        SampleAlphaToMaskExt = ((int)0X809e),
-        SampleAlphaToMaskSgis = ((int)0X809e),
-        SampleAlphaToOne = ((int)0X809f),
-        SampleAlphaToOneArb = ((int)0X809f),
-        SampleAlphaToOneExt = ((int)0X809f),
-        SampleAlphaToOneSgis = ((int)0X809f),
-        SampleCoverage = ((int)0X80a0),
-        SampleCoverageArb = ((int)0X80a0),
-        SampleMaskExt = ((int)0X80a0),
-        SampleMaskSgis = ((int)0X80a0),
-        Gl1PassExt = ((int)0X80a1),
-        Gl1PassSgis = ((int)0X80a1),
-        Gl2Pass0Ext = ((int)0X80a2),
-        Gl2Pass0Sgis = ((int)0X80a2),
-        Gl2Pass1Ext = ((int)0X80a3),
-        Gl2Pass1Sgis = ((int)0X80a3),
-        Gl4Pass0Ext = ((int)0X80a4),
-        Gl4Pass0Sgis = ((int)0X80a4),
-        Gl4Pass1Ext = ((int)0X80a5),
-        Gl4Pass1Sgis = ((int)0X80a5),
-        Gl4Pass2Ext = ((int)0X80a6),
-        Gl4Pass2Sgis = ((int)0X80a6),
-        Gl4Pass3Ext = ((int)0X80a7),
-        Gl4Pass3Sgis = ((int)0X80a7),
-        SampleBuffers = ((int)0X80a8),
-        SampleBuffersArb = ((int)0X80a8),
-        SampleBuffersExt = ((int)0X80a8),
-        SampleBuffersSgis = ((int)0X80a8),
-        Samples = ((int)0X80a9),
-        SamplesArb = ((int)0X80a9),
-        SamplesExt = ((int)0X80a9),
-        SamplesSgis = ((int)0X80a9),
-        SampleCoverageValue = ((int)0X80aa),
-        SampleCoverageValueArb = ((int)0X80aa),
-        SampleMaskValueExt = ((int)0X80aa),
-        SampleMaskValueSgis = ((int)0X80aa),
-        SampleCoverageInvert = ((int)0X80ab),
-        SampleCoverageInvertArb = ((int)0X80ab),
-        SampleMaskInvertExt = ((int)0X80ab),
-        SampleMaskInvertSgis = ((int)0X80ab),
-        SamplePatternExt = ((int)0X80ac),
-        SamplePatternSgis = ((int)0X80ac),
-        LinearSharpenSgis = ((int)0X80ad),
-        LinearSharpenAlphaSgis = ((int)0X80ae),
-        LinearSharpenColorSgis = ((int)0X80af),
-        SharpenTextureFuncPointsSgis = ((int)0X80b0),
-        ColorMatrix = ((int)0X80b1),
-        ColorMatrixSgi = ((int)0X80b1),
-        ColorMatrixStackDepth = ((int)0X80b2),
-        ColorMatrixStackDepthSgi = ((int)0X80b2),
-        MaxColorMatrixStackDepth = ((int)0X80b3),
-        MaxColorMatrixStackDepthSgi = ((int)0X80b3),
-        PostColorMatrixRedScale = ((int)0X80b4),
-        PostColorMatrixRedScaleSgi = ((int)0X80b4),
-        PostColorMatrixGreenScale = ((int)0X80b5),
-        PostColorMatrixGreenScaleSgi = ((int)0X80b5),
-        PostColorMatrixBlueScale = ((int)0X80b6),
-        PostColorMatrixBlueScaleSgi = ((int)0X80b6),
-        PostColorMatrixAlphaScale = ((int)0X80b7),
-        PostColorMatrixAlphaScaleSgi = ((int)0X80b7),
-        PostColorMatrixRedBias = ((int)0X80b8),
-        PostColorMatrixRedBiasSgi = ((int)0X80b8),
-        PostColorMatrixGreenBias = ((int)0X80b9),
-        PostColorMatrixGreenBiasSgi = ((int)0X80b9),
-        PostColorMatrixBlueBias = ((int)0X80ba),
-        PostColorMatrixBlueBiasSgi = ((int)0X80ba),
-        PostColorMatrixAlphaBias = ((int)0X80bb),
-        PostColorMatrixAlphaBiasSgi = ((int)0X80bb),
-        TextureColorTableSgi = ((int)0X80bc),
-        ProxyTextureColorTableSgi = ((int)0X80bd),
-        TextureEnvBiasSgix = ((int)0X80be),
-        ShadowAmbientSgix = ((int)0X80bf),
-        TextureCompareFailValue = ((int)0X80bf),
-        TextureCompareFailValueArb = ((int)0X80bf),
-        BlendDstRgb = ((int)0X80c8),
-        BlendDstRgbExt = ((int)0X80c8),
-        BlendSrcRgb = ((int)0X80c9),
-        BlendSrcRgbExt = ((int)0X80c9),
-        BlendDstAlpha = ((int)0X80ca),
-        BlendDstAlphaExt = ((int)0X80ca),
-        BlendSrcAlpha = ((int)0X80cb),
-        BlendSrcAlphaExt = ((int)0X80cb),
-        Gl422Ext = ((int)0X80cc),
-        Gl422RevExt = ((int)0X80cd),
-        Gl422AverageExt = ((int)0X80ce),
-        Gl422RevAverageExt = ((int)0X80cf),
-        ColorTable = ((int)0X80d0),
-        ColorTableSgi = ((int)0X80d0),
-        PostConvolutionColorTable = ((int)0X80d1),
-        PostConvolutionColorTableSgi = ((int)0X80d1),
-        PostColorMatrixColorTable = ((int)0X80d2),
-        PostColorMatrixColorTableSgi = ((int)0X80d2),
-        ProxyColorTable = ((int)0X80d3),
-        ProxyColorTableSgi = ((int)0X80d3),
-        ProxyPostConvolutionColorTable = ((int)0X80d4),
-        ProxyPostConvolutionColorTableSgi = ((int)0X80d4),
-        ProxyPostColorMatrixColorTable = ((int)0X80d5),
-        ProxyPostColorMatrixColorTableSgi = ((int)0X80d5),
-        ColorTableScale = ((int)0X80d6),
-        ColorTableScaleSgi = ((int)0X80d6),
-        ColorTableBias = ((int)0X80d7),
-        ColorTableBiasSgi = ((int)0X80d7),
-        ColorTableFormat = ((int)0X80d8),
-        ColorTableFormatSgi = ((int)0X80d8),
-        ColorTableWidth = ((int)0X80d9),
-        ColorTableWidthSgi = ((int)0X80d9),
-        ColorTableRedSize = ((int)0X80da),
-        ColorTableRedSizeSgi = ((int)0X80da),
-        ColorTableGreenSize = ((int)0X80db),
-        ColorTableGreenSizeSgi = ((int)0X80db),
-        ColorTableBlueSize = ((int)0X80dc),
-        ColorTableBlueSizeSgi = ((int)0X80dc),
-        ColorTableAlphaSize = ((int)0X80dd),
-        ColorTableAlphaSizeSgi = ((int)0X80dd),
-        ColorTableLuminanceSize = ((int)0X80de),
-        ColorTableLuminanceSizeSgi = ((int)0X80de),
-        ColorTableIntensitySize = ((int)0X80df),
-        ColorTableIntensitySizeSgi = ((int)0X80df),
-        Bgr = ((int)0X80e0),
-        BgrExt = ((int)0X80e0),
-        Bgra = ((int)0X80e1),
-        BgraExt = ((int)0X80e1),
-        ColorIndex1Ext = ((int)0X80e2),
-        ColorIndex2Ext = ((int)0X80e3),
-        ColorIndex4Ext = ((int)0X80e4),
-        ColorIndex8Ext = ((int)0X80e5),
-        ColorIndex12Ext = ((int)0X80e6),
-        ColorIndex16Ext = ((int)0X80e7),
-        MaxElementsVertices = ((int)0X80e8),
-        MaxElementsVerticesExt = ((int)0X80e8),
-        MaxElementsIndices = ((int)0X80e9),
-        MaxElementsIndicesExt = ((int)0X80e9),
-        PhongWin = ((int)0X80ea),
-        PhongHintWin = ((int)0X80eb),
-        FogSpecularTextureWin = ((int)0X80ec),
-        TextureIndexSizeExt = ((int)0X80ed),
-        ClipVolumeClippingHintExt = ((int)0X80f0),
-        DualAlpha4Sgis = ((int)0X8110),
-        DualAlpha8Sgis = ((int)0X8111),
-        DualAlpha12Sgis = ((int)0X8112),
-        DualAlpha16Sgis = ((int)0X8113),
-        DualLuminance4Sgis = ((int)0X8114),
-        DualLuminance8Sgis = ((int)0X8115),
-        DualLuminance12Sgis = ((int)0X8116),
-        DualLuminance16Sgis = ((int)0X8117),
-        DualIntensity4Sgis = ((int)0X8118),
-        DualIntensity8Sgis = ((int)0X8119),
-        DualIntensity12Sgis = ((int)0X811a),
-        DualIntensity16Sgis = ((int)0X811b),
-        DualLuminanceAlpha4Sgis = ((int)0X811c),
-        DualLuminanceAlpha8Sgis = ((int)0X811d),
-        QuadAlpha4Sgis = ((int)0X811e),
-        QuadAlpha8Sgis = ((int)0X811f),
-        QuadLuminance4Sgis = ((int)0X8120),
-        QuadLuminance8Sgis = ((int)0X8121),
-        QuadIntensity4Sgis = ((int)0X8122),
-        QuadIntensity8Sgis = ((int)0X8123),
-        DualTextureSelectSgis = ((int)0X8124),
-        QuadTextureSelectSgis = ((int)0X8125),
-        PointSizeMin = ((int)0X8126),
-        PointSizeMinArb = ((int)0X8126),
-        PointSizeMinExt = ((int)0X8126),
-        PointSizeMinSgis = ((int)0X8126),
-        PointSizeMax = ((int)0X8127),
-        PointSizeMaxArb = ((int)0X8127),
-        PointSizeMaxExt = ((int)0X8127),
-        PointSizeMaxSgis = ((int)0X8127),
-        PointFadeThresholdSize = ((int)0X8128),
-        PointFadeThresholdSizeArb = ((int)0X8128),
-        PointFadeThresholdSizeExt = ((int)0X8128),
-        PointFadeThresholdSizeSgis = ((int)0X8128),
-        DistanceAttenuationExt = ((int)0X8129),
-        DistanceAttenuationSgis = ((int)0X8129),
-        PointDistanceAttenuation = ((int)0X8129),
-        PointDistanceAttenuationArb = ((int)0X8129),
-        FogFuncSgis = ((int)0X812a),
-        FogFuncPointsSgis = ((int)0X812b),
-        MaxFogFuncPointsSgis = ((int)0X812c),
-        ClampToBorder = ((int)0X812d),
-        ClampToBorderArb = ((int)0X812d),
-        ClampToBorderSgis = ((int)0X812d),
-        TextureMultiBufferHintSgix = ((int)0X812e),
-        ClampToEdge = ((int)0X812f),
-        ClampToEdgeSgis = ((int)0X812f),
-        PackSkipVolumesSgis = ((int)0X8130),
-        PackImageDepthSgis = ((int)0X8131),
-        UnpackSkipVolumesSgis = ((int)0X8132),
-        UnpackImageDepthSgis = ((int)0X8133),
-        Texture4DSgis = ((int)0X8134),
-        ProxyTexture4DSgis = ((int)0X8135),
-        Texture4DsizeSgis = ((int)0X8136),
-        TextureWrapQSgis = ((int)0X8137),
-        Max4DTextureSizeSgis = ((int)0X8138),
-        PixelTexGenSgix = ((int)0X8139),
-        TextureMinLod = ((int)0X813a),
-        TextureMinLodSgis = ((int)0X813a),
-        TextureMaxLod = ((int)0X813b),
-        TextureMaxLodSgis = ((int)0X813b),
-        TextureBaseLevel = ((int)0X813c),
-        TextureBaseLevelSgis = ((int)0X813c),
-        TextureMaxLevel = ((int)0X813d),
-        TextureMaxLevelSgis = ((int)0X813d),
-        PixelTileBestAlignmentSgix = ((int)0X813e),
-        PixelTileCacheIncrementSgix = ((int)0X813f),
-        PixelTileWidthSgix = ((int)0X8140),
-        PixelTileHeightSgix = ((int)0X8141),
-        PixelTileGridWidthSgix = ((int)0X8142),
-        PixelTileGridHeightSgix = ((int)0X8143),
-        PixelTileGridDepthSgix = ((int)0X8144),
-        PixelTileCacheSizeSgix = ((int)0X8145),
-        Filter4Sgis = ((int)0X8146),
-        TextureFilter4SizeSgis = ((int)0X8147),
-        SpriteSgix = ((int)0X8148),
-        SpriteModeSgix = ((int)0X8149),
-        SpriteAxisSgix = ((int)0X814a),
-        SpriteTranslationSgix = ((int)0X814b),
-        SpriteAxialSgix = ((int)0X814c),
-        SpriteObjectAlignedSgix = ((int)0X814d),
-        SpriteEyeAlignedSgix = ((int)0X814e),
-        Texture4DBindingSgis = ((int)0X814f),
-        IgnoreBorderHp = ((int)0X8150),
-        ConstantBorder = ((int)0X8151),
-        ConstantBorderHp = ((int)0X8151),
-        ReplicateBorder = ((int)0X8153),
-        ReplicateBorderHp = ((int)0X8153),
-        ConvolutionBorderColor = ((int)0X8154),
-        ConvolutionBorderColorHp = ((int)0X8154),
-        ImageScaleXHp = ((int)0X8155),
-        ImageScaleYHp = ((int)0X8156),
-        ImageTranslateXHp = ((int)0X8157),
-        ImageTranslateYHp = ((int)0X8158),
-        ImageRotateAngleHp = ((int)0X8159),
-        ImageRotateOriginXHp = ((int)0X815a),
-        ImageRotateOriginYHp = ((int)0X815b),
-        ImageMagFilterHp = ((int)0X815c),
-        ImageMinFilterHp = ((int)0X815d),
-        ImageCubicWeightHp = ((int)0X815e),
-        CubicHp = ((int)0X815f),
-        AverageHp = ((int)0X8160),
-        ImageTransform2DHp = ((int)0X8161),
-        PostImageTransformColorTableHp = ((int)0X8162),
-        ProxyPostImageTransformColorTableHp = ((int)0X8163),
-        OcclusionTestHp = ((int)0X8165),
-        OcclusionTestResultHp = ((int)0X8166),
-        TextureLightingModeHp = ((int)0X8167),
-        TexturePostSpecularHp = ((int)0X8168),
-        TexturePreSpecularHp = ((int)0X8169),
-        LinearClipmapLinearSgix = ((int)0X8170),
-        TextureClipmapCenterSgix = ((int)0X8171),
-        TextureClipmapFrameSgix = ((int)0X8172),
-        TextureClipmapOffsetSgix = ((int)0X8173),
-        TextureClipmapVirtualDepthSgix = ((int)0X8174),
-        TextureClipmapLodOffsetSgix = ((int)0X8175),
-        TextureClipmapDepthSgix = ((int)0X8176),
-        MaxClipmapDepthSgix = ((int)0X8177),
-        MaxClipmapVirtualDepthSgix = ((int)0X8178),
-        PostTextureFilterBiasSgix = ((int)0X8179),
-        PostTextureFilterScaleSgix = ((int)0X817a),
-        PostTextureFilterBiasRangeSgix = ((int)0X817b),
-        PostTextureFilterScaleRangeSgix = ((int)0X817c),
-        ReferencePlaneSgix = ((int)0X817d),
-        ReferencePlaneEquationSgix = ((int)0X817e),
-        IrInstrument1Sgix = ((int)0X817f),
-        InstrumentBufferPointerSgix = ((int)0X8180),
-        InstrumentMeasurementsSgix = ((int)0X8181),
-        ListPrioritySgix = ((int)0X8182),
-        CalligraphicFragmentSgix = ((int)0X8183),
-        PixelTexGenQCeilingSgix = ((int)0X8184),
-        PixelTexGenQRoundSgix = ((int)0X8185),
-        PixelTexGenQFloorSgix = ((int)0X8186),
-        PixelTexGenAlphaReplaceSgix = ((int)0X8187),
-        PixelTexGenAlphaNoReplaceSgix = ((int)0X8188),
-        PixelTexGenAlphaLsSgix = ((int)0X8189),
-        PixelTexGenAlphaMsSgix = ((int)0X818a),
-        FramezoomSgix = ((int)0X818b),
-        FramezoomFactorSgix = ((int)0X818c),
-        MaxFramezoomFactorSgix = ((int)0X818d),
-        TextureLodBiasSSgix = ((int)0X818e),
-        TextureLodBiasTSgix = ((int)0X818f),
-        TextureLodBiasRSgix = ((int)0X8190),
-        GenerateMipmap = ((int)0X8191),
-        GenerateMipmapSgis = ((int)0X8191),
-        GenerateMipmapHint = ((int)0X8192),
-        GenerateMipmapHintSgis = ((int)0X8192),
-        GeometryDeformationSgix = ((int)0X8194),
-        TextureDeformationSgix = ((int)0X8195),
-        DeformationsMaskSgix = ((int)0X8196),
-        MaxDeformationOrderSgix = ((int)0X8197),
-        FogOffsetSgix = ((int)0X8198),
-        FogOffsetValueSgix = ((int)0X8199),
-        TextureCompareSgix = ((int)0X819a),
-        TextureCompareOperatorSgix = ((int)0X819b),
-        TextureLequalRSgix = ((int)0X819c),
-        TextureGequalRSgix = ((int)0X819d),
-        DepthComponent16 = ((int)0X81a5),
-        DepthComponent16Arb = ((int)0X81a5),
-        DepthComponent16Sgix = ((int)0X81a5),
-        DepthComponent24 = ((int)0X81a6),
-        DepthComponent24Arb = ((int)0X81a6),
-        DepthComponent24Sgix = ((int)0X81a6),
-        DepthComponent32 = ((int)0X81a7),
-        DepthComponent32Arb = ((int)0X81a7),
-        DepthComponent32Sgix = ((int)0X81a7),
-        ArrayElementLockFirstExt = ((int)0X81a8),
-        ArrayElementLockCountExt = ((int)0X81a9),
-        CullVertexExt = ((int)0X81aa),
-        CullVertexEyePositionExt = ((int)0X81ab),
-        CullVertexObjectPositionExt = ((int)0X81ac),
-        IuiV2fExt = ((int)0X81ad),
-        IuiV3fExt = ((int)0X81ae),
-        IuiN3fV2fExt = ((int)0X81af),
-        IuiN3fV3fExt = ((int)0X81b0),
-        T2fIuiV2fExt = ((int)0X81b1),
-        T2fIuiV3fExt = ((int)0X81b2),
-        T2fIuiN3fV2fExt = ((int)0X81b3),
-        T2fIuiN3fV3fExt = ((int)0X81b4),
-        IndexTestExt = ((int)0X81b5),
-        IndexTestFuncExt = ((int)0X81b6),
-        IndexTestRefExt = ((int)0X81b7),
-        IndexMaterialExt = ((int)0X81b8),
-        IndexMaterialParameterExt = ((int)0X81b9),
-        IndexMaterialFaceExt = ((int)0X81ba),
-        Ycrcb422Sgix = ((int)0X81bb),
-        Ycrcb444Sgix = ((int)0X81bc),
-        WrapBorderSun = ((int)0X81d4),
-        UnpackConstantDataSunx = ((int)0X81d5),
-        TextureConstantDataSunx = ((int)0X81d6),
-        TriangleListSun = ((int)0X81d7),
-        ReplacementCodeSun = ((int)0X81d8),
-        GlobalAlphaSun = ((int)0X81d9),
-        GlobalAlphaFactorSun = ((int)0X81da),
-        TextureColorWritemaskSgis = ((int)0X81ef),
-        EyeDistanceToPointSgis = ((int)0X81f0),
-        ObjectDistanceToPointSgis = ((int)0X81f1),
-        EyeDistanceToLineSgis = ((int)0X81f2),
-        ObjectDistanceToLineSgis = ((int)0X81f3),
-        EyePointSgis = ((int)0X81f4),
-        ObjectPointSgis = ((int)0X81f5),
-        EyeLineSgis = ((int)0X81f6),
-        ObjectLineSgis = ((int)0X81f7),
-        LightModelColorControl = ((int)0X81f8),
-        LightModelColorControlExt = ((int)0X81f8),
-        SingleColor = ((int)0X81f9),
-        SingleColorExt = ((int)0X81f9),
-        SeparateSpecularColor = ((int)0X81fa),
-        SeparateSpecularColorExt = ((int)0X81fa),
-        SharedTexturePaletteExt = ((int)0X81fb),
-        FogScaleSgix = ((int)0X81fc),
-        FogScaleValueSgix = ((int)0X81fd),
-        TextFragmentShaderAti = ((int)0X8200),
-        FramebufferAttachmentColorEncoding = ((int)0X8210),
-        FramebufferAttachmentComponentType = ((int)0X8211),
-        FramebufferAttachmentRedSize = ((int)0X8212),
-        FramebufferAttachmentGreenSize = ((int)0X8213),
-        FramebufferAttachmentBlueSize = ((int)0X8214),
-        FramebufferAttachmentAlphaSize = ((int)0X8215),
-        FramebufferAttachmentDepthSize = ((int)0X8216),
-        FramebufferAttachmentStencilSize = ((int)0X8217),
-        FramebufferDefault = ((int)0X8218),
-        FramebufferUndefined = ((int)0X8219),
-        DepthStencilAttachment = ((int)0X821a),
-        MajorVersion = ((int)0X821b),
-        MinorVersion = ((int)0X821c),
-        NumExtensions = ((int)0X821d),
-        ContextFlags = ((int)0X821e),
-        Index = ((int)0X8222),
-        DepthBuffer = ((int)0X8223),
-        StencilBuffer = ((int)0X8224),
-        CompressedRed = ((int)0X8225),
-        CompressedRg = ((int)0X8226),
-        Rg = ((int)0X8227),
-        RgInteger = ((int)0X8228),
-        R8 = ((int)0X8229),
-        R16 = ((int)0X822a),
-        Rg8 = ((int)0X822b),
-        Rg16 = ((int)0X822c),
-        R16f = ((int)0X822d),
-        R32f = ((int)0X822e),
-        Rg16f = ((int)0X822f),
-        Rg32f = ((int)0X8230),
-        R8i = ((int)0X8231),
-        R8ui = ((int)0X8232),
-        R16i = ((int)0X8233),
-        R16ui = ((int)0X8234),
-        R32i = ((int)0X8235),
-        R32ui = ((int)0X8236),
-        Rg8i = ((int)0X8237),
-        Rg8ui = ((int)0X8238),
-        Rg16i = ((int)0X8239),
-        Rg16ui = ((int)0X823a),
-        Rg32i = ((int)0X823b),
-        Rg32ui = ((int)0X823c),
-        DepthPassInstrumentSgix = ((int)0X8310),
-        DepthPassInstrumentCountersSgix = ((int)0X8311),
-        DepthPassInstrumentMaxSgix = ((int)0X8312),
-        ConvolutionHintSgix = ((int)0X8316),
-        YcrcbSgix = ((int)0X8318),
-        YcrcbaSgix = ((int)0X8319),
-        AlphaMinSgix = ((int)0X8320),
-        AlphaMaxSgix = ((int)0X8321),
-        ScalebiasHintSgix = ((int)0X8322),
-        AsyncMarkerSgix = ((int)0X8329),
-        PixelTexGenModeSgix = ((int)0X832b),
-        AsyncHistogramSgix = ((int)0X832c),
-        MaxAsyncHistogramSgix = ((int)0X832d),
-        PixelTransform2DExt = ((int)0X8330),
-        PixelMagFilterExt = ((int)0X8331),
-        PixelMinFilterExt = ((int)0X8332),
-        PixelCubicWeightExt = ((int)0X8333),
-        CubicExt = ((int)0X8334),
-        AverageExt = ((int)0X8335),
-        PixelTransform2DStackDepthExt = ((int)0X8336),
-        MaxPixelTransform2DStackDepthExt = ((int)0X8337),
-        PixelTransform2DMatrixExt = ((int)0X8338),
-        FragmentMaterialExt = ((int)0X8349),
-        FragmentNormalExt = ((int)0X834a),
-        FragmentColorExt = ((int)0X834c),
-        AttenuationExt = ((int)0X834d),
-        ShadowAttenuationExt = ((int)0X834e),
-        TextureApplicationModeExt = ((int)0X834f),
-        TextureLightExt = ((int)0X8350),
-        TextureMaterialFaceExt = ((int)0X8351),
-        TextureMaterialParameterExt = ((int)0X8352),
-        PixelTextureSgis = ((int)0X8353),
-        PixelFragmentRgbSourceSgis = ((int)0X8354),
-        PixelFragmentAlphaSourceSgis = ((int)0X8355),
-        PixelGroupColorSgis = ((int)0X8356),
-        AsyncTexImageSgix = ((int)0X835c),
-        AsyncDrawPixelsSgix = ((int)0X835d),
-        AsyncReadPixelsSgix = ((int)0X835e),
-        MaxAsyncTexImageSgix = ((int)0X835f),
-        MaxAsyncDrawPixelsSgix = ((int)0X8360),
-        MaxAsyncReadPixelsSgix = ((int)0X8361),
-        UnsignedByte233Rev = ((int)0X8362),
-        UnsignedByte233Reversed = ((int)0X8362),
-        UnsignedByte233RevExt = ((int)0X8362),
-        UnsignedShort565 = ((int)0X8363),
-        UnsignedShort565Ext = ((int)0X8363),
-        UnsignedShort565Rev = ((int)0X8364),
-        UnsignedShort565Reversed = ((int)0X8364),
-        UnsignedShort565RevExt = ((int)0X8364),
-        UnsignedShort4444Rev = ((int)0X8365),
-        UnsignedShort4444Reversed = ((int)0X8365),
-        UnsignedShort4444RevExt = ((int)0X8365),
-        UnsignedShort1555Rev = ((int)0X8366),
-        UnsignedShort1555Reversed = ((int)0X8366),
-        UnsignedShort1555RevExt = ((int)0X8366),
-        UnsignedInt8888Rev = ((int)0X8367),
-        UnsignedInt8888Reversed = ((int)0X8367),
-        UnsignedInt8888RevExt = ((int)0X8367),
-        UnsignedInt2101010Rev = ((int)0X8368),
-        UnsignedInt2101010Reversed = ((int)0X8368),
-        UnsignedInt2101010RevExt = ((int)0X8368),
-        TextureMaxClampSSgix = ((int)0X8369),
-        TextureMaxClampTSgix = ((int)0X836a),
-        TextureMaxClampRSgix = ((int)0X836b),
-        FogFactorToAlphaSgix = ((int)0X836f),
-        MirroredRepeat = ((int)0X8370),
-        MirroredRepeatArb = ((int)0X8370),
-        MirroredRepeatIbm = ((int)0X8370),
-        RgbS3tc = ((int)0X83a0),
-        Rgb4S3tc = ((int)0X83a1),
-        RgbaS3tc = ((int)0X83a2),
-        Rgba4S3tc = ((int)0X83a3),
-        VertexPreclipSgix = ((int)0X83ee),
-        VertexPreclipHintSgix = ((int)0X83ef),
-        CompressedRgbS3tcDxt1Ext = ((int)0X83f0),
-        CompressedRgbaS3tcDxt1Ext = ((int)0X83f1),
-        CompressedRgbaS3tcDxt3Ext = ((int)0X83f2),
-        CompressedRgbaS3tcDxt5Ext = ((int)0X83f3),
-        ParallelArraysIntel = ((int)0X83f4),
-        VertexArrayParallelPointersIntel = ((int)0X83f5),
-        NormalArrayParallelPointersIntel = ((int)0X83f6),
-        ColorArrayParallelPointersIntel = ((int)0X83f7),
-        TextureCoordArrayParallelPointersIntel = ((int)0X83f8),
-        FragmentLightingSgix = ((int)0X8400),
-        FragmentColorMaterialSgix = ((int)0X8401),
-        FragmentColorMaterialFaceSgix = ((int)0X8402),
-        FragmentColorMaterialParameterSgix = ((int)0X8403),
-        MaxFragmentLightsSgix = ((int)0X8404),
-        MaxActiveLightsSgix = ((int)0X8405),
-        CurrentRasterNormalSgix = ((int)0X8406),
-        LightEnvModeSgix = ((int)0X8407),
-        FragmentLightModelLocalViewerSgix = ((int)0X8408),
-        FragmentLightModelTwoSideSgix = ((int)0X8409),
-        FragmentLightModelAmbientSgix = ((int)0X840a),
-        FragmentLightModelNormalInterpolationSgix = ((int)0X840b),
-        FragmentLight0Sgix = ((int)0X840c),
-        FragmentLight1Sgix = ((int)0X840d),
-        FragmentLight2Sgix = ((int)0X840e),
-        FragmentLight3Sgix = ((int)0X840f),
-        FragmentLight4Sgix = ((int)0X8410),
-        FragmentLight5Sgix = ((int)0X8411),
-        FragmentLight6Sgix = ((int)0X8412),
-        FragmentLight7Sgix = ((int)0X8413),
-        PackResampleSgix = ((int)0X842c),
-        UnpackResampleSgix = ((int)0X842d),
-        ResampleReplicateSgix = ((int)0X842e),
-        ResampleZeroFillSgix = ((int)0X842f),
-        ResampleDecimateSgix = ((int)0X8430),
-        TangentArrayExt = ((int)0X8439),
-        BinormalArrayExt = ((int)0X843a),
-        CurrentTangentExt = ((int)0X843b),
-        CurrentBinormalExt = ((int)0X843c),
-        TangentArrayTypeExt = ((int)0X843e),
-        TangentArrayStrideExt = ((int)0X843f),
-        BinormalArrayTypeExt = ((int)0X8440),
-        BinormalArrayStrideExt = ((int)0X8441),
-        TangentArrayPointerExt = ((int)0X8442),
-        BinormalArrayPointerExt = ((int)0X8443),
-        Map1TangentExt = ((int)0X8444),
-        Map2TangentExt = ((int)0X8445),
-        Map1BinormalExt = ((int)0X8446),
-        Map2BinormalExt = ((int)0X8447),
-        NearestClipmapNearestSgix = ((int)0X844d),
-        NearestClipmapLinearSgix = ((int)0X844e),
-        LinearClipmapNearestSgix = ((int)0X844f),
-        FogCoordinateSource = ((int)0X8450),
-        FogCoordinateSourceExt = ((int)0X8450),
-        FogCoordSrc = ((int)0X8450),
-        FogCoord = ((int)0X8451),
-        FogCoordinate = ((int)0X8451),
-        FogCoordinateExt = ((int)0X8451),
-        FragmentDepth = ((int)0X8452),
-        FragmentDepthExt = ((int)0X8452),
-        CurrentFogCoord = ((int)0X8453),
-        CurrentFogCoordinate = ((int)0X8453),
-        CurrentFogCoordinateExt = ((int)0X8453),
-        FogCoordArrayType = ((int)0X8454),
-        FogCoordinateArrayType = ((int)0X8454),
-        FogCoordinateArrayTypeExt = ((int)0X8454),
-        FogCoordArrayStride = ((int)0X8455),
-        FogCoordinateArrayStride = ((int)0X8455),
-        FogCoordinateArrayStrideExt = ((int)0X8455),
-        FogCoordArrayPointer = ((int)0X8456),
-        FogCoordinateArrayPointer = ((int)0X8456),
-        FogCoordinateArrayPointerExt = ((int)0X8456),
-        FogCoordArray = ((int)0X8457),
-        FogCoordinateArray = ((int)0X8457),
-        FogCoordinateArrayExt = ((int)0X8457),
-        ColorSum = ((int)0X8458),
-        ColorSumArb = ((int)0X8458),
-        ColorSumExt = ((int)0X8458),
-        CurrentSecondaryColor = ((int)0X8459),
-        CurrentSecondaryColorExt = ((int)0X8459),
-        SecondaryColorArraySize = ((int)0X845a),
-        SecondaryColorArraySizeExt = ((int)0X845a),
-        SecondaryColorArrayType = ((int)0X845b),
-        SecondaryColorArrayTypeExt = ((int)0X845b),
-        SecondaryColorArrayStride = ((int)0X845c),
-        SecondaryColorArrayStrideExt = ((int)0X845c),
-        SecondaryColorArrayPointer = ((int)0X845d),
-        SecondaryColorArrayPointerExt = ((int)0X845d),
-        SecondaryColorArray = ((int)0X845e),
-        SecondaryColorArrayExt = ((int)0X845e),
-        CurrentRasterSecondaryColor = ((int)0X845f),
-        AliasedPointSizeRange = ((int)0X846d),
-        AliasedLineWidthRange = ((int)0X846e),
-        ScreenCoordinatesRend = ((int)0X8490),
-        InvertedScreenWRend = ((int)0X8491),
-        Texture0 = ((int)0X84c0),
-        Texture0Arb = ((int)0X84c0),
-        Texture1 = ((int)0X84c1),
-        Texture1Arb = ((int)0X84c1),
-        Texture2 = ((int)0X84c2),
-        Texture2Arb = ((int)0X84c2),
-        Texture3 = ((int)0X84c3),
-        Texture3Arb = ((int)0X84c3),
-        Texture4 = ((int)0X84c4),
-        Texture4Arb = ((int)0X84c4),
-        Texture5 = ((int)0X84c5),
-        Texture5Arb = ((int)0X84c5),
-        Texture6 = ((int)0X84c6),
-        Texture6Arb = ((int)0X84c6),
-        Texture7 = ((int)0X84c7),
-        Texture7Arb = ((int)0X84c7),
-        Texture8 = ((int)0X84c8),
-        Texture8Arb = ((int)0X84c8),
-        Texture9 = ((int)0X84c9),
-        Texture9Arb = ((int)0X84c9),
-        Texture10 = ((int)0X84ca),
-        Texture10Arb = ((int)0X84ca),
-        Texture11 = ((int)0X84cb),
-        Texture11Arb = ((int)0X84cb),
-        Texture12 = ((int)0X84cc),
-        Texture12Arb = ((int)0X84cc),
-        Texture13 = ((int)0X84cd),
-        Texture13Arb = ((int)0X84cd),
-        Texture14 = ((int)0X84ce),
-        Texture14Arb = ((int)0X84ce),
-        Texture15 = ((int)0X84cf),
-        Texture15Arb = ((int)0X84cf),
-        Texture16 = ((int)0X84d0),
-        Texture16Arb = ((int)0X84d0),
-        Texture17 = ((int)0X84d1),
-        Texture17Arb = ((int)0X84d1),
-        Texture18 = ((int)0X84d2),
-        Texture18Arb = ((int)0X84d2),
-        Texture19 = ((int)0X84d3),
-        Texture19Arb = ((int)0X84d3),
-        Texture20 = ((int)0X84d4),
-        Texture20Arb = ((int)0X84d4),
-        Texture21 = ((int)0X84d5),
-        Texture21Arb = ((int)0X84d5),
-        Texture22 = ((int)0X84d6),
-        Texture22Arb = ((int)0X84d6),
-        Texture23 = ((int)0X84d7),
-        Texture23Arb = ((int)0X84d7),
-        Texture24 = ((int)0X84d8),
-        Texture24Arb = ((int)0X84d8),
-        Texture25 = ((int)0X84d9),
-        Texture25Arb = ((int)0X84d9),
-        Texture26 = ((int)0X84da),
-        Texture26Arb = ((int)0X84da),
-        Texture27 = ((int)0X84db),
-        Texture27Arb = ((int)0X84db),
-        Texture28 = ((int)0X84dc),
-        Texture28Arb = ((int)0X84dc),
-        Texture29 = ((int)0X84dd),
-        Texture29Arb = ((int)0X84dd),
-        Texture30 = ((int)0X84de),
-        Texture30Arb = ((int)0X84de),
-        Texture31 = ((int)0X84df),
-        Texture31Arb = ((int)0X84df),
-        ActiveTexture = ((int)0X84e0),
-        ActiveTextureArb = ((int)0X84e0),
-        ClientActiveTexture = ((int)0X84e1),
-        ClientActiveTextureArb = ((int)0X84e1),
-        MaxTextureUnits = ((int)0X84e2),
-        MaxTextureUnitsArb = ((int)0X84e2),
-        TransposeModelviewMatrix = ((int)0X84e3),
-        TransposeModelviewMatrixArb = ((int)0X84e3),
-        TransposeProjectionMatrix = ((int)0X84e4),
-        TransposeProjectionMatrixArb = ((int)0X84e4),
-        TransposeTextureMatrix = ((int)0X84e5),
-        TransposeTextureMatrixArb = ((int)0X84e5),
-        TransposeColorMatrix = ((int)0X84e6),
-        TransposeColorMatrixArb = ((int)0X84e6),
-        Subtract = ((int)0X84e7),
-        SubtractArb = ((int)0X84e7),
-        MaxRenderbufferSize = ((int)0X84e8),
-        MaxRenderbufferSizeExt = ((int)0X84e8),
-        CompressedAlpha = ((int)0X84e9),
-        CompressedAlphaArb = ((int)0X84e9),
-        CompressedLuminance = ((int)0X84ea),
-        CompressedLuminanceArb = ((int)0X84ea),
-        CompressedLuminanceAlpha = ((int)0X84eb),
-        CompressedLuminanceAlphaArb = ((int)0X84eb),
-        CompressedIntensity = ((int)0X84ec),
-        CompressedIntensityArb = ((int)0X84ec),
-        CompressedRgb = ((int)0X84ed),
-        CompressedRgbArb = ((int)0X84ed),
-        CompressedRgba = ((int)0X84ee),
-        CompressedRgbaArb = ((int)0X84ee),
-        TextureCompressionHint = ((int)0X84ef),
-        TextureCompressionHintArb = ((int)0X84ef),
-        AllCompletedNv = ((int)0X84f2),
-        FenceStatusNv = ((int)0X84f3),
-        FenceConditionNv = ((int)0X84f4),
-        TextureRectangle = ((int)0X84f5),
-        TextureRectangleArb = ((int)0X84f5),
-        TextureRectangleNv = ((int)0X84f5),
-        TextureBindingRectangle = ((int)0X84f6),
-        TextureBindingRectangleArb = ((int)0X84f6),
-        TextureBindingRectangleNv = ((int)0X84f6),
-        ProxyTextureRectangle = ((int)0X84f7),
-        ProxyTextureRectangleArb = ((int)0X84f7),
-        ProxyTextureRectangleNv = ((int)0X84f7),
-        MaxRectangleTextureSize = ((int)0X84f8),
-        MaxRectangleTextureSizeArb = ((int)0X84f8),
-        MaxRectangleTextureSizeNv = ((int)0X84f8),
-        DepthStencil = ((int)0X84f9),
-        DepthStencilExt = ((int)0X84f9),
-        DepthStencilNv = ((int)0X84f9),
-        UnsignedInt248 = ((int)0X84fa),
-        UnsignedInt248Ext = ((int)0X84fa),
-        UnsignedInt248Nv = ((int)0X84fa),
-        MaxTextureLodBias = ((int)0X84fd),
-        MaxTextureLodBiasExt = ((int)0X84fd),
-        TextureMaxAnisotropyExt = ((int)0X84fe),
-        MaxTextureMaxAnisotropyExt = ((int)0X84ff),
-        TextureFilterControl = ((int)0X8500),
-        TextureFilterControlExt = ((int)0X8500),
-        TextureLodBias = ((int)0X8501),
-        TextureLodBiasExt = ((int)0X8501),
-        Modelview1StackDepthExt = ((int)0X8502),
-        Combine4Nv = ((int)0X8503),
-        MaxShininessNv = ((int)0X8504),
-        MaxSpotExponentNv = ((int)0X8505),
-        Modelview1MatrixExt = ((int)0X8506),
-        IncrWrap = ((int)0X8507),
-        IncrWrapExt = ((int)0X8507),
-        DecrWrap = ((int)0X8508),
-        DecrWrapExt = ((int)0X8508),
-        VertexWeightingExt = ((int)0X8509),
-        Modelview1Arb = ((int)0X850a),
-        Modelview1Ext = ((int)0X850a),
-        CurrentVertexWeightExt = ((int)0X850b),
-        VertexWeightArrayExt = ((int)0X850c),
-        VertexWeightArraySizeExt = ((int)0X850d),
-        VertexWeightArrayTypeExt = ((int)0X850e),
-        VertexWeightArrayStrideExt = ((int)0X850f),
-        VertexWeightArrayPointerExt = ((int)0X8510),
-        NormalMap = ((int)0X8511),
-        NormalMapArb = ((int)0X8511),
-        NormalMapExt = ((int)0X8511),
-        NormalMapNv = ((int)0X8511),
-        ReflectionMap = ((int)0X8512),
-        ReflectionMapArb = ((int)0X8512),
-        ReflectionMapExt = ((int)0X8512),
-        ReflectionMapNv = ((int)0X8512),
-        TextureCubeMap = ((int)0X8513),
-        TextureCubeMapArb = ((int)0X8513),
-        TextureCubeMapExt = ((int)0X8513),
-        TextureBindingCubeMap = ((int)0X8514),
-        TextureBindingCubeMapArb = ((int)0X8514),
-        TextureBindingCubeMapExt = ((int)0X8514),
-        TextureCubeMapPositiveX = ((int)0X8515),
-        TextureCubeMapPositiveXArb = ((int)0X8515),
-        TextureCubeMapPositiveXExt = ((int)0X8515),
-        TextureCubeMapNegativeX = ((int)0X8516),
-        TextureCubeMapNegativeXArb = ((int)0X8516),
-        TextureCubeMapNegativeXExt = ((int)0X8516),
-        TextureCubeMapPositiveY = ((int)0X8517),
-        TextureCubeMapPositiveYArb = ((int)0X8517),
-        TextureCubeMapPositiveYExt = ((int)0X8517),
-        TextureCubeMapNegativeY = ((int)0X8518),
-        TextureCubeMapNegativeYArb = ((int)0X8518),
-        TextureCubeMapNegativeYExt = ((int)0X8518),
-        TextureCubeMapPositiveZ = ((int)0X8519),
-        TextureCubeMapPositiveZArb = ((int)0X8519),
-        TextureCubeMapPositiveZExt = ((int)0X8519),
-        TextureCubeMapNegativeZ = ((int)0X851a),
-        TextureCubeMapNegativeZArb = ((int)0X851a),
-        TextureCubeMapNegativeZExt = ((int)0X851a),
-        ProxyTextureCubeMap = ((int)0X851b),
-        ProxyTextureCubeMapArb = ((int)0X851b),
-        ProxyTextureCubeMapExt = ((int)0X851b),
-        MaxCubeMapTextureSize = ((int)0X851c),
-        MaxCubeMapTextureSizeArb = ((int)0X851c),
-        MaxCubeMapTextureSizeExt = ((int)0X851c),
-        VertexArrayRangeApple = ((int)0X851d),
-        VertexArrayRangeNv = ((int)0X851d),
-        VertexArrayRangeLengthApple = ((int)0X851e),
-        VertexArrayRangeLengthNv = ((int)0X851e),
-        VertexArrayRangeValidNv = ((int)0X851f),
-        VertexArrayStorageHintApple = ((int)0X851f),
-        MaxVertexArrayRangeElementNv = ((int)0X8520),
-        VertexArrayRangePointerApple = ((int)0X8521),
-        VertexArrayRangePointerNv = ((int)0X8521),
-        RegisterCombinersNv = ((int)0X8522),
-        VariableANv = ((int)0X8523),
-        VariableBNv = ((int)0X8524),
-        VariableCNv = ((int)0X8525),
-        VariableDNv = ((int)0X8526),
-        VariableENv = ((int)0X8527),
-        VariableFNv = ((int)0X8528),
-        VariableGNv = ((int)0X8529),
-        ConstantColor0Nv = ((int)0X852a),
-        ConstantColor1Nv = ((int)0X852b),
-        PrimaryColorNv = ((int)0X852c),
-        SecondaryColorNv = ((int)0X852d),
-        Spare0Nv = ((int)0X852e),
-        Spare1Nv = ((int)0X852f),
-        DiscardNv = ((int)0X8530),
-        ETimesFNv = ((int)0X8531),
-        Spare0PlusSecondaryColorNv = ((int)0X8532),
-        VertexArrayRangeWithoutFlushNv = ((int)0X8533),
-        MultisampleFilterHintNv = ((int)0X8534),
-        PerStageConstantsNv = ((int)0X8535),
-        UnsignedIdentityNv = ((int)0X8536),
-        UnsignedInvertNv = ((int)0X8537),
-        ExpandNormalNv = ((int)0X8538),
-        ExpandNegateNv = ((int)0X8539),
-        HalfBiasNormalNv = ((int)0X853a),
-        HalfBiasNegateNv = ((int)0X853b),
-        SignedIdentityNv = ((int)0X853c),
-        SignedNegateNv = ((int)0X853d),
-        ScaleByTwoNv = ((int)0X853e),
-        ScaleByFourNv = ((int)0X853f),
-        ScaleByOneHalfNv = ((int)0X8540),
-        BiasByNegativeOneHalfNv = ((int)0X8541),
-        CombinerInputNv = ((int)0X8542),
-        CombinerMappingNv = ((int)0X8543),
-        CombinerComponentUsageNv = ((int)0X8544),
-        CombinerAbDotProductNv = ((int)0X8545),
-        CombinerCdDotProductNv = ((int)0X8546),
-        CombinerMuxSumNv = ((int)0X8547),
-        CombinerScaleNv = ((int)0X8548),
-        CombinerBiasNv = ((int)0X8549),
-        CombinerAbOutputNv = ((int)0X854a),
-        CombinerCdOutputNv = ((int)0X854b),
-        CombinerSumOutputNv = ((int)0X854c),
-        MaxGeneralCombinersNv = ((int)0X854d),
-        NumGeneralCombinersNv = ((int)0X854e),
-        ColorSumClampNv = ((int)0X854f),
-        Combiner0Nv = ((int)0X8550),
-        Combiner1Nv = ((int)0X8551),
-        Combiner2Nv = ((int)0X8552),
-        Combiner3Nv = ((int)0X8553),
-        Combiner4Nv = ((int)0X8554),
-        Combiner5Nv = ((int)0X8555),
-        Combiner6Nv = ((int)0X8556),
-        Combiner7Nv = ((int)0X8557),
-        PrimitiveRestartNv = ((int)0X8558),
-        PrimitiveRestartIndexNv = ((int)0X8559),
-        FogDistanceModeNv = ((int)0X855a),
-        EyeRadialNv = ((int)0X855b),
-        EyePlaneAbsoluteNv = ((int)0X855c),
-        EmbossLightNv = ((int)0X855d),
-        EmbossConstantNv = ((int)0X855e),
-        EmbossMapNv = ((int)0X855f),
-        RedMinClampIngr = ((int)0X8560),
-        GreenMinClampIngr = ((int)0X8561),
-        BlueMinClampIngr = ((int)0X8562),
-        AlphaMinClampIngr = ((int)0X8563),
-        RedMaxClampIngr = ((int)0X8564),
-        GreenMaxClampIngr = ((int)0X8565),
-        BlueMaxClampIngr = ((int)0X8566),
-        AlphaMaxClampIngr = ((int)0X8567),
-        InterlaceReadIngr = ((int)0X8568),
-        Combine = ((int)0X8570),
-        CombineArb = ((int)0X8570),
-        CombineExt = ((int)0X8570),
-        CombineRgb = ((int)0X8571),
-        CombineRgbArb = ((int)0X8571),
-        CombineRgbExt = ((int)0X8571),
-        CombineAlpha = ((int)0X8572),
-        CombineAlphaArb = ((int)0X8572),
-        CombineAlphaExt = ((int)0X8572),
-        RgbScale = ((int)0X8573),
-        RgbScaleArb = ((int)0X8573),
-        RgbScaleExt = ((int)0X8573),
-        AddSigned = ((int)0X8574),
-        AddSignedArb = ((int)0X8574),
-        AddSignedExt = ((int)0X8574),
-        Interpolate = ((int)0X8575),
-        InterpolateArb = ((int)0X8575),
-        InterpolateExt = ((int)0X8575),
-        Constant = ((int)0X8576),
-        ConstantArb = ((int)0X8576),
-        ConstantExt = ((int)0X8576),
-        PrimaryColor = ((int)0X8577),
-        PrimaryColorArb = ((int)0X8577),
-        PrimaryColorExt = ((int)0X8577),
-        Previous = ((int)0X8578),
-        PreviousArb = ((int)0X8578),
-        PreviousExt = ((int)0X8578),
-        Source0Rgb = ((int)0X8580),
-        Source0RgbArb = ((int)0X8580),
-        Source0RgbExt = ((int)0X8580),
-        Src0Rgb = ((int)0X8580),
-        Source1Rgb = ((int)0X8581),
-        Source1RgbArb = ((int)0X8581),
-        Source1RgbExt = ((int)0X8581),
-        Src1Rgb = ((int)0X8581),
-        Source2Rgb = ((int)0X8582),
-        Source2RgbArb = ((int)0X8582),
-        Source2RgbExt = ((int)0X8582),
-        Src2Rgb = ((int)0X8582),
-        Source3RgbNv = ((int)0X8583),
-        Source0Alpha = ((int)0X8588),
-        Source0AlphaArb = ((int)0X8588),
-        Source0AlphaExt = ((int)0X8588),
-        Src0Alpha = ((int)0X8588),
-        Source1Alpha = ((int)0X8589),
-        Source1AlphaArb = ((int)0X8589),
-        Source1AlphaExt = ((int)0X8589),
-        Src1Alpha = ((int)0X8589),
-        Source2Alpha = ((int)0X858a),
-        Source2AlphaArb = ((int)0X858a),
-        Source2AlphaExt = ((int)0X858a),
-        Src2Alpha = ((int)0X858a),
-        Source3AlphaNv = ((int)0X858b),
-        Operand0Rgb = ((int)0X8590),
-        Operand0RgbArb = ((int)0X8590),
-        Operand0RgbExt = ((int)0X8590),
-        Operand1Rgb = ((int)0X8591),
-        Operand1RgbArb = ((int)0X8591),
-        Operand1RgbExt = ((int)0X8591),
-        Operand2Rgb = ((int)0X8592),
-        Operand2RgbArb = ((int)0X8592),
-        Operand2RgbExt = ((int)0X8592),
-        Operand3RgbNv = ((int)0X8593),
-        Operand0Alpha = ((int)0X8598),
-        Operand0AlphaArb = ((int)0X8598),
-        Operand0AlphaExt = ((int)0X8598),
-        Operand1Alpha = ((int)0X8599),
-        Operand1AlphaArb = ((int)0X8599),
-        Operand1AlphaExt = ((int)0X8599),
-        Operand2Alpha = ((int)0X859a),
-        Operand2AlphaArb = ((int)0X859a),
-        Operand2AlphaExt = ((int)0X859a),
-        Operand3AlphaNv = ((int)0X859b),
-        PackSubsampleRateSgix = ((int)0X85a0),
-        UnpackSubsampleRateSgix = ((int)0X85a1),
-        PixelSubsample4444Sgix = ((int)0X85a2),
-        PixelSubsample2424Sgix = ((int)0X85a3),
-        PixelSubsample4242Sgix = ((int)0X85a4),
-        PerturbExt = ((int)0X85ae),
-        TextureNormalExt = ((int)0X85af),
-        LightModelSpecularVectorApple = ((int)0X85b0),
-        TransformHintApple = ((int)0X85b1),
-        UnpackClientStorageApple = ((int)0X85b2),
-        BufferObjectApple = ((int)0X85b3),
-        VertexArrayBinding = ((int)0X85b5),
-        VertexArrayBindingApple = ((int)0X85b5),
-        TextureRangeLengthApple = ((int)0X85b7),
-        TextureRangePointerApple = ((int)0X85b8),
-        Ycbcr422Apple = ((int)0X85b9),
-        UnsignedShort88Apple = ((int)0X85ba),
-        UnsignedShort88Mesa = ((int)0X85ba),
-        UnsignedShort88RevApple = ((int)0X85bb),
-        UnsignedShort88RevMesa = ((int)0X85bb),
-        TextureStorageHintApple = ((int)0X85bc),
-        StoragePrivateApple = ((int)0X85bd),
-        StorageCachedApple = ((int)0X85be),
-        StorageSharedApple = ((int)0X85bf),
-        ReplacementCodeArraySun = ((int)0X85c0),
-        ReplacementCodeArrayTypeSun = ((int)0X85c1),
-        ReplacementCodeArrayStrideSun = ((int)0X85c2),
-        ReplacementCodeArrayPointerSun = ((int)0X85c3),
-        R1uiV3fSun = ((int)0X85c4),
-        R1uiC4ubV3fSun = ((int)0X85c5),
-        R1uiC3fV3fSun = ((int)0X85c6),
-        R1uiN3fV3fSun = ((int)0X85c7),
-        R1uiC4fN3fV3fSun = ((int)0X85c8),
-        R1uiT2fV3fSun = ((int)0X85c9),
-        R1uiT2fN3fV3fSun = ((int)0X85ca),
-        R1uiT2fC4fN3fV3fSun = ((int)0X85cb),
-        SliceAccumSun = ((int)0X85cc),
-        QuadMeshSun = ((int)0X8614),
-        TriangleMeshSun = ((int)0X8615),
-        VertexProgram = ((int)0X8620),
-        VertexProgramArb = ((int)0X8620),
-        VertexProgramNv = ((int)0X8620),
-        VertexStateProgramNv = ((int)0X8621),
-        ArrayEnabled = ((int)0X8622),
-        VertexAttribArrayEnabled = ((int)0X8622),
-        VertexAttribArrayEnabledArb = ((int)0X8622),
-        ArraySize = ((int)0X8623),
-        AttribArraySizeNv = ((int)0X8623),
-        VertexAttribArraySize = ((int)0X8623),
-        VertexAttribArraySizeArb = ((int)0X8623),
-        ArrayStride = ((int)0X8624),
-        AttribArrayStrideNv = ((int)0X8624),
-        VertexAttribArrayStride = ((int)0X8624),
-        VertexAttribArrayStrideArb = ((int)0X8624),
-        ArrayType = ((int)0X8625),
-        AttribArrayTypeNv = ((int)0X8625),
-        VertexAttribArrayType = ((int)0X8625),
-        VertexAttribArrayTypeArb = ((int)0X8625),
-        CurrentAttribNv = ((int)0X8626),
-        CurrentVertexAttrib = ((int)0X8626),
-        CurrentVertexAttribArb = ((int)0X8626),
-        ProgramLength = ((int)0X8627),
-        ProgramLengthArb = ((int)0X8627),
-        ProgramLengthNv = ((int)0X8627),
-        ProgramString = ((int)0X8628),
-        ProgramStringArb = ((int)0X8628),
-        ProgramStringNv = ((int)0X8628),
-        ModelviewProjectionNv = ((int)0X8629),
-        IdentityNv = ((int)0X862a),
-        InverseNv = ((int)0X862b),
-        TransposeNv = ((int)0X862c),
-        InverseTransposeNv = ((int)0X862d),
-        MaxProgramMatrixStackDepthArb = ((int)0X862e),
-        MaxTrackMatrixStackDepthNv = ((int)0X862e),
-        MaxProgramMatricesArb = ((int)0X862f),
-        MaxTrackMatricesNv = ((int)0X862f),
-        Matrix0Nv = ((int)0X8630),
-        Matrix1Nv = ((int)0X8631),
-        Matrix2Nv = ((int)0X8632),
-        Matrix3Nv = ((int)0X8633),
-        Matrix4Nv = ((int)0X8634),
-        Matrix5Nv = ((int)0X8635),
-        Matrix6Nv = ((int)0X8636),
-        Matrix7Nv = ((int)0X8637),
-        CurrentMatrixStackDepthArb = ((int)0X8640),
-        CurrentMatrixStackDepthNv = ((int)0X8640),
-        CurrentMatrixArb = ((int)0X8641),
-        CurrentMatrixNv = ((int)0X8641),
-        ProgramPointSize = ((int)0X8642),
-        ProgramPointSizeArb = ((int)0X8642),
-        ProgramPointSizeExt = ((int)0X8642),
-        VertexProgramPointSize = ((int)0X8642),
-        VertexProgramPointSizeArb = ((int)0X8642),
-        VertexProgramPointSizeNv = ((int)0X8642),
-        VertexProgramTwoSide = ((int)0X8643),
-        VertexProgramTwoSideArb = ((int)0X8643),
-        VertexProgramTwoSideNv = ((int)0X8643),
-        ProgramParameterNv = ((int)0X8644),
-        ArrayPointer = ((int)0X8645),
-        AttribArrayPointerNv = ((int)0X8645),
-        VertexAttribArrayPointer = ((int)0X8645),
-        VertexAttribArrayPointerArb = ((int)0X8645),
-        ProgramTargetNv = ((int)0X8646),
-        ProgramResidentNv = ((int)0X8647),
-        TrackMatrixNv = ((int)0X8648),
-        TrackMatrixTransformNv = ((int)0X8649),
-        VertexProgramBindingNv = ((int)0X864a),
-        ProgramErrorPositionArb = ((int)0X864b),
-        ProgramErrorPositionNv = ((int)0X864b),
-        OffsetTextureRectangleNv = ((int)0X864c),
-        OffsetTextureRectangleScaleNv = ((int)0X864d),
-        DotProductTextureRectangleNv = ((int)0X864e),
-        DepthClamp = ((int)0X864f),
-        DepthClampNv = ((int)0X864f),
-        VertexAttribArray0Nv = ((int)0X8650),
-        VertexAttribArray1Nv = ((int)0X8651),
-        VertexAttribArray2Nv = ((int)0X8652),
-        VertexAttribArray3Nv = ((int)0X8653),
-        VertexAttribArray4Nv = ((int)0X8654),
-        VertexAttribArray5Nv = ((int)0X8655),
-        VertexAttribArray6Nv = ((int)0X8656),
-        VertexAttribArray7Nv = ((int)0X8657),
-        VertexAttribArray8Nv = ((int)0X8658),
-        VertexAttribArray9Nv = ((int)0X8659),
-        VertexAttribArray10Nv = ((int)0X865a),
-        VertexAttribArray11Nv = ((int)0X865b),
-        VertexAttribArray12Nv = ((int)0X865c),
-        VertexAttribArray13Nv = ((int)0X865d),
-        VertexAttribArray14Nv = ((int)0X865e),
-        VertexAttribArray15Nv = ((int)0X865f),
-        Map1VertexAttrib04Nv = ((int)0X8660),
-        Map1VertexAttrib14Nv = ((int)0X8661),
-        Map1VertexAttrib24Nv = ((int)0X8662),
-        Map1VertexAttrib34Nv = ((int)0X8663),
-        Map1VertexAttrib44Nv = ((int)0X8664),
-        Map1VertexAttrib54Nv = ((int)0X8665),
-        Map1VertexAttrib64Nv = ((int)0X8666),
-        Map1VertexAttrib74Nv = ((int)0X8667),
-        Map1VertexAttrib84Nv = ((int)0X8668),
-        Map1VertexAttrib94Nv = ((int)0X8669),
-        Map1VertexAttrib104Nv = ((int)0X866a),
-        Map1VertexAttrib114Nv = ((int)0X866b),
-        Map1VertexAttrib124Nv = ((int)0X866c),
-        Map1VertexAttrib134Nv = ((int)0X866d),
-        Map1VertexAttrib144Nv = ((int)0X866e),
-        Map1VertexAttrib154Nv = ((int)0X866f),
-        Map2VertexAttrib04Nv = ((int)0X8670),
-        Map2VertexAttrib14Nv = ((int)0X8671),
-        Map2VertexAttrib24Nv = ((int)0X8672),
-        Map2VertexAttrib34Nv = ((int)0X8673),
-        Map2VertexAttrib44Nv = ((int)0X8674),
-        Map2VertexAttrib54Nv = ((int)0X8675),
-        Map2VertexAttrib64Nv = ((int)0X8676),
-        Map2VertexAttrib74Nv = ((int)0X8677),
-        ProgramBinding = ((int)0X8677),
-        ProgramBindingArb = ((int)0X8677),
-        Map2VertexAttrib84Nv = ((int)0X8678),
-        Map2VertexAttrib94Nv = ((int)0X8679),
-        Map2VertexAttrib104Nv = ((int)0X867a),
-        Map2VertexAttrib114Nv = ((int)0X867b),
-        Map2VertexAttrib124Nv = ((int)0X867c),
-        Map2VertexAttrib134Nv = ((int)0X867d),
-        Map2VertexAttrib144Nv = ((int)0X867e),
-        Map2VertexAttrib154Nv = ((int)0X867f),
-        TextureCompressedImageSize = ((int)0X86a0),
-        TextureCompressedImageSizeArb = ((int)0X86a0),
-        TextureCompressed = ((int)0X86a1),
-        TextureCompressedArb = ((int)0X86a1),
-        NumCompressedTextureFormats = ((int)0X86a2),
-        NumCompressedTextureFormatsArb = ((int)0X86a2),
-        CompressedTextureFormats = ((int)0X86a3),
-        CompressedTextureFormatsArb = ((int)0X86a3),
-        MaxVertexUnitsArb = ((int)0X86a4),
-        ActiveVertexUnitsArb = ((int)0X86a5),
-        WeightSumUnityArb = ((int)0X86a6),
-        VertexBlendArb = ((int)0X86a7),
-        CurrentWeightArb = ((int)0X86a8),
-        WeightArrayTypeArb = ((int)0X86a9),
-        WeightArrayStrideArb = ((int)0X86aa),
-        WeightArraySizeArb = ((int)0X86ab),
-        WeightArrayPointerArb = ((int)0X86ac),
-        WeightArrayArb = ((int)0X86ad),
-        Dot3Rgb = ((int)0X86ae),
-        Dot3RgbArb = ((int)0X86ae),
-        Dot3Rgba = ((int)0X86af),
-        Dot3RgbaArb = ((int)0X86af),
-        CompressedRgbFxt13Dfx = ((int)0X86b0),
-        CompressedRgbaFxt13Dfx = ((int)0X86b1),
-        Multisample3Dfx = ((int)0X86b2),
-        SampleBuffers3Dfx = ((int)0X86b3),
-        Samples3Dfx = ((int)0X86b4),
-        Eval2DNv = ((int)0X86c0),
-        EvalTriangular2DNv = ((int)0X86c1),
-        MapTessellationNv = ((int)0X86c2),
-        MapAttribUOrderNv = ((int)0X86c3),
-        MapAttribVOrderNv = ((int)0X86c4),
-        EvalFractionalTessellationNv = ((int)0X86c5),
-        EvalVertexAttrib0Nv = ((int)0X86c6),
-        EvalVertexAttrib1Nv = ((int)0X86c7),
-        EvalVertexAttrib2Nv = ((int)0X86c8),
-        EvalVertexAttrib3Nv = ((int)0X86c9),
-        EvalVertexAttrib4Nv = ((int)0X86ca),
-        EvalVertexAttrib5Nv = ((int)0X86cb),
-        EvalVertexAttrib6Nv = ((int)0X86cc),
-        EvalVertexAttrib7Nv = ((int)0X86cd),
-        EvalVertexAttrib8Nv = ((int)0X86ce),
-        EvalVertexAttrib9Nv = ((int)0X86cf),
-        EvalVertexAttrib10Nv = ((int)0X86d0),
-        EvalVertexAttrib11Nv = ((int)0X86d1),
-        EvalVertexAttrib12Nv = ((int)0X86d2),
-        EvalVertexAttrib13Nv = ((int)0X86d3),
-        EvalVertexAttrib14Nv = ((int)0X86d4),
-        EvalVertexAttrib15Nv = ((int)0X86d5),
-        MaxMapTessellationNv = ((int)0X86d6),
-        MaxRationalEvalOrderNv = ((int)0X86d7),
-        RgbaUnsignedDotProductMappingNv = ((int)0X86d9),
-        UnsignedIntS8S888Nv = ((int)0X86da),
-        UnsignedInt88S8S8RevNv = ((int)0X86db),
-        DsdtMagIntensityNv = ((int)0X86dc),
-        ShaderConsistentNv = ((int)0X86dd),
-        TextureShaderNv = ((int)0X86de),
-        ShaderOperationNv = ((int)0X86df),
-        CullModesNv = ((int)0X86e0),
-        OffsetTexture2DMatrixNv = ((int)0X86e1),
-        OffsetTextureMatrixNv = ((int)0X86e1),
-        OffsetTexture2DScaleNv = ((int)0X86e2),
-        OffsetTextureScaleNv = ((int)0X86e2),
-        OffsetTexture2DBiasNv = ((int)0X86e3),
-        OffsetTextureBiasNv = ((int)0X86e3),
-        PreviousTextureInputNv = ((int)0X86e4),
-        ConstEyeNv = ((int)0X86e5),
-        PassThroughNv = ((int)0X86e6),
-        CullFragmentNv = ((int)0X86e7),
-        OffsetTexture2DNv = ((int)0X86e8),
-        DependentArTexture2DNv = ((int)0X86e9),
-        DependentGbTexture2DNv = ((int)0X86ea),
-        DotProductNv = ((int)0X86ec),
-        DotProductDepthReplaceNv = ((int)0X86ed),
-        DotProductTexture2DNv = ((int)0X86ee),
-        DotProductTexture3DNv = ((int)0X86ef),
-        DotProductTextureCubeMapNv = ((int)0X86f0),
-        DotProductDiffuseCubeMapNv = ((int)0X86f1),
-        DotProductReflectCubeMapNv = ((int)0X86f2),
-        DotProductConstEyeReflectCubeMapNv = ((int)0X86f3),
-        HiloNv = ((int)0X86f4),
-        DsdtNv = ((int)0X86f5),
-        DsdtMagNv = ((int)0X86f6),
-        DsdtMagVibNv = ((int)0X86f7),
-        Hilo16Nv = ((int)0X86f8),
-        SignedHiloNv = ((int)0X86f9),
-        SignedHilo16Nv = ((int)0X86fa),
-        SignedRgbaNv = ((int)0X86fb),
-        SignedRgba8Nv = ((int)0X86fc),
-        SignedRgbNv = ((int)0X86fe),
-        SignedRgb8Nv = ((int)0X86ff),
-        SignedLuminanceNv = ((int)0X8701),
-        SignedLuminance8Nv = ((int)0X8702),
-        SignedLuminanceAlphaNv = ((int)0X8703),
-        SignedLuminance8Alpha8Nv = ((int)0X8704),
-        SignedAlphaNv = ((int)0X8705),
-        SignedAlpha8Nv = ((int)0X8706),
-        SignedIntensityNv = ((int)0X8707),
-        SignedIntensity8Nv = ((int)0X8708),
-        Dsdt8Nv = ((int)0X8709),
-        Dsdt8Mag8Nv = ((int)0X870a),
-        Dsdt8Mag8Intensity8Nv = ((int)0X870b),
-        SignedRgbUnsignedAlphaNv = ((int)0X870c),
-        SignedRgb8UnsignedAlpha8Nv = ((int)0X870d),
-        HiScaleNv = ((int)0X870e),
-        LoScaleNv = ((int)0X870f),
-        DsScaleNv = ((int)0X8710),
-        DtScaleNv = ((int)0X8711),
-        MagnitudeScaleNv = ((int)0X8712),
-        VibranceScaleNv = ((int)0X8713),
-        HiBiasNv = ((int)0X8714),
-        LoBiasNv = ((int)0X8715),
-        DsBiasNv = ((int)0X8716),
-        DtBiasNv = ((int)0X8717),
-        MagnitudeBiasNv = ((int)0X8718),
-        VibranceBiasNv = ((int)0X8719),
-        TextureBorderValuesNv = ((int)0X871a),
-        TextureHiSizeNv = ((int)0X871b),
-        TextureLoSizeNv = ((int)0X871c),
-        TextureDsSizeNv = ((int)0X871d),
-        TextureDtSizeNv = ((int)0X871e),
-        TextureMagSizeNv = ((int)0X871f),
-        Modelview2Arb = ((int)0X8722),
-        Modelview3Arb = ((int)0X8723),
-        Modelview4Arb = ((int)0X8724),
-        Modelview5Arb = ((int)0X8725),
-        Modelview6Arb = ((int)0X8726),
-        Modelview7Arb = ((int)0X8727),
-        Modelview8Arb = ((int)0X8728),
-        Modelview9Arb = ((int)0X8729),
-        Modelview10Arb = ((int)0X872a),
-        Modelview11Arb = ((int)0X872b),
-        Modelview12Arb = ((int)0X872c),
-        Modelview13Arb = ((int)0X872d),
-        Modelview14Arb = ((int)0X872e),
-        Modelview15Arb = ((int)0X872f),
-        Modelview16Arb = ((int)0X8730),
-        Modelview17Arb = ((int)0X8731),
-        Modelview18Arb = ((int)0X8732),
-        Modelview19Arb = ((int)0X8733),
-        Modelview20Arb = ((int)0X8734),
-        Modelview21Arb = ((int)0X8735),
-        Modelview22Arb = ((int)0X8736),
-        Modelview23Arb = ((int)0X8737),
-        Modelview24Arb = ((int)0X8738),
-        Modelview25Arb = ((int)0X8739),
-        Modelview26Arb = ((int)0X873a),
-        Modelview27Arb = ((int)0X873b),
-        Modelview28Arb = ((int)0X873c),
-        Modelview29Arb = ((int)0X873d),
-        Modelview30Arb = ((int)0X873e),
-        Modelview31Arb = ((int)0X873f),
-        Dot3RgbExt = ((int)0X8740),
-        Dot3RgbaExt = ((int)0X8741),
-        MirrorClampAti = ((int)0X8742),
-        MirrorClampExt = ((int)0X8742),
-        MirrorClampToEdgeAti = ((int)0X8743),
-        MirrorClampToEdgeExt = ((int)0X8743),
-        ModulateAddAti = ((int)0X8744),
-        ModulateSignedAddAti = ((int)0X8745),
-        ModulateSubtractAti = ((int)0X8746),
-        YcbcrMesa = ((int)0X8757),
-        PackInvertMesa = ((int)0X8758),
-        Texture1DStackMesax = ((int)0X8759),
-        Texture2DStackMesax = ((int)0X875a),
-        ProxyTexture1DStackMesax = ((int)0X875b),
-        ProxyTexture2DStackMesax = ((int)0X875c),
-        Texture1DStackBindingMesax = ((int)0X875d),
-        Texture2DStackBindingMesax = ((int)0X875e),
-        StaticAti = ((int)0X8760),
-        DynamicAti = ((int)0X8761),
-        PreserveAti = ((int)0X8762),
-        DiscardAti = ((int)0X8763),
-        BufferSize = ((int)0X8764),
-        BufferSizeArb = ((int)0X8764),
-        ObjectBufferSizeAti = ((int)0X8764),
-        BufferUsage = ((int)0X8765),
-        BufferUsageArb = ((int)0X8765),
-        ObjectBufferUsageAti = ((int)0X8765),
-        ArrayObjectBufferAti = ((int)0X8766),
-        ArrayObjectOffsetAti = ((int)0X8767),
-        ElementArrayApple = ((int)0X8768),
-        ElementArrayAti = ((int)0X8768),
-        ElementArrayTypeApple = ((int)0X8769),
-        ElementArrayTypeAti = ((int)0X8769),
-        ElementArrayPointerApple = ((int)0X876a),
-        ElementArrayPointerAti = ((int)0X876a),
-        MaxVertexStreamsAti = ((int)0X876b),
-        VertexStream0Ati = ((int)0X876c),
-        VertexStream1Ati = ((int)0X876d),
-        VertexStream2Ati = ((int)0X876e),
-        VertexStream3Ati = ((int)0X876f),
-        VertexStream4Ati = ((int)0X8770),
-        VertexStream5Ati = ((int)0X8771),
-        VertexStream6Ati = ((int)0X8772),
-        VertexStream7Ati = ((int)0X8773),
-        VertexSourceAti = ((int)0X8774),
-        BumpRotMatrixAti = ((int)0X8775),
-        BumpRotMatrixSizeAti = ((int)0X8776),
-        BumpNumTexUnitsAti = ((int)0X8777),
-        BumpTexUnitsAti = ((int)0X8778),
-        DudvAti = ((int)0X8779),
-        Du8dv8Ati = ((int)0X877a),
-        BumpEnvmapAti = ((int)0X877b),
-        BumpTargetAti = ((int)0X877c),
-        VertexShaderExt = ((int)0X8780),
-        VertexShaderBindingExt = ((int)0X8781),
-        OpIndexExt = ((int)0X8782),
-        OpNegateExt = ((int)0X8783),
-        OpDot3Ext = ((int)0X8784),
-        OpDot4Ext = ((int)0X8785),
-        OpMulExt = ((int)0X8786),
-        OpAddExt = ((int)0X8787),
-        OpMaddExt = ((int)0X8788),
-        OpFracExt = ((int)0X8789),
-        OpMaxExt = ((int)0X878a),
-        OpMinExt = ((int)0X878b),
-        OpSetGeExt = ((int)0X878c),
-        OpSetLtExt = ((int)0X878d),
-        OpClampExt = ((int)0X878e),
-        OpFloorExt = ((int)0X878f),
-        OpRoundExt = ((int)0X8790),
-        OpExpBase2Ext = ((int)0X8791),
-        OpLogBase2Ext = ((int)0X8792),
-        OpPowerExt = ((int)0X8793),
-        OpRecipExt = ((int)0X8794),
-        OpRecipSqrtExt = ((int)0X8795),
-        OpSubExt = ((int)0X8796),
-        OpCrossProductExt = ((int)0X8797),
-        OpMultiplyMatrixExt = ((int)0X8798),
-        OpMovExt = ((int)0X8799),
-        OutputVertexExt = ((int)0X879a),
-        OutputColor0Ext = ((int)0X879b),
-        OutputColor1Ext = ((int)0X879c),
-        OutputTextureCoord0Ext = ((int)0X879d),
-        OutputTextureCoord1Ext = ((int)0X879e),
-        OutputTextureCoord2Ext = ((int)0X879f),
-        OutputTextureCoord3Ext = ((int)0X87a0),
-        OutputTextureCoord4Ext = ((int)0X87a1),
-        OutputTextureCoord5Ext = ((int)0X87a2),
-        OutputTextureCoord6Ext = ((int)0X87a3),
-        OutputTextureCoord7Ext = ((int)0X87a4),
-        OutputTextureCoord8Ext = ((int)0X87a5),
-        OutputTextureCoord9Ext = ((int)0X87a6),
-        OutputTextureCoord10Ext = ((int)0X87a7),
-        OutputTextureCoord11Ext = ((int)0X87a8),
-        OutputTextureCoord12Ext = ((int)0X87a9),
-        OutputTextureCoord13Ext = ((int)0X87aa),
-        OutputTextureCoord14Ext = ((int)0X87ab),
-        OutputTextureCoord15Ext = ((int)0X87ac),
-        OutputTextureCoord16Ext = ((int)0X87ad),
-        OutputTextureCoord17Ext = ((int)0X87ae),
-        OutputTextureCoord18Ext = ((int)0X87af),
-        OutputTextureCoord19Ext = ((int)0X87b0),
-        OutputTextureCoord20Ext = ((int)0X87b1),
-        OutputTextureCoord21Ext = ((int)0X87b2),
-        OutputTextureCoord22Ext = ((int)0X87b3),
-        OutputTextureCoord23Ext = ((int)0X87b4),
-        OutputTextureCoord24Ext = ((int)0X87b5),
-        OutputTextureCoord25Ext = ((int)0X87b6),
-        OutputTextureCoord26Ext = ((int)0X87b7),
-        OutputTextureCoord27Ext = ((int)0X87b8),
-        OutputTextureCoord28Ext = ((int)0X87b9),
-        OutputTextureCoord29Ext = ((int)0X87ba),
-        OutputTextureCoord30Ext = ((int)0X87bb),
-        OutputTextureCoord31Ext = ((int)0X87bc),
-        OutputFogExt = ((int)0X87bd),
-        ScalarExt = ((int)0X87be),
-        VectorExt = ((int)0X87bf),
-        MatrixExt = ((int)0X87c0),
-        VariantExt = ((int)0X87c1),
-        InvariantExt = ((int)0X87c2),
-        LocalConstantExt = ((int)0X87c3),
-        LocalExt = ((int)0X87c4),
-        MaxVertexShaderInstructionsExt = ((int)0X87c5),
-        MaxVertexShaderVariantsExt = ((int)0X87c6),
-        MaxVertexShaderInvariantsExt = ((int)0X87c7),
-        MaxVertexShaderLocalConstantsExt = ((int)0X87c8),
-        MaxVertexShaderLocalsExt = ((int)0X87c9),
-        MaxOptimizedVertexShaderInstructionsExt = ((int)0X87ca),
-        MaxOptimizedVertexShaderVariantsExt = ((int)0X87cb),
-        MaxOptimizedVertexShaderLocalConstantsExt = ((int)0X87cc),
-        MaxOptimizedVertexShaderInvariantsExt = ((int)0X87cd),
-        MaxOptimizedVertexShaderLocalsExt = ((int)0X87ce),
-        VertexShaderInstructionsExt = ((int)0X87cf),
-        VertexShaderVariantsExt = ((int)0X87d0),
-        VertexShaderInvariantsExt = ((int)0X87d1),
-        VertexShaderLocalConstantsExt = ((int)0X87d2),
-        VertexShaderLocalsExt = ((int)0X87d3),
-        VertexShaderOptimizedExt = ((int)0X87d4),
-        XExt = ((int)0X87d5),
-        YExt = ((int)0X87d6),
-        ZExt = ((int)0X87d7),
-        WExt = ((int)0X87d8),
-        NegativeXExt = ((int)0X87d9),
-        NegativeYExt = ((int)0X87da),
-        NegativeZExt = ((int)0X87db),
-        NegativeWExt = ((int)0X87dc),
-        ZeroExt = ((int)0X87dd),
-        OneExt = ((int)0X87de),
-        NegativeOneExt = ((int)0X87df),
-        NormalizedRangeExt = ((int)0X87e0),
-        FullRangeExt = ((int)0X87e1),
-        CurrentVertexExt = ((int)0X87e2),
-        MvpMatrixExt = ((int)0X87e3),
-        VariantValueExt = ((int)0X87e4),
-        VariantDatatypeExt = ((int)0X87e5),
-        VariantArrayStrideExt = ((int)0X87e6),
-        VariantArrayTypeExt = ((int)0X87e7),
-        VariantArrayExt = ((int)0X87e8),
-        VariantArrayPointerExt = ((int)0X87e9),
-        InvariantValueExt = ((int)0X87ea),
-        InvariantDatatypeExt = ((int)0X87eb),
-        LocalConstantValueExt = ((int)0X87ec),
-        LocalConstantDatatypeExt = ((int)0X87ed),
-        PnTrianglesAti = ((int)0X87f0),
-        MaxPnTrianglesTesselationLevelAti = ((int)0X87f1),
-        PnTrianglesPointModeAti = ((int)0X87f2),
-        PnTrianglesNormalModeAti = ((int)0X87f3),
-        PnTrianglesTesselationLevelAti = ((int)0X87f4),
-        PnTrianglesPointModeLinearAti = ((int)0X87f5),
-        PnTrianglesPointModeCubicAti = ((int)0X87f6),
-        PnTrianglesNormalModeLinearAti = ((int)0X87f7),
-        PnTrianglesNormalModeQuadraticAti = ((int)0X87f8),
-        VboFreeMemoryAti = ((int)0X87fb),
-        TextureFreeMemoryAti = ((int)0X87fc),
-        RenderbufferFreeMemoryAti = ((int)0X87fd),
-        StencilBackFunc = ((int)0X8800),
-        StencilBackFuncAti = ((int)0X8800),
-        StencilBackFail = ((int)0X8801),
-        StencilBackFailAti = ((int)0X8801),
-        StencilBackPassDepthFail = ((int)0X8802),
-        StencilBackPassDepthFailAti = ((int)0X8802),
-        StencilBackPassDepthPass = ((int)0X8803),
-        StencilBackPassDepthPassAti = ((int)0X8803),
-        FragmentProgram = ((int)0X8804),
-        FragmentProgramArb = ((int)0X8804),
-        ProgramAluInstructionsArb = ((int)0X8805),
-        ProgramTexInstructionsArb = ((int)0X8806),
-        ProgramTexIndirectionsArb = ((int)0X8807),
-        ProgramNativeAluInstructionsArb = ((int)0X8808),
-        ProgramNativeTexInstructionsArb = ((int)0X8809),
-        ProgramNativeTexIndirectionsArb = ((int)0X880a),
-        MaxProgramAluInstructionsArb = ((int)0X880b),
-        MaxProgramTexInstructionsArb = ((int)0X880c),
-        MaxProgramTexIndirectionsArb = ((int)0X880d),
-        MaxProgramNativeAluInstructionsArb = ((int)0X880e),
-        MaxProgramNativeTexInstructionsArb = ((int)0X880f),
-        MaxProgramNativeTexIndirectionsArb = ((int)0X8810),
-        Rgba32f = ((int)0X8814),
-        Rgba32fArb = ((int)0X8814),
-        RgbaFloat32Apple = ((int)0X8814),
-        RgbaFloat32Ati = ((int)0X8814),
-        Rgb32f = ((int)0X8815),
-        Rgb32fArb = ((int)0X8815),
-        RgbFloat32Apple = ((int)0X8815),
-        RgbFloat32Ati = ((int)0X8815),
-        Alpha32fArb = ((int)0X8816),
-        AlphaFloat32Apple = ((int)0X8816),
-        AlphaFloat32Ati = ((int)0X8816),
-        Intensity32fArb = ((int)0X8817),
-        IntensityFloat32Apple = ((int)0X8817),
-        IntensityFloat32Ati = ((int)0X8817),
-        Luminance32fArb = ((int)0X8818),
-        LuminanceFloat32Apple = ((int)0X8818),
-        LuminanceFloat32Ati = ((int)0X8818),
-        LuminanceAlpha32fArb = ((int)0X8819),
-        LuminanceAlphaFloat32Apple = ((int)0X8819),
-        LuminanceAlphaFloat32Ati = ((int)0X8819),
-        Rgba16f = ((int)0X881a),
-        Rgba16fArb = ((int)0X881a),
-        RgbaFloat16Apple = ((int)0X881a),
-        RgbaFloat16Ati = ((int)0X881a),
-        Rgb16f = ((int)0X881b),
-        Rgb16fArb = ((int)0X881b),
-        RgbFloat16Apple = ((int)0X881b),
-        RgbFloat16Ati = ((int)0X881b),
-        Alpha16fArb = ((int)0X881c),
-        AlphaFloat16Apple = ((int)0X881c),
-        AlphaFloat16Ati = ((int)0X881c),
-        Intensity16fArb = ((int)0X881d),
-        IntensityFloat16Apple = ((int)0X881d),
-        IntensityFloat16Ati = ((int)0X881d),
-        Luminance16fArb = ((int)0X881e),
-        LuminanceFloat16Apple = ((int)0X881e),
-        LuminanceFloat16Ati = ((int)0X881e),
-        LuminanceAlpha16fArb = ((int)0X881f),
-        LuminanceAlphaFloat16Apple = ((int)0X881f),
-        LuminanceAlphaFloat16Ati = ((int)0X881f),
-        RgbaFloatMode = ((int)0X8820),
-        RgbaFloatModeArb = ((int)0X8820),
-        TypeRgbaFloatAti = ((int)0X8820),
-        MaxDrawBuffers = ((int)0X8824),
-        MaxDrawBuffersArb = ((int)0X8824),
-        MaxDrawBuffersAti = ((int)0X8824),
-        DrawBuffer0 = ((int)0X8825),
-        DrawBuffer0Arb = ((int)0X8825),
-        DrawBuffer0Ati = ((int)0X8825),
-        DrawBuffer1 = ((int)0X8826),
-        DrawBuffer1Arb = ((int)0X8826),
-        DrawBuffer1Ati = ((int)0X8826),
-        DrawBuffer2 = ((int)0X8827),
-        DrawBuffer2Arb = ((int)0X8827),
-        DrawBuffer2Ati = ((int)0X8827),
-        DrawBuffer3 = ((int)0X8828),
-        DrawBuffer3Arb = ((int)0X8828),
-        DrawBuffer3Ati = ((int)0X8828),
-        DrawBuffer4 = ((int)0X8829),
-        DrawBuffer4Arb = ((int)0X8829),
-        DrawBuffer4Ati = ((int)0X8829),
-        DrawBuffer5 = ((int)0X882a),
-        DrawBuffer5Arb = ((int)0X882a),
-        DrawBuffer5Ati = ((int)0X882a),
-        DrawBuffer6 = ((int)0X882b),
-        DrawBuffer6Arb = ((int)0X882b),
-        DrawBuffer6Ati = ((int)0X882b),
-        DrawBuffer7 = ((int)0X882c),
-        DrawBuffer7Arb = ((int)0X882c),
-        DrawBuffer7Ati = ((int)0X882c),
-        DrawBuffer8 = ((int)0X882d),
-        DrawBuffer8Arb = ((int)0X882d),
-        DrawBuffer8Ati = ((int)0X882d),
-        DrawBuffer9 = ((int)0X882e),
-        DrawBuffer9Arb = ((int)0X882e),
-        DrawBuffer9Ati = ((int)0X882e),
-        DrawBuffer10 = ((int)0X882f),
-        DrawBuffer10Arb = ((int)0X882f),
-        DrawBuffer10Ati = ((int)0X882f),
-        DrawBuffer11 = ((int)0X8830),
-        DrawBuffer11Arb = ((int)0X8830),
-        DrawBuffer11Ati = ((int)0X8830),
-        DrawBuffer12 = ((int)0X8831),
-        DrawBuffer12Arb = ((int)0X8831),
-        DrawBuffer12Ati = ((int)0X8831),
-        DrawBuffer13 = ((int)0X8832),
-        DrawBuffer13Arb = ((int)0X8832),
-        DrawBuffer13Ati = ((int)0X8832),
-        DrawBuffer14 = ((int)0X8833),
-        DrawBuffer14Arb = ((int)0X8833),
-        DrawBuffer14Ati = ((int)0X8833),
-        DrawBuffer15 = ((int)0X8834),
-        DrawBuffer15Arb = ((int)0X8834),
-        DrawBuffer15Ati = ((int)0X8834),
-        ColorClearUnclampedValueAti = ((int)0X8835),
-        BlendEquationAlpha = ((int)0X883d),
-        BlendEquationAlphaExt = ((int)0X883d),
-        MatrixPaletteArb = ((int)0X8840),
-        MaxMatrixPaletteStackDepthArb = ((int)0X8841),
-        MaxPaletteMatricesArb = ((int)0X8842),
-        CurrentPaletteMatrixArb = ((int)0X8843),
-        MatrixIndexArrayArb = ((int)0X8844),
-        CurrentMatrixIndexArb = ((int)0X8845),
-        MatrixIndexArraySizeArb = ((int)0X8846),
-        MatrixIndexArrayTypeArb = ((int)0X8847),
-        MatrixIndexArrayStrideArb = ((int)0X8848),
-        MatrixIndexArrayPointerArb = ((int)0X8849),
-        TextureDepthSize = ((int)0X884a),
-        TextureDepthSizeArb = ((int)0X884a),
-        DepthTextureMode = ((int)0X884b),
-        DepthTextureModeArb = ((int)0X884b),
-        TextureCompareMode = ((int)0X884c),
-        TextureCompareModeArb = ((int)0X884c),
-        TextureCompareFunc = ((int)0X884d),
-        TextureCompareFuncArb = ((int)0X884d),
-        CompareRefDepthToTextureExt = ((int)0X884e),
-        CompareRefToTexture = ((int)0X884e),
-        CompareRToTexture = ((int)0X884e),
-        CompareRToTextureArb = ((int)0X884e),
-        TextureCubeMapSeamless = ((int)0X884f),
-        OffsetProjectiveTexture2DNv = ((int)0X8850),
-        OffsetProjectiveTexture2DScaleNv = ((int)0X8851),
-        OffsetProjectiveTextureRectangleNv = ((int)0X8852),
-        OffsetProjectiveTextureRectangleScaleNv = ((int)0X8853),
-        OffsetHiloTexture2DNv = ((int)0X8854),
-        OffsetHiloTextureRectangleNv = ((int)0X8855),
-        OffsetHiloProjectiveTexture2DNv = ((int)0X8856),
-        OffsetHiloProjectiveTextureRectangleNv = ((int)0X8857),
-        DependentHiloTexture2DNv = ((int)0X8858),
-        DependentRgbTexture3DNv = ((int)0X8859),
-        DependentRgbTextureCubeMapNv = ((int)0X885a),
-        DotProductPassThroughNv = ((int)0X885b),
-        DotProductTexture1DNv = ((int)0X885c),
-        DotProductAffineDepthReplaceNv = ((int)0X885d),
-        Hilo8Nv = ((int)0X885e),
-        SignedHilo8Nv = ((int)0X885f),
-        ForceBlueToOneNv = ((int)0X8860),
-        PointSprite = ((int)0X8861),
-        PointSpriteArb = ((int)0X8861),
-        PointSpriteNv = ((int)0X8861),
-        CoordReplace = ((int)0X8862),
-        CoordReplaceArb = ((int)0X8862),
-        CoordReplaceNv = ((int)0X8862),
-        PointSpriteRModeNv = ((int)0X8863),
-        PixelCounterBitsNv = ((int)0X8864),
-        QueryCounterBits = ((int)0X8864),
-        QueryCounterBitsArb = ((int)0X8864),
-        CurrentOcclusionQueryIdNv = ((int)0X8865),
-        CurrentQuery = ((int)0X8865),
-        CurrentQueryArb = ((int)0X8865),
-        PixelCountNv = ((int)0X8866),
-        QueryResult = ((int)0X8866),
-        QueryResultArb = ((int)0X8866),
-        PixelCountAvailableNv = ((int)0X8867),
-        QueryResultAvailable = ((int)0X8867),
-        QueryResultAvailableArb = ((int)0X8867),
-        MaxFragmentProgramLocalParametersNv = ((int)0X8868),
-        MaxVertexAttribs = ((int)0X8869),
-        MaxVertexAttribsArb = ((int)0X8869),
-        ArrayNormalized = ((int)0X886a),
-        VertexAttribArrayNormalized = ((int)0X886a),
-        VertexAttribArrayNormalizedArb = ((int)0X886a),
-        DepthStencilToRgbaNv = ((int)0X886e),
-        DepthStencilToBgraNv = ((int)0X886f),
-        FragmentProgramNv = ((int)0X8870),
-        MaxTextureCoords = ((int)0X8871),
-        MaxTextureCoordsArb = ((int)0X8871),
-        MaxTextureCoordsNv = ((int)0X8871),
-        MaxTextureImageUnits = ((int)0X8872),
-        MaxTextureImageUnitsArb = ((int)0X8872),
-        MaxTextureImageUnitsNv = ((int)0X8872),
-        FragmentProgramBindingNv = ((int)0X8873),
-        ProgramErrorStringArb = ((int)0X8874),
-        ProgramErrorStringNv = ((int)0X8874),
-        ProgramFormatAsciiArb = ((int)0X8875),
-        ProgramFormat = ((int)0X8876),
-        ProgramFormatArb = ((int)0X8876),
-        WritePixelDataRangeNv = ((int)0X8878),
-        ReadPixelDataRangeNv = ((int)0X8879),
-        WritePixelDataRangeLengthNv = ((int)0X887a),
-        ReadPixelDataRangeLengthNv = ((int)0X887b),
-        WritePixelDataRangePointerNv = ((int)0X887c),
-        ReadPixelDataRangePointerNv = ((int)0X887d),
-        FloatRNv = ((int)0X8880),
-        FloatRgNv = ((int)0X8881),
-        FloatRgbNv = ((int)0X8882),
-        FloatRgbaNv = ((int)0X8883),
-        FloatR16Nv = ((int)0X8884),
-        FloatR32Nv = ((int)0X8885),
-        FloatRg16Nv = ((int)0X8886),
-        FloatRg32Nv = ((int)0X8887),
-        FloatRgb16Nv = ((int)0X8888),
-        FloatRgb32Nv = ((int)0X8889),
-        FloatRgba16Nv = ((int)0X888a),
-        FloatRgba32Nv = ((int)0X888b),
-        TextureFloatComponentsNv = ((int)0X888c),
-        FloatClearColorValueNv = ((int)0X888d),
-        FloatRgbaModeNv = ((int)0X888e),
-        TextureUnsignedRemapModeNv = ((int)0X888f),
-        DepthBoundsTestExt = ((int)0X8890),
-        DepthBoundsExt = ((int)0X8891),
-        ArrayBuffer = ((int)0X8892),
-        ArrayBufferArb = ((int)0X8892),
-        ElementArrayBuffer = ((int)0X8893),
-        ElementArrayBufferArb = ((int)0X8893),
-        ArrayBufferBinding = ((int)0X8894),
-        ArrayBufferBindingArb = ((int)0X8894),
-        ElementArrayBufferBinding = ((int)0X8895),
-        ElementArrayBufferBindingArb = ((int)0X8895),
-        VertexArrayBufferBinding = ((int)0X8896),
-        VertexArrayBufferBindingArb = ((int)0X8896),
-        NormalArrayBufferBinding = ((int)0X8897),
-        NormalArrayBufferBindingArb = ((int)0X8897),
-        ColorArrayBufferBinding = ((int)0X8898),
-        ColorArrayBufferBindingArb = ((int)0X8898),
-        IndexArrayBufferBinding = ((int)0X8899),
-        IndexArrayBufferBindingArb = ((int)0X8899),
-        TextureCoordArrayBufferBinding = ((int)0X889a),
-        TextureCoordArrayBufferBindingArb = ((int)0X889a),
-        EdgeFlagArrayBufferBinding = ((int)0X889b),
-        EdgeFlagArrayBufferBindingArb = ((int)0X889b),
-        SecondaryColorArrayBufferBinding = ((int)0X889c),
-        SecondaryColorArrayBufferBindingArb = ((int)0X889c),
-        FogCoordArrayBufferBinding = ((int)0X889d),
-        FogCoordinateArrayBufferBinding = ((int)0X889d),
-        FogCoordinateArrayBufferBindingArb = ((int)0X889d),
-        WeightArrayBufferBinding = ((int)0X889e),
-        WeightArrayBufferBindingArb = ((int)0X889e),
-        VertexAttribArrayBufferBinding = ((int)0X889f),
-        VertexAttribArrayBufferBindingArb = ((int)0X889f),
-        ProgramInstruction = ((int)0X88a0),
-        ProgramInstructionsArb = ((int)0X88a0),
-        MaxProgramInstructions = ((int)0X88a1),
-        MaxProgramInstructionsArb = ((int)0X88a1),
-        ProgramNativeInstructions = ((int)0X88a2),
-        ProgramNativeInstructionsArb = ((int)0X88a2),
-        MaxProgramNativeInstructions = ((int)0X88a3),
-        MaxProgramNativeInstructionsArb = ((int)0X88a3),
-        ProgramTemporaries = ((int)0X88a4),
-        ProgramTemporariesArb = ((int)0X88a4),
-        MaxProgramTemporaries = ((int)0X88a5),
-        MaxProgramTemporariesArb = ((int)0X88a5),
-        ProgramNativeTemporaries = ((int)0X88a6),
-        ProgramNativeTemporariesArb = ((int)0X88a6),
-        MaxProgramNativeTemporaries = ((int)0X88a7),
-        MaxProgramNativeTemporariesArb = ((int)0X88a7),
-        ProgramParameters = ((int)0X88a8),
-        ProgramParametersArb = ((int)0X88a8),
-        MaxProgramParameters = ((int)0X88a9),
-        MaxProgramParametersArb = ((int)0X88a9),
-        ProgramNativeParameters = ((int)0X88aa),
-        ProgramNativeParametersArb = ((int)0X88aa),
-        MaxProgramNativeParameters = ((int)0X88ab),
-        MaxProgramNativeParametersArb = ((int)0X88ab),
-        ProgramAttribs = ((int)0X88ac),
-        ProgramAttribsArb = ((int)0X88ac),
-        MaxProgramAttribs = ((int)0X88ad),
-        MaxProgramAttribsArb = ((int)0X88ad),
-        ProgramNativeAttribs = ((int)0X88ae),
-        ProgramNativeAttribsArb = ((int)0X88ae),
-        MaxProgramNativeAttribs = ((int)0X88af),
-        MaxProgramNativeAttribsArb = ((int)0X88af),
-        ProgramAddressRegisters = ((int)0X88b0),
-        ProgramAddressRegistersArb = ((int)0X88b0),
-        MaxProgramAddressRegisters = ((int)0X88b1),
-        MaxProgramAddressRegistersArb = ((int)0X88b1),
-        ProgramNativeAddressRegisters = ((int)0X88b2),
-        ProgramNativeAddressRegistersArb = ((int)0X88b2),
-        MaxProgramNativeAddressRegisters = ((int)0X88b3),
-        MaxProgramNativeAddressRegistersArb = ((int)0X88b3),
-        MaxProgramLocalParameters = ((int)0X88b4),
-        MaxProgramLocalParametersArb = ((int)0X88b4),
-        MaxProgramEnvParameters = ((int)0X88b5),
-        MaxProgramEnvParametersArb = ((int)0X88b5),
-        ProgramUnderNativeLimits = ((int)0X88b6),
-        ProgramUnderNativeLimitsArb = ((int)0X88b6),
-        TransposeCurrentMatrixArb = ((int)0X88b7),
-        ReadOnly = ((int)0X88b8),
-        ReadOnlyArb = ((int)0X88b8),
-        WriteOnly = ((int)0X88b9),
-        WriteOnlyArb = ((int)0X88b9),
-        ReadWrite = ((int)0X88ba),
-        ReadWriteArb = ((int)0X88ba),
-        BufferAccess = ((int)0X88bb),
-        BufferAccessArb = ((int)0X88bb),
-        BufferMapped = ((int)0X88bc),
-        BufferMappedArb = ((int)0X88bc),
-        BufferMapPointer = ((int)0X88bd),
-        BufferMapPointerArb = ((int)0X88bd),
-        TimeElapsedExt = ((int)0X88bf),
-        Matrix0 = ((int)0X88c0),
-        Matrix0Arb = ((int)0X88c0),
-        Matrix1 = ((int)0X88c1),
-        Matrix1Arb = ((int)0X88c1),
-        Matrix2 = ((int)0X88c2),
-        Matrix2Arb = ((int)0X88c2),
-        Matrix3 = ((int)0X88c3),
-        Matrix3Arb = ((int)0X88c3),
-        Matrix4 = ((int)0X88c4),
-        Matrix4Arb = ((int)0X88c4),
-        Matrix5 = ((int)0X88c5),
-        Matrix5Arb = ((int)0X88c5),
-        Matrix6 = ((int)0X88c6),
-        Matrix6Arb = ((int)0X88c6),
-        Matrix7 = ((int)0X88c7),
-        Matrix7Arb = ((int)0X88c7),
-        Matrix8 = ((int)0X88c8),
-        Matrix8Arb = ((int)0X88c8),
-        Matrix9 = ((int)0X88c9),
-        Matrix9Arb = ((int)0X88c9),
-        Matrix10 = ((int)0X88ca),
-        Matrix10Arb = ((int)0X88ca),
-        Matrix11 = ((int)0X88cb),
-        Matrix11Arb = ((int)0X88cb),
-        Matrix12 = ((int)0X88cc),
-        Matrix12Arb = ((int)0X88cc),
-        Matrix13 = ((int)0X88cd),
-        Matrix13Arb = ((int)0X88cd),
-        Matrix14 = ((int)0X88ce),
-        Matrix14Arb = ((int)0X88ce),
-        Matrix15 = ((int)0X88cf),
-        Matrix15Arb = ((int)0X88cf),
-        Matrix16 = ((int)0X88d0),
-        Matrix16Arb = ((int)0X88d0),
-        Matrix17 = ((int)0X88d1),
-        Matrix17Arb = ((int)0X88d1),
-        Matrix18 = ((int)0X88d2),
-        Matrix18Arb = ((int)0X88d2),
-        Matrix19 = ((int)0X88d3),
-        Matrix19Arb = ((int)0X88d3),
-        Matrix20 = ((int)0X88d4),
-        Matrix20Arb = ((int)0X88d4),
-        Matrix21 = ((int)0X88d5),
-        Matrix21Arb = ((int)0X88d5),
-        Matrix22 = ((int)0X88d6),
-        Matrix22Arb = ((int)0X88d6),
-        Matrix23 = ((int)0X88d7),
-        Matrix23Arb = ((int)0X88d7),
-        Matrix24 = ((int)0X88d8),
-        Matrix24Arb = ((int)0X88d8),
-        Matrix25 = ((int)0X88d9),
-        Matrix25Arb = ((int)0X88d9),
-        Matrix26 = ((int)0X88da),
-        Matrix26Arb = ((int)0X88da),
-        Matrix27 = ((int)0X88db),
-        Matrix27Arb = ((int)0X88db),
-        Matrix28 = ((int)0X88dc),
-        Matrix28Arb = ((int)0X88dc),
-        Matrix29 = ((int)0X88dd),
-        Matrix29Arb = ((int)0X88dd),
-        Matrix30 = ((int)0X88de),
-        Matrix30Arb = ((int)0X88de),
-        Matrix31 = ((int)0X88df),
-        Matrix31Arb = ((int)0X88df),
-        StreamDraw = ((int)0X88e0),
-        StreamDrawArb = ((int)0X88e0),
-        StreamRead = ((int)0X88e1),
-        StreamReadArb = ((int)0X88e1),
-        StreamCopy = ((int)0X88e2),
-        StreamCopyArb = ((int)0X88e2),
-        StaticDraw = ((int)0X88e4),
-        StaticDrawArb = ((int)0X88e4),
-        StaticRead = ((int)0X88e5),
-        StaticReadArb = ((int)0X88e5),
-        StaticCopy = ((int)0X88e6),
-        StaticCopyArb = ((int)0X88e6),
-        DynamicDraw = ((int)0X88e8),
-        DynamicDrawArb = ((int)0X88e8),
-        DynamicRead = ((int)0X88e9),
-        DynamicReadArb = ((int)0X88e9),
-        DynamicCopy = ((int)0X88ea),
-        DynamicCopyArb = ((int)0X88ea),
-        PixelPackBuffer = ((int)0X88eb),
-        PixelPackBufferArb = ((int)0X88eb),
-        PixelPackBufferExt = ((int)0X88eb),
-        PixelUnpackBuffer = ((int)0X88ec),
-        PixelUnpackBufferArb = ((int)0X88ec),
-        PixelUnpackBufferExt = ((int)0X88ec),
-        PixelPackBufferBinding = ((int)0X88ed),
-        PixelPackBufferBindingArb = ((int)0X88ed),
-        PixelPackBufferBindingExt = ((int)0X88ed),
-        PixelUnpackBufferBinding = ((int)0X88ef),
-        PixelUnpackBufferBindingArb = ((int)0X88ef),
-        PixelUnpackBufferBindingExt = ((int)0X88ef),
-        Depth24Stencil8 = ((int)0X88f0),
-        Depth24Stencil8Ext = ((int)0X88f0),
-        TextureStencilSize = ((int)0X88f1),
-        TextureStencilSizeExt = ((int)0X88f1),
-        StencilTagBitsExt = ((int)0X88f2),
-        StencilClearTagValueExt = ((int)0X88f3),
-        MaxProgramExecInstructionsNv = ((int)0X88f4),
-        MaxProgramCallDepthNv = ((int)0X88f5),
-        MaxProgramIfDepthNv = ((int)0X88f6),
-        MaxProgramLoopDepthNv = ((int)0X88f7),
-        MaxProgramLoopCountNv = ((int)0X88f8),
-        VertexAttribArrayInteger = ((int)0X88fd),
-        VertexAttribArrayIntegerNv = ((int)0X88fd),
-        ArrayDivisor = ((int)0X88fe),
-        VertexAttribArrayDivisorArb = ((int)0X88fe),
-        MaxArrayTextureLayers = ((int)0X88ff),
-        MaxArrayTextureLayersExt = ((int)0X88ff),
-        MinProgramTexelOffset = ((int)0X8904),
-        MinProgramTexelOffsetNv = ((int)0X8904),
-        MaxProgramTexelOffset = ((int)0X8905),
-        MaxProgramTexelOffsetNv = ((int)0X8905),
-        ProgramAttribComponentsNv = ((int)0X8906),
-        ProgramResultComponentsNv = ((int)0X8907),
-        MaxProgramAttribComponentsNv = ((int)0X8908),
-        MaxProgramResultComponentsNv = ((int)0X8909),
-        StencilTestTwoSideExt = ((int)0X8910),
-        ActiveStencilFaceExt = ((int)0X8911),
-        MirrorClampToBorderExt = ((int)0X8912),
-        SamplesPassed = ((int)0X8914),
-        SamplesPassedArb = ((int)0X8914),
-        GeometryVerticesOut = ((int)0X8916),
-        GeometryInputType = ((int)0X8917),
-        GeometryOutputType = ((int)0X8918),
-        ClampVertexColor = ((int)0X891a),
-        ClampVertexColorArb = ((int)0X891a),
-        ClampFragmentColor = ((int)0X891b),
-        ClampFragmentColorArb = ((int)0X891b),
-        ClampReadColor = ((int)0X891c),
-        ClampReadColorArb = ((int)0X891c),
-        FixedOnly = ((int)0X891d),
-        FixedOnlyArb = ((int)0X891d),
-        FragmentShaderAti = ((int)0X8920),
-        Reg0Ati = ((int)0X8921),
-        Reg1Ati = ((int)0X8922),
-        Reg2Ati = ((int)0X8923),
-        Reg3Ati = ((int)0X8924),
-        Reg4Ati = ((int)0X8925),
-        Reg5Ati = ((int)0X8926),
-        Reg6Ati = ((int)0X8927),
-        Reg7Ati = ((int)0X8928),
-        Reg8Ati = ((int)0X8929),
-        Reg9Ati = ((int)0X892a),
-        Reg10Ati = ((int)0X892b),
-        Reg11Ati = ((int)0X892c),
-        Reg12Ati = ((int)0X892d),
-        Reg13Ati = ((int)0X892e),
-        Reg14Ati = ((int)0X892f),
-        Reg15Ati = ((int)0X8930),
-        Reg16Ati = ((int)0X8931),
-        Reg17Ati = ((int)0X8932),
-        Reg18Ati = ((int)0X8933),
-        Reg19Ati = ((int)0X8934),
-        Reg20Ati = ((int)0X8935),
-        Reg21Ati = ((int)0X8936),
-        Reg22Ati = ((int)0X8937),
-        Reg23Ati = ((int)0X8938),
-        Reg24Ati = ((int)0X8939),
-        Reg25Ati = ((int)0X893a),
-        Reg26Ati = ((int)0X893b),
-        Reg27Ati = ((int)0X893c),
-        Reg28Ati = ((int)0X893d),
-        Reg29Ati = ((int)0X893e),
-        Reg30Ati = ((int)0X893f),
-        Reg31Ati = ((int)0X8940),
-        Con0Ati = ((int)0X8941),
-        Con1Ati = ((int)0X8942),
-        Con2Ati = ((int)0X8943),
-        Con3Ati = ((int)0X8944),
-        Con4Ati = ((int)0X8945),
-        Con5Ati = ((int)0X8946),
-        Con6Ati = ((int)0X8947),
-        Con7Ati = ((int)0X8948),
-        Con8Ati = ((int)0X8949),
-        Con9Ati = ((int)0X894a),
-        Con10Ati = ((int)0X894b),
-        Con11Ati = ((int)0X894c),
-        Con12Ati = ((int)0X894d),
-        Con13Ati = ((int)0X894e),
-        Con14Ati = ((int)0X894f),
-        Con15Ati = ((int)0X8950),
-        Con16Ati = ((int)0X8951),
-        Con17Ati = ((int)0X8952),
-        Con18Ati = ((int)0X8953),
-        Con19Ati = ((int)0X8954),
-        Con20Ati = ((int)0X8955),
-        Con21Ati = ((int)0X8956),
-        Con22Ati = ((int)0X8957),
-        Con23Ati = ((int)0X8958),
-        Con24Ati = ((int)0X8959),
-        Con25Ati = ((int)0X895a),
-        Con26Ati = ((int)0X895b),
-        Con27Ati = ((int)0X895c),
-        Con28Ati = ((int)0X895d),
-        Con29Ati = ((int)0X895e),
-        Con30Ati = ((int)0X895f),
-        Con31Ati = ((int)0X8960),
-        MovAti = ((int)0X8961),
-        AddAti = ((int)0X8963),
-        MulAti = ((int)0X8964),
-        SubAti = ((int)0X8965),
-        Dot3Ati = ((int)0X8966),
-        Dot4Ati = ((int)0X8967),
-        MadAti = ((int)0X8968),
-        LerpAti = ((int)0X8969),
-        CndAti = ((int)0X896a),
-        Cnd0Ati = ((int)0X896b),
-        Dot2AddAti = ((int)0X896c),
-        SecondaryInterpolatorAti = ((int)0X896d),
-        NumFragmentRegistersAti = ((int)0X896e),
-        NumFragmentConstantsAti = ((int)0X896f),
-        NumPassesAti = ((int)0X8970),
-        NumInstructionsPerPassAti = ((int)0X8971),
-        NumInstructionsTotalAti = ((int)0X8972),
-        NumInputInterpolatorComponentsAti = ((int)0X8973),
-        NumLoopbackComponentsAti = ((int)0X8974),
-        ColorAlphaPairingAti = ((int)0X8975),
-        SwizzleStrAti = ((int)0X8976),
-        SwizzleStqAti = ((int)0X8977),
-        SwizzleStrDrAti = ((int)0X8978),
-        SwizzleStqDqAti = ((int)0X8979),
-        SwizzleStrqAti = ((int)0X897a),
-        SwizzleStrqDqAti = ((int)0X897b),
-        InterlaceOml = ((int)0X8980),
-        InterlaceReadOml = ((int)0X8981),
-        FormatSubsample2424Oml = ((int)0X8982),
-        FormatSubsample244244Oml = ((int)0X8983),
-        PackResampleOml = ((int)0X8984),
-        UnpackResampleOml = ((int)0X8985),
-        ResampleReplicateOml = ((int)0X8986),
-        ResampleZeroFillOml = ((int)0X8987),
-        ResampleAverageOml = ((int)0X8988),
-        ResampleDecimateOml = ((int)0X8989),
-        VertexAttribMap1Apple = ((int)0X8a00),
-        VertexAttribMap2Apple = ((int)0X8a01),
-        VertexAttribMap1SizeApple = ((int)0X8a02),
-        VertexAttribMap1CoeffApple = ((int)0X8a03),
-        VertexAttribMap1OrderApple = ((int)0X8a04),
-        VertexAttribMap1DomainApple = ((int)0X8a05),
-        VertexAttribMap2SizeApple = ((int)0X8a06),
-        VertexAttribMap2CoeffApple = ((int)0X8a07),
-        VertexAttribMap2OrderApple = ((int)0X8a08),
-        VertexAttribMap2DomainApple = ((int)0X8a09),
-        DrawPixelsApple = ((int)0X8a0a),
-        FenceApple = ((int)0X8a0b),
-        ColorFloatApple = ((int)0X8a0f),
-        UniformBuffer = ((int)0X8a11),
-        BufferSerializedModifyApple = ((int)0X8a12),
-        BufferFlushingUnmapApple = ((int)0X8a13),
-        AuxDepthStencilApple = ((int)0X8a14),
-        PackRowBytesApple = ((int)0X8a15),
-        UnpackRowBytesApple = ((int)0X8a16),
-        ReleasedApple = ((int)0X8a19),
-        VolatileApple = ((int)0X8a1a),
-        RetainedApple = ((int)0X8a1b),
-        UndefinedApple = ((int)0X8a1c),
-        PurgeableApple = ((int)0X8a1d),
-        UniformBufferBinding = ((int)0X8a28),
-        UniformBufferStart = ((int)0X8a29),
-        UniformBufferSize = ((int)0X8a2a),
-        MaxVertexUniformBlocks = ((int)0X8a2b),
-        MaxGeometryUniformBlocks = ((int)0X8a2c),
-        MaxFragmentUniformBlocks = ((int)0X8a2d),
-        MaxCombinedUniformBlocks = ((int)0X8a2e),
-        MaxUniformBufferBindings = ((int)0X8a2f),
-        MaxUniformBlockSize = ((int)0X8a30),
-        MaxCombinedVertexUniformComponents = ((int)0X8a31),
-        MaxCombinedGeometryUniformComponents = ((int)0X8a32),
-        MaxCombinedFragmentUniformComponents = ((int)0X8a33),
-        UniformBufferOffsetAlignment = ((int)0X8a34),
-        ActiveUniformBlockMaxNameLength = ((int)0X8a35),
-        ActiveUniformBlocks = ((int)0X8a36),
-        UniformType = ((int)0X8a37),
-        UniformSize = ((int)0X8a38),
-        UniformNameLength = ((int)0X8a39),
-        UniformBlockIndex = ((int)0X8a3a),
-        UniformOffset = ((int)0X8a3b),
-        UniformArrayStride = ((int)0X8a3c),
-        UniformMatrixStride = ((int)0X8a3d),
-        UniformIsRowMajor = ((int)0X8a3e),
-        UniformBlockBinding = ((int)0X8a3f),
-        UniformBlockDataSize = ((int)0X8a40),
-        UniformBlockNameLength = ((int)0X8a41),
-        UniformBlockActiveUniforms = ((int)0X8a42),
-        UniformBlockActiveUniformIndices = ((int)0X8a43),
-        UniformBlockReferencedByVertexShader = ((int)0X8a44),
-        UniformBlockReferencedByGeometryShader = ((int)0X8a45),
-        UniformBlockReferencedByFragmentShader = ((int)0X8a46),
-        FragmentShader = ((int)0X8b30),
-        FragmentShaderArb = ((int)0X8b30),
-        VertexShader = ((int)0X8b31),
-        VertexShaderArb = ((int)0X8b31),
-        ProgramObjectArb = ((int)0X8b40),
-        ShaderObjectArb = ((int)0X8b48),
-        MaxFragmentUniformComponents = ((int)0X8b49),
-        MaxFragmentUniformComponentsArb = ((int)0X8b49),
-        MaxVertexUniformComponents = ((int)0X8b4a),
-        MaxVertexUniformComponentsArb = ((int)0X8b4a),
-        MaxVaryingComponents = ((int)0X8b4b),
-        MaxVaryingComponentsExt = ((int)0X8b4b),
-        MaxVaryingFloats = ((int)0X8b4b),
-        MaxVaryingFloatsArb = ((int)0X8b4b),
-        MaxVertexTextureImageUnits = ((int)0X8b4c),
-        MaxVertexTextureImageUnitsArb = ((int)0X8b4c),
-        MaxCombinedTextureImageUnits = ((int)0X8b4d),
-        MaxCombinedTextureImageUnitsArb = ((int)0X8b4d),
-        ObjectTypeArb = ((int)0X8b4e),
-        ObjectSubtypeArb = ((int)0X8b4f),
-        ShaderType = ((int)0X8b4f),
-        FloatVec2 = ((int)0X8b50),
-        FloatVec2Arb = ((int)0X8b50),
-        FloatVec3 = ((int)0X8b51),
-        FloatVec3Arb = ((int)0X8b51),
-        FloatVec4 = ((int)0X8b52),
-        FloatVec4Arb = ((int)0X8b52),
-        IntVec2 = ((int)0X8b53),
-        IntVec2Arb = ((int)0X8b53),
-        IntVec3 = ((int)0X8b54),
-        IntVec3Arb = ((int)0X8b54),
-        IntVec4 = ((int)0X8b55),
-        IntVec4Arb = ((int)0X8b55),
-        Bool = ((int)0X8b56),
-        BoolArb = ((int)0X8b56),
-        BoolVec2 = ((int)0X8b57),
-        BoolVec2Arb = ((int)0X8b57),
-        BoolVec3 = ((int)0X8b58),
-        BoolVec3Arb = ((int)0X8b58),
-        BoolVec4 = ((int)0X8b59),
-        BoolVec4Arb = ((int)0X8b59),
-        FloatMat2 = ((int)0X8b5a),
-        FloatMat2Arb = ((int)0X8b5a),
-        FloatMat3 = ((int)0X8b5b),
-        FloatMat3Arb = ((int)0X8b5b),
-        FloatMat4 = ((int)0X8b5c),
-        FloatMat4Arb = ((int)0X8b5c),
-        Sampler1D = ((int)0X8b5d),
-        Sampler1DArb = ((int)0X8b5d),
-        Sampler2D = ((int)0X8b5e),
-        Sampler2DArb = ((int)0X8b5e),
-        Sampler3D = ((int)0X8b5f),
-        Sampler3DArb = ((int)0X8b5f),
-        SamplerCube = ((int)0X8b60),
-        SamplerCubeArb = ((int)0X8b60),
-        Sampler1DShadow = ((int)0X8b61),
-        Sampler1DShadowArb = ((int)0X8b61),
-        Sampler2DShadow = ((int)0X8b62),
-        Sampler2DShadowArb = ((int)0X8b62),
-        Sampler2DRect = ((int)0X8b63),
-        Sampler2DRectArb = ((int)0X8b63),
-        Sampler2DRectShadow = ((int)0X8b64),
-        Sampler2DRectShadowArb = ((int)0X8b64),
-        FloatMat2x3 = ((int)0X8b65),
-        FloatMat2x4 = ((int)0X8b66),
-        FloatMat3x2 = ((int)0X8b67),
-        FloatMat3x4 = ((int)0X8b68),
-        FloatMat4x2 = ((int)0X8b69),
-        FloatMat4x3 = ((int)0X8b6a),
-        DeleteStatus = ((int)0X8b80),
-        ObjectDeleteStatusArb = ((int)0X8b80),
-        CompileStatus = ((int)0X8b81),
-        ObjectCompileStatusArb = ((int)0X8b81),
-        LinkStatus = ((int)0X8b82),
-        ObjectLinkStatusArb = ((int)0X8b82),
-        ObjectValidateStatusArb = ((int)0X8b83),
-        ValidateStatus = ((int)0X8b83),
-        InfoLogLength = ((int)0X8b84),
-        ObjectInfoLogLengthArb = ((int)0X8b84),
-        AttachedShaders = ((int)0X8b85),
-        ObjectAttachedObjectsArb = ((int)0X8b85),
-        ActiveUniforms = ((int)0X8b86),
-        ObjectActiveUniformsArb = ((int)0X8b86),
-        ActiveUniformMaxLength = ((int)0X8b87),
-        ObjectActiveUniformMaxLengthArb = ((int)0X8b87),
-        ObjectShaderSourceLengthArb = ((int)0X8b88),
-        ShaderSourceLength = ((int)0X8b88),
-        ActiveAttributes = ((int)0X8b89),
-        ObjectActiveAttributesArb = ((int)0X8b89),
-        ActiveAttributeMaxLength = ((int)0X8b8a),
-        ObjectActiveAttributeMaxLengthArb = ((int)0X8b8a),
-        FragmentShaderDerivativeHint = ((int)0X8b8b),
-        FragmentShaderDerivativeHintArb = ((int)0X8b8b),
-        ShadingLanguageVersion = ((int)0X8b8c),
-        ShadingLanguageVersionArb = ((int)0X8b8c),
-        CurrentProgram = ((int)0X8b8d),
-        ImplementationColorReadTypeOes = ((int)0X8b9a),
-        ImplementationColorReadFormatOes = ((int)0X8b9b),
-        CounterTypeAmd = ((int)0X8bc0),
-        CounterRangeAmd = ((int)0X8bc1),
-        UnsignedInt64Amd = ((int)0X8bc2),
-        PercentageAmd = ((int)0X8bc3),
-        PerfmonResultAvailableAmd = ((int)0X8bc4),
-        PerfmonResultSizeAmd = ((int)0X8bc5),
-        PerfmonResultAmd = ((int)0X8bc6),
-        TextureRedType = ((int)0X8c10),
-        TextureRedTypeArb = ((int)0X8c10),
-        TextureGreenType = ((int)0X8c11),
-        TextureGreenTypeArb = ((int)0X8c11),
-        TextureBlueType = ((int)0X8c12),
-        TextureBlueTypeArb = ((int)0X8c12),
-        TextureAlphaType = ((int)0X8c13),
-        TextureAlphaTypeArb = ((int)0X8c13),
-        TextureLuminanceType = ((int)0X8c14),
-        TextureLuminanceTypeArb = ((int)0X8c14),
-        TextureIntensityType = ((int)0X8c15),
-        TextureIntensityTypeArb = ((int)0X8c15),
-        TextureDepthType = ((int)0X8c16),
-        TextureDepthTypeArb = ((int)0X8c16),
-        UnsignedNormalized = ((int)0X8c17),
-        UnsignedNormalizedArb = ((int)0X8c17),
-        Texture1DArray = ((int)0X8c18),
-        Texture1DArrayExt = ((int)0X8c18),
-        ProxyTexture1DArray = ((int)0X8c19),
-        ProxyTexture1DArrayExt = ((int)0X8c19),
-        Texture2DArray = ((int)0X8c1a),
-        Texture2DArrayExt = ((int)0X8c1a),
-        ProxyTexture2DArray = ((int)0X8c1b),
-        ProxyTexture2DArrayExt = ((int)0X8c1b),
-        TextureBinding1DArray = ((int)0X8c1c),
-        TextureBinding1DArrayExt = ((int)0X8c1c),
-        TextureBinding2DArray = ((int)0X8c1d),
-        TextureBinding2DArrayExt = ((int)0X8c1d),
-        GeometryProgramNv = ((int)0X8c26),
-        MaxProgramOutputVerticesNv = ((int)0X8c27),
-        MaxProgramTotalOutputComponentsNv = ((int)0X8c28),
-        MaxGeometryTextureImageUnits = ((int)0X8c29),
-        MaxGeometryTextureImageUnitsArb = ((int)0X8c29),
-        MaxGeometryTextureImageUnitsExt = ((int)0X8c29),
-        TextureBuffer = ((int)0X8c2a),
-        TextureBufferArb = ((int)0X8c2a),
-        TextureBufferExt = ((int)0X8c2a),
-        MaxTextureBufferSize = ((int)0X8c2b),
-        MaxTextureBufferSizeArb = ((int)0X8c2b),
-        MaxTextureBufferSizeExt = ((int)0X8c2b),
-        TextureBindingBuffer = ((int)0X8c2c),
-        TextureBindingBufferArb = ((int)0X8c2c),
-        TextureBindingBufferExt = ((int)0X8c2c),
-        TextureBufferDataStoreBinding = ((int)0X8c2d),
-        TextureBufferDataStoreBindingArb = ((int)0X8c2d),
-        TextureBufferDataStoreBindingExt = ((int)0X8c2d),
-        TextureBufferFormat = ((int)0X8c2e),
-        TextureBufferFormatArb = ((int)0X8c2e),
-        TextureBufferFormatExt = ((int)0X8c2e),
-        SampleShading = ((int)0X8c36),
-        MinSampleShadingValue = ((int)0X8c37),
-        R11fG11fB10f = ((int)0X8c3a),
-        R11fG11fB10fExt = ((int)0X8c3a),
-        UnsignedInt10F11F11FRev = ((int)0X8c3b),
-        UnsignedInt10F11F11FRevExt = ((int)0X8c3b),
-        RgbaSignedComponentsExt = ((int)0X8c3c),
-        Rgb9E5 = ((int)0X8c3d),
-        Rgb9E5Ext = ((int)0X8c3d),
-        UnsignedInt5999Rev = ((int)0X8c3e),
-        UnsignedInt5999RevExt = ((int)0X8c3e),
-        TextureSharedSize = ((int)0X8c3f),
-        TextureSharedSizeExt = ((int)0X8c3f),
-        Srgb = ((int)0X8c40),
-        SrgbExt = ((int)0X8c40),
-        Srgb8 = ((int)0X8c41),
-        Srgb8Ext = ((int)0X8c41),
-        SrgbAlpha = ((int)0X8c42),
-        SrgbAlphaExt = ((int)0X8c42),
-        Srgb8Alpha8 = ((int)0X8c43),
-        Srgb8Alpha8Ext = ((int)0X8c43),
-        SluminanceAlpha = ((int)0X8c44),
-        SluminanceAlphaExt = ((int)0X8c44),
-        Sluminance8Alpha8 = ((int)0X8c45),
-        Sluminance8Alpha8Ext = ((int)0X8c45),
-        Sluminance = ((int)0X8c46),
-        SluminanceExt = ((int)0X8c46),
-        Sluminance8 = ((int)0X8c47),
-        Sluminance8Ext = ((int)0X8c47),
-        CompressedSrgb = ((int)0X8c48),
-        CompressedSrgbExt = ((int)0X8c48),
-        CompressedSrgbAlpha = ((int)0X8c49),
-        CompressedSrgbAlphaExt = ((int)0X8c49),
-        CompressedSluminance = ((int)0X8c4a),
-        CompressedSluminanceExt = ((int)0X8c4a),
-        CompressedSluminanceAlpha = ((int)0X8c4b),
-        CompressedSluminanceAlphaExt = ((int)0X8c4b),
-        CompressedSrgbS3tcDxt1Ext = ((int)0X8c4c),
-        CompressedSrgbAlphaS3tcDxt1Ext = ((int)0X8c4d),
-        CompressedSrgbAlphaS3tcDxt3Ext = ((int)0X8c4e),
-        CompressedSrgbAlphaS3tcDxt5Ext = ((int)0X8c4f),
-        CompressedLuminanceLatc1Ext = ((int)0X8c70),
-        CompressedSignedLuminanceLatc1Ext = ((int)0X8c71),
-        CompressedLuminanceAlphaLatc2Ext = ((int)0X8c72),
-        CompressedSignedLuminanceAlphaLatc2Ext = ((int)0X8c73),
-        TransformFeedbackVaryingMaxLength = ((int)0X8c76),
-        TransformFeedbackVaryingMaxLengthExt = ((int)0X8c76),
-        BackPrimaryColorNv = ((int)0X8c77),
-        BackSecondaryColorNv = ((int)0X8c78),
-        TextureCoordNv = ((int)0X8c79),
-        ClipDistanceNv = ((int)0X8c7a),
-        VertexIdNv = ((int)0X8c7b),
-        PrimitiveIdNv = ((int)0X8c7c),
-        GenericAttribNv = ((int)0X8c7d),
-        TransformFeedbackAttribsNv = ((int)0X8c7e),
-        TransformFeedbackBufferMode = ((int)0X8c7f),
-        TransformFeedbackBufferModeExt = ((int)0X8c7f),
-        TransformFeedbackBufferModeNv = ((int)0X8c7f),
-        MaxTransformFeedbackSeparateComponents = ((int)0X8c80),
-        MaxTransformFeedbackSeparateComponentsExt = ((int)0X8c80),
-        MaxTransformFeedbackSeparateComponentsNv = ((int)0X8c80),
-        ActiveVaryingsNv = ((int)0X8c81),
-        ActiveVaryingMaxLengthNv = ((int)0X8c82),
-        TransformFeedbackVaryings = ((int)0X8c83),
-        TransformFeedbackVaryingsExt = ((int)0X8c83),
-        TransformFeedbackVaryingsNv = ((int)0X8c83),
-        TransformFeedbackBufferStart = ((int)0X8c84),
-        TransformFeedbackBufferStartExt = ((int)0X8c84),
-        TransformFeedbackBufferStartNv = ((int)0X8c84),
-        TransformFeedbackBufferSize = ((int)0X8c85),
-        TransformFeedbackBufferSizeExt = ((int)0X8c85),
-        TransformFeedbackBufferSizeNv = ((int)0X8c85),
-        TransformFeedbackRecordNv = ((int)0X8c86),
-        PrimitivesGenerated = ((int)0X8c87),
-        PrimitivesGeneratedExt = ((int)0X8c87),
-        PrimitivesGeneratedNv = ((int)0X8c87),
-        TransformFeedbackPrimitivesWritten = ((int)0X8c88),
-        TransformFeedbackPrimitivesWrittenExt = ((int)0X8c88),
-        TransformFeedbackPrimitivesWrittenNv = ((int)0X8c88),
-        RasterizerDiscard = ((int)0X8c89),
-        RasterizerDiscardExt = ((int)0X8c89),
-        RasterizerDiscardNv = ((int)0X8c89),
-        MaxTransformFeedbackInterleavedAttribsNv = ((int)0X8c8a),
-        MaxTransformFeedbackInterleavedComponents = ((int)0X8c8a),
-        MaxTransformFeedbackInterleavedComponentsExt = ((int)0X8c8a),
-        MaxTransformFeedbackSeparateAttribs = ((int)0X8c8b),
-        MaxTransformFeedbackSeparateAttribsExt = ((int)0X8c8b),
-        MaxTransformFeedbackSeparateAttribsNv = ((int)0X8c8b),
-        InterleavedAttribs = ((int)0X8c8c),
-        InterleavedAttribsExt = ((int)0X8c8c),
-        InterleavedAttribsNv = ((int)0X8c8c),
-        SeparateAttribs = ((int)0X8c8d),
-        SeparateAttribsExt = ((int)0X8c8d),
-        SeparateAttribsNv = ((int)0X8c8d),
-        TransformFeedbackBuffer = ((int)0X8c8e),
-        TransformFeedbackBufferExt = ((int)0X8c8e),
-        TransformFeedbackBufferNv = ((int)0X8c8e),
-        TransformFeedbackBufferBinding = ((int)0X8c8f),
-        TransformFeedbackBufferBindingExt = ((int)0X8c8f),
-        TransformFeedbackBufferBindingNv = ((int)0X8c8f),
-        PointSpriteCoordOrigin = ((int)0X8ca0),
-        LowerLeft = ((int)0X8ca1),
-        UpperLeft = ((int)0X8ca2),
-        StencilBackRef = ((int)0X8ca3),
-        StencilBackValueMask = ((int)0X8ca4),
-        StencilBackWritemask = ((int)0X8ca5),
-        DrawFramebufferBinding = ((int)0X8ca6),
-        DrawFramebufferBindingExt = ((int)0X8ca6),
-        FramebufferBinding = ((int)0X8ca6),
-        FramebufferBindingExt = ((int)0X8ca6),
-        RenderbufferBinding = ((int)0X8ca7),
-        RenderbufferBindingExt = ((int)0X8ca7),
-        ReadFramebuffer = ((int)0X8ca8),
-        ReadFramebufferExt = ((int)0X8ca8),
-        DrawFramebuffer = ((int)0X8ca9),
-        DrawFramebufferExt = ((int)0X8ca9),
-        ReadFramebufferBinding = ((int)0X8caa),
-        ReadFramebufferBindingExt = ((int)0X8caa),
-        RenderbufferCoverageSamplesNv = ((int)0X8cab),
-        RenderbufferSamples = ((int)0X8cab),
-        RenderbufferSamplesExt = ((int)0X8cab),
-        DepthComponent32f = ((int)0X8cac),
-        Depth32fStencil8 = ((int)0X8cad),
-        FramebufferAttachmentObjectType = ((int)0X8cd0),
-        FramebufferAttachmentObjectTypeExt = ((int)0X8cd0),
-        FramebufferAttachmentObjectName = ((int)0X8cd1),
-        FramebufferAttachmentObjectNameExt = ((int)0X8cd1),
-        FramebufferAttachmentTextureLevel = ((int)0X8cd2),
-        FramebufferAttachmentTextureLevelExt = ((int)0X8cd2),
-        FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3),
-        FramebufferAttachmentTextureCubeMapFaceExt = ((int)0X8cd3),
-        FramebufferAttachmentTexture3DZoffsetExt = ((int)0X8cd4),
-        FramebufferAttachmentTextureLayer = ((int)0X8cd4),
-        FramebufferAttachmentTextureLayerExt = ((int)0X8cd4),
-        FramebufferComplete = ((int)0X8cd5),
-        FramebufferCompleteExt = ((int)0X8cd5),
-        FramebufferIncompleteAttachment = ((int)0X8cd6),
-        FramebufferIncompleteAttachmentExt = ((int)0X8cd6),
-        FramebufferIncompleteMissingAttachment = ((int)0X8cd7),
-        FramebufferIncompleteMissingAttachmentExt = ((int)0X8cd7),
-        FramebufferIncompleteDimensionsExt = ((int)0X8cd9),
-        FramebufferIncompleteFormatsExt = ((int)0X8cda),
-        FramebufferIncompleteDrawBuffer = ((int)0X8cdb),
-        FramebufferIncompleteDrawBufferExt = ((int)0X8cdb),
-        FramebufferIncompleteReadBuffer = ((int)0X8cdc),
-        FramebufferIncompleteReadBufferExt = ((int)0X8cdc),
-        FramebufferUnsupported = ((int)0X8cdd),
-        FramebufferUnsupportedExt = ((int)0X8cdd),
-        MaxColorAttachments = ((int)0X8cdf),
-        MaxColorAttachmentsExt = ((int)0X8cdf),
-        ColorAttachment0 = ((int)0X8ce0),
-        ColorAttachment0Ext = ((int)0X8ce0),
-        ColorAttachment1 = ((int)0X8ce1),
-        ColorAttachment1Ext = ((int)0X8ce1),
-        ColorAttachment2 = ((int)0X8ce2),
-        ColorAttachment2Ext = ((int)0X8ce2),
-        ColorAttachment3 = ((int)0X8ce3),
-        ColorAttachment3Ext = ((int)0X8ce3),
-        ColorAttachment4 = ((int)0X8ce4),
-        ColorAttachment4Ext = ((int)0X8ce4),
-        ColorAttachment5 = ((int)0X8ce5),
-        ColorAttachment5Ext = ((int)0X8ce5),
-        ColorAttachment6 = ((int)0X8ce6),
-        ColorAttachment6Ext = ((int)0X8ce6),
-        ColorAttachment7 = ((int)0X8ce7),
-        ColorAttachment7Ext = ((int)0X8ce7),
-        ColorAttachment8 = ((int)0X8ce8),
-        ColorAttachment8Ext = ((int)0X8ce8),
-        ColorAttachment9 = ((int)0X8ce9),
-        ColorAttachment9Ext = ((int)0X8ce9),
-        ColorAttachment10 = ((int)0X8cea),
-        ColorAttachment10Ext = ((int)0X8cea),
-        ColorAttachment11 = ((int)0X8ceb),
-        ColorAttachment11Ext = ((int)0X8ceb),
-        ColorAttachment12 = ((int)0X8cec),
-        ColorAttachment12Ext = ((int)0X8cec),
-        ColorAttachment13 = ((int)0X8ced),
-        ColorAttachment13Ext = ((int)0X8ced),
-        ColorAttachment14 = ((int)0X8cee),
-        ColorAttachment14Ext = ((int)0X8cee),
-        ColorAttachment15 = ((int)0X8cef),
-        ColorAttachment15Ext = ((int)0X8cef),
-        DepthAttachment = ((int)0X8d00),
-        DepthAttachmentExt = ((int)0X8d00),
-        StencilAttachment = ((int)0X8d20),
-        StencilAttachmentExt = ((int)0X8d20),
-        Framebuffer = ((int)0X8d40),
-        FramebufferExt = ((int)0X8d40),
-        Renderbuffer = ((int)0X8d41),
-        RenderbufferExt = ((int)0X8d41),
-        RenderbufferWidth = ((int)0X8d42),
-        RenderbufferWidthExt = ((int)0X8d42),
-        RenderbufferHeight = ((int)0X8d43),
-        RenderbufferHeightExt = ((int)0X8d43),
-        RenderbufferInternalFormat = ((int)0X8d44),
-        RenderbufferInternalFormatExt = ((int)0X8d44),
-        StencilIndex1 = ((int)0X8d46),
-        StencilIndex1Ext = ((int)0X8d46),
-        StencilIndex4 = ((int)0X8d47),
-        StencilIndex4Ext = ((int)0X8d47),
-        StencilIndex8 = ((int)0X8d48),
-        StencilIndex8Ext = ((int)0X8d48),
-        StencilIndex16 = ((int)0X8d49),
-        StencilIndex16Ext = ((int)0X8d49),
-        RenderbufferRedSize = ((int)0X8d50),
-        RenderbufferRedSizeExt = ((int)0X8d50),
-        RenderbufferGreenSize = ((int)0X8d51),
-        RenderbufferGreenSizeExt = ((int)0X8d51),
-        RenderbufferBlueSize = ((int)0X8d52),
-        RenderbufferBlueSizeExt = ((int)0X8d52),
-        RenderbufferAlphaSize = ((int)0X8d53),
-        RenderbufferAlphaSizeExt = ((int)0X8d53),
-        RenderbufferDepthSize = ((int)0X8d54),
-        RenderbufferDepthSizeExt = ((int)0X8d54),
-        RenderbufferStencilSize = ((int)0X8d55),
-        RenderbufferStencilSizeExt = ((int)0X8d55),
-        FramebufferIncompleteMultisample = ((int)0X8d56),
-        FramebufferIncompleteMultisampleExt = ((int)0X8d56),
-        MaxSamples = ((int)0X8d57),
-        MaxSamplesExt = ((int)0X8d57),
-        Rgba32ui = ((int)0X8d70),
-        Rgba32uiExt = ((int)0X8d70),
-        Rgb32ui = ((int)0X8d71),
-        Rgb32uiExt = ((int)0X8d71),
-        Alpha32uiExt = ((int)0X8d72),
-        Intensity32uiExt = ((int)0X8d73),
-        Luminance32uiExt = ((int)0X8d74),
-        LuminanceAlpha32uiExt = ((int)0X8d75),
-        Rgba16ui = ((int)0X8d76),
-        Rgba16uiExt = ((int)0X8d76),
-        Rgb16ui = ((int)0X8d77),
-        Rgb16uiExt = ((int)0X8d77),
-        Alpha16uiExt = ((int)0X8d78),
-        Intensity16uiExt = ((int)0X8d79),
-        Luminance16uiExt = ((int)0X8d7a),
-        LuminanceAlpha16uiExt = ((int)0X8d7b),
-        Rgba8ui = ((int)0X8d7c),
-        Rgba8uiExt = ((int)0X8d7c),
-        Rgb8ui = ((int)0X8d7d),
-        Rgb8uiExt = ((int)0X8d7d),
-        Alpha8uiExt = ((int)0X8d7e),
-        Intensity8uiExt = ((int)0X8d7f),
-        Luminance8uiExt = ((int)0X8d80),
-        LuminanceAlpha8uiExt = ((int)0X8d81),
-        Rgba32i = ((int)0X8d82),
-        Rgba32iExt = ((int)0X8d82),
-        Rgb32i = ((int)0X8d83),
-        Rgb32iExt = ((int)0X8d83),
-        Alpha32iExt = ((int)0X8d84),
-        Intensity32iExt = ((int)0X8d85),
-        Luminance32iExt = ((int)0X8d86),
-        LuminanceAlpha32iExt = ((int)0X8d87),
-        Rgba16i = ((int)0X8d88),
-        Rgba16iExt = ((int)0X8d88),
-        Rgb16i = ((int)0X8d89),
-        Rgb16iExt = ((int)0X8d89),
-        Alpha16iExt = ((int)0X8d8a),
-        Intensity16iExt = ((int)0X8d8b),
-        Luminance16iExt = ((int)0X8d8c),
-        LuminanceAlpha16iExt = ((int)0X8d8d),
-        Rgba8i = ((int)0X8d8e),
-        Rgba8iExt = ((int)0X8d8e),
-        Rgb8i = ((int)0X8d8f),
-        Rgb8iExt = ((int)0X8d8f),
-        Alpha8iExt = ((int)0X8d90),
-        Intensity8iExt = ((int)0X8d91),
-        Luminance8iExt = ((int)0X8d92),
-        LuminanceAlpha8iExt = ((int)0X8d93),
-        RedInteger = ((int)0X8d94),
-        RedIntegerExt = ((int)0X8d94),
-        GreenInteger = ((int)0X8d95),
-        GreenIntegerExt = ((int)0X8d95),
-        BlueInteger = ((int)0X8d96),
-        BlueIntegerExt = ((int)0X8d96),
-        AlphaInteger = ((int)0X8d97),
-        AlphaIntegerExt = ((int)0X8d97),
-        RgbInteger = ((int)0X8d98),
-        RgbIntegerExt = ((int)0X8d98),
-        RgbaInteger = ((int)0X8d99),
-        RgbaIntegerExt = ((int)0X8d99),
-        BgrInteger = ((int)0X8d9a),
-        BgrIntegerExt = ((int)0X8d9a),
-        BgraInteger = ((int)0X8d9b),
-        BgraIntegerExt = ((int)0X8d9b),
-        LuminanceIntegerExt = ((int)0X8d9c),
-        LuminanceAlphaIntegerExt = ((int)0X8d9d),
-        RgbaIntegerModeExt = ((int)0X8d9e),
-        MaxProgramParameterBufferBindingsNv = ((int)0X8da0),
-        MaxProgramParameterBufferSizeNv = ((int)0X8da1),
-        VertexProgramParameterBufferNv = ((int)0X8da2),
-        GeometryProgramParameterBufferNv = ((int)0X8da3),
-        FragmentProgramParameterBufferNv = ((int)0X8da4),
-        MaxProgramGenericAttribsNv = ((int)0X8da5),
-        MaxProgramGenericResultsNv = ((int)0X8da6),
-        FramebufferAttachmentLayered = ((int)0X8da7),
-        FramebufferAttachmentLayeredArb = ((int)0X8da7),
-        FramebufferAttachmentLayeredExt = ((int)0X8da7),
-        FramebufferIncompleteLayerTargets = ((int)0X8da8),
-        FramebufferIncompleteLayerTargetsArb = ((int)0X8da8),
-        FramebufferIncompleteLayerTargetsExt = ((int)0X8da8),
-        FramebufferIncompleteLayerCountArb = ((int)0X8da9),
-        FramebufferIncompleteLayerCountExt = ((int)0X8da9),
-        DepthComponent32fNv = ((int)0X8dab),
-        Depth32fStencil8Nv = ((int)0X8dac),
-        Float32UnsignedInt248Rev = ((int)0X8dad),
-        Float32UnsignedInt248RevNv = ((int)0X8dad),
-        DepthBufferFloatModeNv = ((int)0X8daf),
-        FramebufferSrgb = ((int)0X8db9),
-        FramebufferSrgbExt = ((int)0X8db9),
-        FramebufferSrgbCapableExt = ((int)0X8dba),
-        CompressedRedRgtc1 = ((int)0X8dbb),
-        CompressedRedRgtc1Ext = ((int)0X8dbb),
-        CompressedSignedRedRgtc1 = ((int)0X8dbc),
-        CompressedSignedRedRgtc1Ext = ((int)0X8dbc),
-        CompressedRedGreenRgtc2Ext = ((int)0X8dbd),
-        CompressedRgRgtc2 = ((int)0X8dbd),
-        CompressedSignedRedGreenRgtc2Ext = ((int)0X8dbe),
-        CompressedSignedRgRgtc2 = ((int)0X8dbe),
-        Sampler1DArray = ((int)0X8dc0),
-        Sampler1DArrayExt = ((int)0X8dc0),
-        Sampler2DArray = ((int)0X8dc1),
-        Sampler2DArrayExt = ((int)0X8dc1),
-        SamplerBuffer = ((int)0X8dc2),
-        SamplerBufferExt = ((int)0X8dc2),
-        Sampler1DArrayShadow = ((int)0X8dc3),
-        Sampler1DArrayShadowExt = ((int)0X8dc3),
-        Sampler2DArrayShadow = ((int)0X8dc4),
-        Sampler2DArrayShadowExt = ((int)0X8dc4),
-        SamplerCubeShadow = ((int)0X8dc5),
-        SamplerCubeShadowExt = ((int)0X8dc5),
-        UnsignedIntVec2 = ((int)0X8dc6),
-        UnsignedIntVec2Ext = ((int)0X8dc6),
-        UnsignedIntVec3 = ((int)0X8dc7),
-        UnsignedIntVec3Ext = ((int)0X8dc7),
-        UnsignedIntVec4 = ((int)0X8dc8),
-        UnsignedIntVec4Ext = ((int)0X8dc8),
-        IntSampler1D = ((int)0X8dc9),
-        IntSampler1DExt = ((int)0X8dc9),
-        IntSampler2D = ((int)0X8dca),
-        IntSampler2DExt = ((int)0X8dca),
-        IntSampler3D = ((int)0X8dcb),
-        IntSampler3DExt = ((int)0X8dcb),
-        IntSamplerCube = ((int)0X8dcc),
-        IntSamplerCubeExt = ((int)0X8dcc),
-        IntSampler2DRect = ((int)0X8dcd),
-        IntSampler2DRectExt = ((int)0X8dcd),
-        IntSampler1DArray = ((int)0X8dce),
-        IntSampler1DArrayExt = ((int)0X8dce),
-        IntSampler2DArray = ((int)0X8dcf),
-        IntSampler2DArrayExt = ((int)0X8dcf),
-        IntSamplerBuffer = ((int)0X8dd0),
-        IntSamplerBufferExt = ((int)0X8dd0),
-        UnsignedIntSampler1D = ((int)0X8dd1),
-        UnsignedIntSampler1DExt = ((int)0X8dd1),
-        UnsignedIntSampler2D = ((int)0X8dd2),
-        UnsignedIntSampler2DExt = ((int)0X8dd2),
-        UnsignedIntSampler3D = ((int)0X8dd3),
-        UnsignedIntSampler3DExt = ((int)0X8dd3),
-        UnsignedIntSamplerCube = ((int)0X8dd4),
-        UnsignedIntSamplerCubeExt = ((int)0X8dd4),
-        UnsignedIntSampler2DRect = ((int)0X8dd5),
-        UnsignedIntSampler2DRectExt = ((int)0X8dd5),
-        UnsignedIntSampler1DArray = ((int)0X8dd6),
-        UnsignedIntSampler1DArrayExt = ((int)0X8dd6),
-        UnsignedIntSampler2DArray = ((int)0X8dd7),
-        UnsignedIntSampler2DArrayExt = ((int)0X8dd7),
-        UnsignedIntSamplerBuffer = ((int)0X8dd8),
-        UnsignedIntSamplerBufferExt = ((int)0X8dd8),
-        GeometryShader = ((int)0X8dd9),
-        GeometryShaderArb = ((int)0X8dd9),
-        GeometryShaderExt = ((int)0X8dd9),
-        GeometryVerticesOutArb = ((int)0X8dda),
-        GeometryVerticesOutExt = ((int)0X8dda),
-        GeometryInputTypeArb = ((int)0X8ddb),
-        GeometryInputTypeExt = ((int)0X8ddb),
-        GeometryOutputTypeArb = ((int)0X8ddc),
-        GeometryOutputTypeExt = ((int)0X8ddc),
-        MaxGeometryVaryingComponentsArb = ((int)0X8ddd),
-        MaxGeometryVaryingComponentsExt = ((int)0X8ddd),
-        MaxVertexVaryingComponentsArb = ((int)0X8dde),
-        MaxVertexVaryingComponentsExt = ((int)0X8dde),
-        MaxGeometryUniformComponents = ((int)0X8ddf),
-        MaxGeometryUniformComponentsArb = ((int)0X8ddf),
-        MaxGeometryUniformComponentsExt = ((int)0X8ddf),
-        MaxGeometryOutputVertices = ((int)0X8de0),
-        MaxGeometryOutputVerticesArb = ((int)0X8de0),
-        MaxGeometryOutputVerticesExt = ((int)0X8de0),
-        MaxGeometryTotalOutputComponents = ((int)0X8de1),
-        MaxGeometryTotalOutputComponentsArb = ((int)0X8de1),
-        MaxGeometryTotalOutputComponentsExt = ((int)0X8de1),
-        MaxVertexBindableUniformsExt = ((int)0X8de2),
-        MaxFragmentBindableUniformsExt = ((int)0X8de3),
-        MaxGeometryBindableUniformsExt = ((int)0X8de4),
-        MaxBindableUniformSizeExt = ((int)0X8ded),
-        UniformBufferExt = ((int)0X8dee),
-        UniformBufferBindingExt = ((int)0X8def),
-        RenderbufferColorSamplesNv = ((int)0X8e10),
-        MaxMultisampleCoverageModesNv = ((int)0X8e11),
-        MultisampleCoverageModesNv = ((int)0X8e12),
-        QueryWait = ((int)0X8e13),
-        QueryWaitNv = ((int)0X8e13),
-        QueryNoWait = ((int)0X8e14),
-        QueryNoWaitNv = ((int)0X8e14),
-        QueryByRegionWait = ((int)0X8e15),
-        QueryByRegionWaitNv = ((int)0X8e15),
-        QueryByRegionNoWait = ((int)0X8e16),
-        QueryByRegionNoWaitNv = ((int)0X8e16),
-        TransformFeedbackNv = ((int)0X8e22),
-        TransformFeedbackBufferPausedNv = ((int)0X8e23),
-        TransformFeedbackBufferActiveNv = ((int)0X8e24),
-        TransformFeedbackBindingNv = ((int)0X8e25),
-        FrameNv = ((int)0X8e26),
-        FieldsNv = ((int)0X8e27),
-        CurrentTimeNv = ((int)0X8e28),
-        NumFillStreamsNv = ((int)0X8e29),
-        PresentTimeNv = ((int)0X8e2a),
-        PresentDurationNv = ((int)0X8e2b),
-        ProgramMatrixExt = ((int)0X8e2d),
-        TransposeProgramMatrixExt = ((int)0X8e2e),
-        ProgramMatrixStackDepthExt = ((int)0X8e2f),
-        TextureSwizzleRExt = ((int)0X8e42),
-        TextureSwizzleGExt = ((int)0X8e43),
-        TextureSwizzleBExt = ((int)0X8e44),
-        TextureSwizzleAExt = ((int)0X8e45),
-        TextureSwizzleRgbaExt = ((int)0X8e46),
-        QuadsFollowProvokingVertexConvention = ((int)0X8e4c),
-        QuadsFollowProvokingVertexConventionExt = ((int)0X8e4c),
-        FirstVertexConvention = ((int)0X8e4d),
-        FirstVertexConventionExt = ((int)0X8e4d),
-        LastVertexConvention = ((int)0X8e4e),
-        LastVertexConventionExt = ((int)0X8e4e),
-        ProvokingVertex = ((int)0X8e4f),
-        ProvokingVertexExt = ((int)0X8e4f),
-        SamplePosition = ((int)0X8e50),
-        SamplePositionNv = ((int)0X8e50),
-        SampleMask = ((int)0X8e51),
-        SampleMaskNv = ((int)0X8e51),
-        SampleMaskValue = ((int)0X8e52),
-        SampleMaskValueNv = ((int)0X8e52),
-        TextureBindingRenderbufferNv = ((int)0X8e53),
-        TextureRenderbufferDataStoreBindingNv = ((int)0X8e54),
-        TextureRenderbufferNv = ((int)0X8e55),
-        SamplerRenderbufferNv = ((int)0X8e56),
-        IntSamplerRenderbufferNv = ((int)0X8e57),
-        UnsignedIntSamplerRenderbufferNv = ((int)0X8e58),
-        MaxSampleMaskWords = ((int)0X8e59),
-        MaxSampleMaskWordsNv = ((int)0X8e59),
-        MinProgramTextureGatherOffset = ((int)0X8e5e),
-        MaxProgramTextureGatherOffset = ((int)0X8e5f),
-        CopyReadBuffer = ((int)0X8f36),
-        CopyWriteBuffer = ((int)0X8f37),
-        RedSnorm = ((int)0X8f90),
-        RgSnorm = ((int)0X8f91),
-        RgbSnorm = ((int)0X8f92),
-        RgbaSnorm = ((int)0X8f93),
-        R8Snorm = ((int)0X8f94),
-        Rg8Snorm = ((int)0X8f95),
-        Rgb8Snorm = ((int)0X8f96),
-        Rgba8Snorm = ((int)0X8f97),
-        R16Snorm = ((int)0X8f98),
-        Rg16Snorm = ((int)0X8f99),
-        Rgb16Snorm = ((int)0X8f9a),
-        Rgba16Snorm = ((int)0X8f9b),
-        SignedNormalized = ((int)0X8f9c),
-        PrimitiveRestart = ((int)0X8f9d),
-        PrimitiveRestartIndex = ((int)0X8f9e),
-        MaxProgramTextureGatherComponents = ((int)0X8f9f),
-        SamplerBufferAmd = ((int)0X9001),
-        IntSamplerBufferAmd = ((int)0X9002),
-        UnsignedIntSamplerBufferAmd = ((int)0X9003),
-        TessellationModeAmd = ((int)0X9004),
-        TessellationFactorAmd = ((int)0X9005),
-        DiscreteAmd = ((int)0X9006),
-        ContinuousAmd = ((int)0X9007),
-        TextureCubeMapArray = ((int)0X9009),
-        TextureBindingCubeMapArray = ((int)0X900a),
-        ProxyTextureCubeMapArray = ((int)0X900b),
-        SamplerCubeMapArray = ((int)0X900c),
-        SamplerCubeMapArrayShadow = ((int)0X900d),
-        IntSamplerCubeMapArray = ((int)0X900e),
-        UnsignedIntSamplerCubeMapArray = ((int)0X900f),
-        AlphaSnorm = ((int)0X9010),
-        LuminanceSnorm = ((int)0X9011),
-        LuminanceAlphaSnorm = ((int)0X9012),
-        IntensitySnorm = ((int)0X9013),
-        Alpha8Snorm = ((int)0X9014),
-        Luminance8Snorm = ((int)0X9015),
-        Luminance8Alpha8Snorm = ((int)0X9016),
-        Intensity8Snorm = ((int)0X9017),
-        Alpha16Snorm = ((int)0X9018),
-        Luminance16Snorm = ((int)0X9019),
-        Luminance16Alpha16Snorm = ((int)0X901a),
-        Intensity16Snorm = ((int)0X901b),
-        Texture2DMultisample = ((int)0X9100),
-        ProxyTexture2DMultisample = ((int)0X9101),
-        Texture2DMultisampleArray = ((int)0X9102),
-        ProxyTexture2DMultisampleArray = ((int)0X9103),
-        TextureBinding2DMultisample = ((int)0X9104),
-        TextureBinding2DMultisampleArray = ((int)0X9105),
-        TextureSamples = ((int)0X9106),
-        TextureFixedSampleLocations = ((int)0X9107),
-        Sampler2DMultisample = ((int)0X9108),
-        IntSampler2DMultisample = ((int)0X9109),
-        UnsignedIntSampler2DMultisample = ((int)0X910a),
-        Sampler2DMultisampleArray = ((int)0X910b),
-        IntSampler2DMultisampleArray = ((int)0X910c),
-        UnsignedIntSampler2DMultisampleArray = ((int)0X910d),
-        MaxColorTextureSamples = ((int)0X910e),
-        MaxDepthTextureSamples = ((int)0X910f),
-        MaxIntegerSamples = ((int)0X9110),
-        MaxServerWaitTimeout = ((int)0X9111),
-        ObjectType = ((int)0X9112),
-        SyncCondition = ((int)0X9113),
-        SyncStatus = ((int)0X9114),
-        SyncFlags = ((int)0X9115),
-        SyncFence = ((int)0X9116),
-        SyncGpuCommandsComplete = ((int)0X9117),
-        Unsignaled = ((int)0X9118),
-        Signaled = ((int)0X9119),
-        AlreadySignaled = ((int)0X911a),
-        TimeoutExpired = ((int)0X911b),
-        ConditionSatisfied = ((int)0X911c),
-        WaitFailed = ((int)0X911d),
-        BufferAccessFlags = ((int)0X911f),
-        BufferMapLength = ((int)0X9120),
-        BufferMapOffset = ((int)0X9121),
-        MaxVertexOutputComponents = ((int)0X9122),
-        MaxGeometryInputComponents = ((int)0X9123),
-        MaxGeometryOutputComponents = ((int)0X9124),
-        MaxFragmentInputComponents = ((int)0X9125),
-        ContextProfileMask = ((int)0X9126),
-        AllAttribBits = unchecked((int)0Xffffffff),
-        ClientAllAttribBits = unchecked((int)0Xffffffff),
-        InvalidIndex = unchecked((int)0Xffffffff),
-        TimeoutIgnored = unchecked((int)0Xffffffffffffffff),
-        One = ((int)1),
-        True = ((int)1),
-        CullVertexIbm = ((int)103050),
-        VertexArrayListIbm = ((int)103070),
-        NormalArrayListIbm = ((int)103071),
-        ColorArrayListIbm = ((int)103072),
-        IndexArrayListIbm = ((int)103073),
-        TextureCoordArrayListIbm = ((int)103074),
-        EdgeFlagArrayListIbm = ((int)103075),
-        FogCoordinateArrayListIbm = ((int)103076),
-        SecondaryColorArrayListIbm = ((int)103077),
-        VertexArrayListStrideIbm = ((int)103080),
-        NormalArrayListStrideIbm = ((int)103081),
-        ColorArrayListStrideIbm = ((int)103082),
-        IndexArrayListStrideIbm = ((int)103083),
-        TextureCoordArrayListStrideIbm = ((int)103084),
-        EdgeFlagArrayListStrideIbm = ((int)103085),
-        FogCoordinateArrayListStrideIbm = ((int)103086),
-        SecondaryColorArrayListStrideIbm = ((int)103087),
-        Two = ((int)2),
-        Three = ((int)3),
-        Four = ((int)4),
-    }
-
-    public enum AlphaFunction
-    {
-        Never = ((int)0X0200),
-        Less = ((int)0X0201),
-        Equal = ((int)0X0202),
-        Lequal = ((int)0X0203),
-        Greater = ((int)0X0204),
-        Notequal = ((int)0X0205),
-        Gequal = ((int)0X0206),
-        Always = ((int)0X0207),
-    }
-
-    public enum AmdDrawBuffersBlend
-    {
-    }
-
-    public enum AmdPerformanceMonitor
-    {
-        CounterTypeAmd = ((int)0X8bc0),
-        CounterRangeAmd = ((int)0X8bc1),
-        UnsignedInt64Amd = ((int)0X8bc2),
-        PercentageAmd = ((int)0X8bc3),
-        PerfmonResultAvailableAmd = ((int)0X8bc4),
-        PerfmonResultSizeAmd = ((int)0X8bc5),
-        PerfmonResultAmd = ((int)0X8bc6),
-    }
-
-    public enum AmdTextureTexture4
-    {
-    }
-
-    public enum AmdVertexShaderTesselator
-    {
-        SamplerBufferAmd = ((int)0X9001),
-        IntSamplerBufferAmd = ((int)0X9002),
-        UnsignedIntSamplerBufferAmd = ((int)0X9003),
-        TessellationModeAmd = ((int)0X9004),
-        TessellationFactorAmd = ((int)0X9005),
-        DiscreteAmd = ((int)0X9006),
-        ContinuousAmd = ((int)0X9007),
-    }
-
-    public enum AppleAuxDepthStencil
-    {
-        AuxDepthStencilApple = ((int)0X8a14),
-    }
-
-    public enum AppleClientStorage
-    {
-        UnpackClientStorageApple = ((int)0X85b2),
-    }
-
-    public enum AppleElementArray
-    {
-        ElementArrayApple = ((int)0X8768),
-        ElementArrayTypeApple = ((int)0X8769),
-        ElementArrayPointerApple = ((int)0X876a),
-    }
-
-    public enum AppleFence
-    {
-        DrawPixelsApple = ((int)0X8a0a),
-        FenceApple = ((int)0X8a0b),
-    }
-
-    public enum AppleFloatPixels
-    {
-        HalfApple = ((int)0X140b),
-        RgbaFloat32Apple = ((int)0X8814),
-        RgbFloat32Apple = ((int)0X8815),
-        AlphaFloat32Apple = ((int)0X8816),
-        IntensityFloat32Apple = ((int)0X8817),
-        LuminanceFloat32Apple = ((int)0X8818),
-        LuminanceAlphaFloat32Apple = ((int)0X8819),
-        RgbaFloat16Apple = ((int)0X881a),
-        RgbFloat16Apple = ((int)0X881b),
-        AlphaFloat16Apple = ((int)0X881c),
-        IntensityFloat16Apple = ((int)0X881d),
-        LuminanceFloat16Apple = ((int)0X881e),
-        LuminanceAlphaFloat16Apple = ((int)0X881f),
-        ColorFloatApple = ((int)0X8a0f),
-    }
-
-    public enum AppleFlushBufferRange
-    {
-        BufferSerializedModifyApple = ((int)0X8a12),
-        BufferFlushingUnmapApple = ((int)0X8a13),
-    }
-
-    public enum AppleObjectPurgeable
-    {
-        BufferObjectApple = ((int)0X85b3),
-        ReleasedApple = ((int)0X8a19),
-        VolatileApple = ((int)0X8a1a),
-        RetainedApple = ((int)0X8a1b),
-        UndefinedApple = ((int)0X8a1c),
-        PurgeableApple = ((int)0X8a1d),
-    }
-
-    public enum AppleRowBytes
-    {
-        PackRowBytesApple = ((int)0X8a15),
-        UnpackRowBytesApple = ((int)0X8a16),
-    }
-
-    public enum AppleSpecularVector
-    {
-        LightModelSpecularVectorApple = ((int)0X85b0),
-    }
-
-    public enum AppleTextureRange
-    {
-        TextureRangeLengthApple = ((int)0X85b7),
-        TextureRangePointerApple = ((int)0X85b8),
-        TextureStorageHintApple = ((int)0X85bc),
-        StoragePrivateApple = ((int)0X85bd),
-        StorageCachedApple = ((int)0X85be),
-        StorageSharedApple = ((int)0X85bf),
-    }
-
-    public enum AppleTransformHint
-    {
-        TransformHintApple = ((int)0X85b1),
-    }
-
-    public enum AppleVertexArrayObject
-    {
-        VertexArrayBindingApple = ((int)0X85b5),
-    }
-
-    public enum AppleVertexArrayRange
-    {
-        VertexArrayRangeApple = ((int)0X851d),
-        VertexArrayRangeLengthApple = ((int)0X851e),
-        VertexArrayStorageHintApple = ((int)0X851f),
-        VertexArrayRangePointerApple = ((int)0X8521),
-        StorageCachedApple = ((int)0X85be),
-        StorageSharedApple = ((int)0X85bf),
-    }
-
-    public enum AppleVertexProgramEvaluators
-    {
-        VertexAttribMap1Apple = ((int)0X8a00),
-        VertexAttribMap2Apple = ((int)0X8a01),
-        VertexAttribMap1SizeApple = ((int)0X8a02),
-        VertexAttribMap1CoeffApple = ((int)0X8a03),
-        VertexAttribMap1OrderApple = ((int)0X8a04),
-        VertexAttribMap1DomainApple = ((int)0X8a05),
-        VertexAttribMap2SizeApple = ((int)0X8a06),
-        VertexAttribMap2CoeffApple = ((int)0X8a07),
-        VertexAttribMap2OrderApple = ((int)0X8a08),
-        VertexAttribMap2DomainApple = ((int)0X8a09),
-    }
-
-    public enum AppleYcbcr422
-    {
-        Ycbcr422Apple = ((int)0X85b9),
-        UnsignedShort88Apple = ((int)0X85ba),
-        UnsignedShort88RevApple = ((int)0X85bb),
-    }
-
-    public enum ArbColorBufferFloat
-    {
-        RgbaFloatModeArb = ((int)0X8820),
-        ClampVertexColorArb = ((int)0X891a),
-        ClampFragmentColorArb = ((int)0X891b),
-        ClampReadColorArb = ((int)0X891c),
-        FixedOnlyArb = ((int)0X891d),
-    }
-
-    public enum ArbCompatibility
-    {
-    }
-
-    public enum ArbCopyBuffer
-    {
-        CopyReadBuffer = ((int)0X8f36),
-        CopyWriteBuffer = ((int)0X8f37),
-    }
-
-    public enum ArbDepthBufferFloat
-    {
-        DepthComponent32f = ((int)0X8cac),
-        Depth32fStencil8 = ((int)0X8cad),
-        Float32UnsignedInt248Rev = ((int)0X8dad),
-    }
-
-    public enum ArbDepthClamp
-    {
-        DepthClamp = ((int)0X864f),
-    }
-
-    public enum ArbDepthTexture
-    {
-        DepthComponent16Arb = ((int)0X81a5),
-        DepthComponent24Arb = ((int)0X81a6),
-        DepthComponent32Arb = ((int)0X81a7),
-        TextureDepthSizeArb = ((int)0X884a),
-        DepthTextureModeArb = ((int)0X884b),
-    }
-
-    public enum ArbDrawBuffers
-    {
-        MaxDrawBuffersArb = ((int)0X8824),
-        DrawBuffer0Arb = ((int)0X8825),
-        DrawBuffer1Arb = ((int)0X8826),
-        DrawBuffer2Arb = ((int)0X8827),
-        DrawBuffer3Arb = ((int)0X8828),
-        DrawBuffer4Arb = ((int)0X8829),
-        DrawBuffer5Arb = ((int)0X882a),
-        DrawBuffer6Arb = ((int)0X882b),
-        DrawBuffer7Arb = ((int)0X882c),
-        DrawBuffer8Arb = ((int)0X882d),
-        DrawBuffer9Arb = ((int)0X882e),
-        DrawBuffer10Arb = ((int)0X882f),
-        DrawBuffer11Arb = ((int)0X8830),
-        DrawBuffer12Arb = ((int)0X8831),
-        DrawBuffer13Arb = ((int)0X8832),
-        DrawBuffer14Arb = ((int)0X8833),
-        DrawBuffer15Arb = ((int)0X8834),
-    }
-
-    public enum ArbDrawBuffersBlend
-    {
-    }
-
-    public enum ArbDrawElementsBaseVertex
-    {
-    }
-
-    public enum ArbDrawInstanced
-    {
-    }
-
-    public enum ArbFragmentCoordConventions
-    {
-    }
-
-    public enum ArbFragmentProgram
-    {
-        FragmentProgramArb = ((int)0X8804),
-        ProgramAluInstructionsArb = ((int)0X8805),
-        ProgramTexInstructionsArb = ((int)0X8806),
-        ProgramTexIndirectionsArb = ((int)0X8807),
-        ProgramNativeAluInstructionsArb = ((int)0X8808),
-        ProgramNativeTexInstructionsArb = ((int)0X8809),
-        ProgramNativeTexIndirectionsArb = ((int)0X880a),
-        MaxProgramAluInstructionsArb = ((int)0X880b),
-        MaxProgramTexInstructionsArb = ((int)0X880c),
-        MaxProgramTexIndirectionsArb = ((int)0X880d),
-        MaxProgramNativeAluInstructionsArb = ((int)0X880e),
-        MaxProgramNativeTexInstructionsArb = ((int)0X880f),
-        MaxProgramNativeTexIndirectionsArb = ((int)0X8810),
-        MaxTextureCoordsArb = ((int)0X8871),
-        MaxTextureImageUnitsArb = ((int)0X8872),
-    }
-
-    public enum ArbFragmentProgramShadow
-    {
-    }
-
-    public enum ArbFragmentShader
-    {
-        FragmentShaderArb = ((int)0X8b30),
-        MaxFragmentUniformComponentsArb = ((int)0X8b49),
-        FragmentShaderDerivativeHintArb = ((int)0X8b8b),
-    }
-
-    public enum ArbFramebufferObject
-    {
-        InvalidFramebufferOperation = ((int)0X0506),
-        FramebufferAttachmentColorEncoding = ((int)0X8210),
-        FramebufferAttachmentComponentType = ((int)0X8211),
-        FramebufferAttachmentRedSize = ((int)0X8212),
-        FramebufferAttachmentGreenSize = ((int)0X8213),
-        FramebufferAttachmentBlueSize = ((int)0X8214),
-        FramebufferAttachmentAlphaSize = ((int)0X8215),
-        FramebufferAttachmentDepthSize = ((int)0X8216),
-        FramebufferAttachmentStencilSize = ((int)0X8217),
-        FramebufferDefault = ((int)0X8218),
-        FramebufferUndefined = ((int)0X8219),
-        DepthStencilAttachment = ((int)0X821a),
-        MaxRenderbufferSize = ((int)0X84e8),
-        DepthStencil = ((int)0X84f9),
-        UnsignedInt248 = ((int)0X84fa),
-        Depth24Stencil8 = ((int)0X88f0),
-        TextureStencilSize = ((int)0X88f1),
-        TextureRedType = ((int)0X8c10),
-        TextureGreenType = ((int)0X8c11),
-        TextureBlueType = ((int)0X8c12),
-        TextureAlphaType = ((int)0X8c13),
-        TextureDepthType = ((int)0X8c16),
-        UnsignedNormalized = ((int)0X8c17),
-        DrawFramebufferBinding = ((int)0X8ca6),
-        FramebufferBinding = ((int)0X8ca6),
-        RenderbufferBinding = ((int)0X8ca7),
-        ReadFramebuffer = ((int)0X8ca8),
-        DrawFramebuffer = ((int)0X8ca9),
-        ReadFramebufferBinding = ((int)0X8caa),
-        RenderbufferSamples = ((int)0X8cab),
-        FramebufferAttachmentObjectType = ((int)0X8cd0),
-        FramebufferAttachmentObjectName = ((int)0X8cd1),
-        FramebufferAttachmentTextureLevel = ((int)0X8cd2),
-        FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3),
-        FramebufferAttachmentTextureLayer = ((int)0X8cd4),
-        FramebufferComplete = ((int)0X8cd5),
-        FramebufferIncompleteAttachment = ((int)0X8cd6),
-        FramebufferIncompleteMissingAttachment = ((int)0X8cd7),
-        FramebufferIncompleteDrawBuffer = ((int)0X8cdb),
-        FramebufferIncompleteReadBuffer = ((int)0X8cdc),
-        FramebufferUnsupported = ((int)0X8cdd),
-        MaxColorAttachments = ((int)0X8cdf),
-        ColorAttachment0 = ((int)0X8ce0),
-        ColorAttachment1 = ((int)0X8ce1),
-        ColorAttachment2 = ((int)0X8ce2),
-        ColorAttachment3 = ((int)0X8ce3),
-        ColorAttachment4 = ((int)0X8ce4),
-        ColorAttachment5 = ((int)0X8ce5),
-        ColorAttachment6 = ((int)0X8ce6),
-        ColorAttachment7 = ((int)0X8ce7),
-        ColorAttachment8 = ((int)0X8ce8),
-        ColorAttachment9 = ((int)0X8ce9),
-        ColorAttachment10 = ((int)0X8cea),
-        ColorAttachment11 = ((int)0X8ceb),
-        ColorAttachment12 = ((int)0X8cec),
-        ColorAttachment13 = ((int)0X8ced),
-        ColorAttachment14 = ((int)0X8cee),
-        ColorAttachment15 = ((int)0X8cef),
-        DepthAttachment = ((int)0X8d00),
-        StencilAttachment = ((int)0X8d20),
-        Framebuffer = ((int)0X8d40),
-        Renderbuffer = ((int)0X8d41),
-        RenderbufferWidth = ((int)0X8d42),
-        RenderbufferHeight = ((int)0X8d43),
-        RenderbufferInternalFormat = ((int)0X8d44),
-        StencilIndex1 = ((int)0X8d46),
-        StencilIndex4 = ((int)0X8d47),
-        StencilIndex8 = ((int)0X8d48),
-        StencilIndex16 = ((int)0X8d49),
-        RenderbufferRedSize = ((int)0X8d50),
-        RenderbufferGreenSize = ((int)0X8d51),
-        RenderbufferBlueSize = ((int)0X8d52),
-        RenderbufferAlphaSize = ((int)0X8d53),
-        RenderbufferDepthSize = ((int)0X8d54),
-        RenderbufferStencilSize = ((int)0X8d55),
-        FramebufferIncompleteMultisample = ((int)0X8d56),
-        MaxSamples = ((int)0X8d57),
-    }
-
-    public enum ArbFramebufferObjectDeprecated
-    {
-        Index = ((int)0X8222),
-        TextureLuminanceType = ((int)0X8c14),
-        TextureIntensityType = ((int)0X8c15),
-    }
-
-    public enum ArbFramebufferSrgb
-    {
-        FramebufferSrgb = ((int)0X8db9),
-    }
-
-    public enum ArbGeometryShader4
-    {
-        LinesAdjacencyArb = ((int)0X000a),
-        LineStripAdjacencyArb = ((int)0X000b),
-        TrianglesAdjacencyArb = ((int)0X000c),
-        TriangleStripAdjacencyArb = ((int)0X000d),
-        ProgramPointSizeArb = ((int)0X8642),
-        MaxVaryingComponents = ((int)0X8b4b),
-        MaxGeometryTextureImageUnitsArb = ((int)0X8c29),
-        FramebufferAttachmentTextureLayer = ((int)0X8cd4),
-        FramebufferAttachmentLayeredArb = ((int)0X8da7),
-        FramebufferIncompleteLayerTargetsArb = ((int)0X8da8),
-        FramebufferIncompleteLayerCountArb = ((int)0X8da9),
-        GeometryShaderArb = ((int)0X8dd9),
-        GeometryVerticesOutArb = ((int)0X8dda),
-        GeometryInputTypeArb = ((int)0X8ddb),
-        GeometryOutputTypeArb = ((int)0X8ddc),
-        MaxGeometryVaryingComponentsArb = ((int)0X8ddd),
-        MaxVertexVaryingComponentsArb = ((int)0X8dde),
-        MaxGeometryUniformComponentsArb = ((int)0X8ddf),
-        MaxGeometryOutputVerticesArb = ((int)0X8de0),
-        MaxGeometryTotalOutputComponentsArb = ((int)0X8de1),
-    }
-
-    public enum ArbHalfFloatPixel
-    {
-        HalfFloatArb = ((int)0X140b),
-    }
-
-    public enum ArbHalfFloatVertex
-    {
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum ArbImaging
-    {
-        ConstantColor = ((int)0X8001),
-        OneMinusConstantColor = ((int)0X8002),
-        ConstantAlpha = ((int)0X8003),
-        OneMinusConstantAlpha = ((int)0X8004),
-        BlendColor = ((int)0X8005),
-        FuncAdd = ((int)0X8006),
-        Min = ((int)0X8007),
-        Max = ((int)0X8008),
-        BlendEquation = ((int)0X8009),
-        FuncSubtract = ((int)0X800a),
-        FuncReverseSubtract = ((int)0X800b),
-    }
-
-    public enum ArbImagingDeprecated
-    {
-        Convolution1D = ((int)0X8010),
-        Convolution2D = ((int)0X8011),
-        Separable2D = ((int)0X8012),
-        ConvolutionBorderMode = ((int)0X8013),
-        ConvolutionFilterScale = ((int)0X8014),
-        ConvolutionFilterBias = ((int)0X8015),
-        Reduce = ((int)0X8016),
-        ConvolutionFormat = ((int)0X8017),
-        ConvolutionWidth = ((int)0X8018),
-        ConvolutionHeight = ((int)0X8019),
-        MaxConvolutionWidth = ((int)0X801a),
-        MaxConvolutionHeight = ((int)0X801b),
-        PostConvolutionRedScale = ((int)0X801c),
-        PostConvolutionGreenScale = ((int)0X801d),
-        PostConvolutionBlueScale = ((int)0X801e),
-        PostConvolutionAlphaScale = ((int)0X801f),
-        PostConvolutionRedBias = ((int)0X8020),
-        PostConvolutionGreenBias = ((int)0X8021),
-        PostConvolutionBlueBias = ((int)0X8022),
-        PostConvolutionAlphaBias = ((int)0X8023),
-        Histogram = ((int)0X8024),
-        ProxyHistogram = ((int)0X8025),
-        HistogramWidth = ((int)0X8026),
-        HistogramFormat = ((int)0X8027),
-        HistogramRedSize = ((int)0X8028),
-        HistogramGreenSize = ((int)0X8029),
-        HistogramBlueSize = ((int)0X802a),
-        HistogramAlphaSize = ((int)0X802b),
-        HistogramLuminanceSize = ((int)0X802c),
-        HistogramSink = ((int)0X802d),
-        Minmax = ((int)0X802e),
-        MinmaxFormat = ((int)0X802f),
-        MinmaxSink = ((int)0X8030),
-        TableTooLarge = ((int)0X8031),
-        ColorMatrix = ((int)0X80b1),
-        ColorMatrixStackDepth = ((int)0X80b2),
-        MaxColorMatrixStackDepth = ((int)0X80b3),
-        PostColorMatrixRedScale = ((int)0X80b4),
-        PostColorMatrixGreenScale = ((int)0X80b5),
-        PostColorMatrixBlueScale = ((int)0X80b6),
-        PostColorMatrixAlphaScale = ((int)0X80b7),
-        PostColorMatrixRedBias = ((int)0X80b8),
-        PostColorMatrixGreenBias = ((int)0X80b9),
-        PostColorMatrixBlueBias = ((int)0X80ba),
-        PostColorMatrixAlphaBias = ((int)0X80bb),
-        ColorTable = ((int)0X80d0),
-        PostConvolutionColorTable = ((int)0X80d1),
-        PostColorMatrixColorTable = ((int)0X80d2),
-        ProxyColorTable = ((int)0X80d3),
-        ProxyPostConvolutionColorTable = ((int)0X80d4),
-        ProxyPostColorMatrixColorTable = ((int)0X80d5),
-        ColorTableScale = ((int)0X80d6),
-        ColorTableBias = ((int)0X80d7),
-        ColorTableFormat = ((int)0X80d8),
-        ColorTableWidth = ((int)0X80d9),
-        ColorTableRedSize = ((int)0X80da),
-        ColorTableGreenSize = ((int)0X80db),
-        ColorTableBlueSize = ((int)0X80dc),
-        ColorTableAlphaSize = ((int)0X80dd),
-        ColorTableLuminanceSize = ((int)0X80de),
-        ColorTableIntensitySize = ((int)0X80df),
-        ConstantBorder = ((int)0X8151),
-        ReplicateBorder = ((int)0X8153),
-        ConvolutionBorderColor = ((int)0X8154),
-    }
-
-    public enum ArbInstancedArrays
-    {
-        VertexAttribArrayDivisorArb = ((int)0X88fe),
-    }
-
-    public enum ArbMapBufferRange
-    {
-        MapReadBit = ((int)0X0001),
-        MapWriteBit = ((int)0X0002),
-        MapInvalidateRangeBit = ((int)0X0004),
-        MapInvalidateBufferBit = ((int)0X0008),
-        MapFlushExplicitBit = ((int)0X0010),
-        MapUnsynchronizedBit = ((int)0X0020),
-    }
-
-    public enum ArbMatrixPalette
-    {
-        MatrixPaletteArb = ((int)0X8840),
-        MaxMatrixPaletteStackDepthArb = ((int)0X8841),
-        MaxPaletteMatricesArb = ((int)0X8842),
-        CurrentPaletteMatrixArb = ((int)0X8843),
-        MatrixIndexArrayArb = ((int)0X8844),
-        CurrentMatrixIndexArb = ((int)0X8845),
-        MatrixIndexArraySizeArb = ((int)0X8846),
-        MatrixIndexArrayTypeArb = ((int)0X8847),
-        MatrixIndexArrayStrideArb = ((int)0X8848),
-        MatrixIndexArrayPointerArb = ((int)0X8849),
-    }
-
-    public enum ArbMultisample
-    {
-        MultisampleBitArb = ((int)0X20000000),
-        MultisampleArb = ((int)0X809d),
-        SampleAlphaToCoverageArb = ((int)0X809e),
-        SampleAlphaToOneArb = ((int)0X809f),
-        SampleCoverageArb = ((int)0X80a0),
-        SampleBuffersArb = ((int)0X80a8),
-        SamplesArb = ((int)0X80a9),
-        SampleCoverageValueArb = ((int)0X80aa),
-        SampleCoverageInvertArb = ((int)0X80ab),
-    }
-
-    public enum ArbMultitexture
-    {
-        Texture0Arb = ((int)0X84c0),
-        Texture1Arb = ((int)0X84c1),
-        Texture2Arb = ((int)0X84c2),
-        Texture3Arb = ((int)0X84c3),
-        Texture4Arb = ((int)0X84c4),
-        Texture5Arb = ((int)0X84c5),
-        Texture6Arb = ((int)0X84c6),
-        Texture7Arb = ((int)0X84c7),
-        Texture8Arb = ((int)0X84c8),
-        Texture9Arb = ((int)0X84c9),
-        Texture10Arb = ((int)0X84ca),
-        Texture11Arb = ((int)0X84cb),
-        Texture12Arb = ((int)0X84cc),
-        Texture13Arb = ((int)0X84cd),
-        Texture14Arb = ((int)0X84ce),
-        Texture15Arb = ((int)0X84cf),
-        Texture16Arb = ((int)0X84d0),
-        Texture17Arb = ((int)0X84d1),
-        Texture18Arb = ((int)0X84d2),
-        Texture19Arb = ((int)0X84d3),
-        Texture20Arb = ((int)0X84d4),
-        Texture21Arb = ((int)0X84d5),
-        Texture22Arb = ((int)0X84d6),
-        Texture23Arb = ((int)0X84d7),
-        Texture24Arb = ((int)0X84d8),
-        Texture25Arb = ((int)0X84d9),
-        Texture26Arb = ((int)0X84da),
-        Texture27Arb = ((int)0X84db),
-        Texture28Arb = ((int)0X84dc),
-        Texture29Arb = ((int)0X84dd),
-        Texture30Arb = ((int)0X84de),
-        Texture31Arb = ((int)0X84df),
-        ActiveTextureArb = ((int)0X84e0),
-        ClientActiveTextureArb = ((int)0X84e1),
-        MaxTextureUnitsArb = ((int)0X84e2),
-    }
-
-    public enum ArbOcclusionQuery
-    {
-        QueryCounterBitsArb = ((int)0X8864),
-        CurrentQueryArb = ((int)0X8865),
-        QueryResultArb = ((int)0X8866),
-        QueryResultAvailableArb = ((int)0X8867),
-        SamplesPassedArb = ((int)0X8914),
-    }
-
-    public enum ArbPixelBufferObject
-    {
-        PixelPackBufferArb = ((int)0X88eb),
-        PixelUnpackBufferArb = ((int)0X88ec),
-        PixelPackBufferBindingArb = ((int)0X88ed),
-        PixelUnpackBufferBindingArb = ((int)0X88ef),
-    }
-
-    public enum ArbPointParameters
-    {
-        PointSizeMinArb = ((int)0X8126),
-        PointSizeMaxArb = ((int)0X8127),
-        PointFadeThresholdSizeArb = ((int)0X8128),
-        PointDistanceAttenuationArb = ((int)0X8129),
-    }
-
-    public enum ArbPointSprite
-    {
-        PointSpriteArb = ((int)0X8861),
-        CoordReplaceArb = ((int)0X8862),
-    }
-
-    public enum ArbProvokingVertex
-    {
-        QuadsFollowProvokingVertexConvention = ((int)0X8e4c),
-        FirstVertexConvention = ((int)0X8e4d),
-        LastVertexConvention = ((int)0X8e4e),
-        ProvokingVertex = ((int)0X8e4f),
-    }
-
-    public enum ArbSampleShading
-    {
-        SampleShading = ((int)0X8c36),
-        MinSampleShadingValue = ((int)0X8c37),
-    }
-
-    public enum ArbSeamlessCubeMap
-    {
-        TextureCubeMapSeamless = ((int)0X884f),
-    }
-
-    public enum ArbShaderObjects
-    {
-        ProgramObjectArb = ((int)0X8b40),
-        ShaderObjectArb = ((int)0X8b48),
-        ObjectTypeArb = ((int)0X8b4e),
-        ObjectSubtypeArb = ((int)0X8b4f),
-        FloatVec2Arb = ((int)0X8b50),
-        FloatVec3Arb = ((int)0X8b51),
-        FloatVec4Arb = ((int)0X8b52),
-        IntVec2Arb = ((int)0X8b53),
-        IntVec3Arb = ((int)0X8b54),
-        IntVec4Arb = ((int)0X8b55),
-        BoolArb = ((int)0X8b56),
-        BoolVec2Arb = ((int)0X8b57),
-        BoolVec3Arb = ((int)0X8b58),
-        BoolVec4Arb = ((int)0X8b59),
-        FloatMat2Arb = ((int)0X8b5a),
-        FloatMat3Arb = ((int)0X8b5b),
-        FloatMat4Arb = ((int)0X8b5c),
-        Sampler1DArb = ((int)0X8b5d),
-        Sampler2DArb = ((int)0X8b5e),
-        Sampler3DArb = ((int)0X8b5f),
-        SamplerCubeArb = ((int)0X8b60),
-        Sampler1DShadowArb = ((int)0X8b61),
-        Sampler2DShadowArb = ((int)0X8b62),
-        Sampler2DRectArb = ((int)0X8b63),
-        Sampler2DRectShadowArb = ((int)0X8b64),
-        ObjectDeleteStatusArb = ((int)0X8b80),
-        ObjectCompileStatusArb = ((int)0X8b81),
-        ObjectLinkStatusArb = ((int)0X8b82),
-        ObjectValidateStatusArb = ((int)0X8b83),
-        ObjectInfoLogLengthArb = ((int)0X8b84),
-        ObjectAttachedObjectsArb = ((int)0X8b85),
-        ObjectActiveUniformsArb = ((int)0X8b86),
-        ObjectActiveUniformMaxLengthArb = ((int)0X8b87),
-        ObjectShaderSourceLengthArb = ((int)0X8b88),
-    }
-
-    public enum ArbShaderTextureLod
-    {
-    }
-
-    public enum ArbShadingLanguage100
-    {
-        ShadingLanguageVersionArb = ((int)0X8b8c),
-    }
-
-    public enum ArbShadow
-    {
-        TextureCompareModeArb = ((int)0X884c),
-        TextureCompareFuncArb = ((int)0X884d),
-        CompareRToTextureArb = ((int)0X884e),
-    }
-
-    public enum ArbShadowAmbient
-    {
-        TextureCompareFailValueArb = ((int)0X80bf),
-    }
-
-    public enum ArbSync
-    {
-        SyncFlushCommandsBit = ((int)0X00000001),
-        MaxServerWaitTimeout = ((int)0X9111),
-        ObjectType = ((int)0X9112),
-        SyncCondition = ((int)0X9113),
-        SyncStatus = ((int)0X9114),
-        SyncFlags = ((int)0X9115),
-        SyncFence = ((int)0X9116),
-        SyncGpuCommandsComplete = ((int)0X9117),
-        Unsignaled = ((int)0X9118),
-        Signaled = ((int)0X9119),
-        AlreadySignaled = ((int)0X911a),
-        TimeoutExpired = ((int)0X911b),
-        ConditionSatisfied = ((int)0X911c),
-        WaitFailed = ((int)0X911d),
-        TimeoutIgnored = unchecked((int)0Xffffffffffffffff),
-    }
-
-    public enum ArbTextureBorderClamp
-    {
-        ClampToBorderArb = ((int)0X812d),
-    }
-
-    public enum ArbTextureBufferObject
-    {
-        TextureBufferArb = ((int)0X8c2a),
-        MaxTextureBufferSizeArb = ((int)0X8c2b),
-        TextureBindingBufferArb = ((int)0X8c2c),
-        TextureBufferDataStoreBindingArb = ((int)0X8c2d),
-        TextureBufferFormatArb = ((int)0X8c2e),
-    }
-
-    public enum ArbTextureCompression
-    {
-        CompressedAlphaArb = ((int)0X84e9),
-        CompressedLuminanceArb = ((int)0X84ea),
-        CompressedLuminanceAlphaArb = ((int)0X84eb),
-        CompressedIntensityArb = ((int)0X84ec),
-        CompressedRgbArb = ((int)0X84ed),
-        CompressedRgbaArb = ((int)0X84ee),
-        TextureCompressionHintArb = ((int)0X84ef),
-        TextureCompressedImageSizeArb = ((int)0X86a0),
-        TextureCompressedArb = ((int)0X86a1),
-        NumCompressedTextureFormatsArb = ((int)0X86a2),
-        CompressedTextureFormatsArb = ((int)0X86a3),
-    }
-
-    public enum ArbTextureCompressionRgtc
-    {
-        CompressedRedRgtc1 = ((int)0X8dbb),
-        CompressedSignedRedRgtc1 = ((int)0X8dbc),
-        CompressedRgRgtc2 = ((int)0X8dbd),
-        CompressedSignedRgRgtc2 = ((int)0X8dbe),
-    }
-
-    public enum ArbTextureCubeMap
-    {
-        NormalMapArb = ((int)0X8511),
-        ReflectionMapArb = ((int)0X8512),
-        TextureCubeMapArb = ((int)0X8513),
-        TextureBindingCubeMapArb = ((int)0X8514),
-        TextureCubeMapPositiveXArb = ((int)0X8515),
-        TextureCubeMapNegativeXArb = ((int)0X8516),
-        TextureCubeMapPositiveYArb = ((int)0X8517),
-        TextureCubeMapNegativeYArb = ((int)0X8518),
-        TextureCubeMapPositiveZArb = ((int)0X8519),
-        TextureCubeMapNegativeZArb = ((int)0X851a),
-        ProxyTextureCubeMapArb = ((int)0X851b),
-        MaxCubeMapTextureSizeArb = ((int)0X851c),
-    }
-
-    public enum ArbTextureCubeMapArray
-    {
-        TextureCubeMapArray = ((int)0X9009),
-        TextureBindingCubeMapArray = ((int)0X900a),
-        ProxyTextureCubeMapArray = ((int)0X900b),
-        SamplerCubeMapArray = ((int)0X900c),
-        SamplerCubeMapArrayShadow = ((int)0X900d),
-        IntSamplerCubeMapArray = ((int)0X900e),
-        UnsignedIntSamplerCubeMapArray = ((int)0X900f),
-    }
-
-    public enum ArbTextureEnvAdd
-    {
-    }
-
-    public enum ArbTextureEnvCombine
-    {
-        SubtractArb = ((int)0X84e7),
-        CombineArb = ((int)0X8570),
-        CombineRgbArb = ((int)0X8571),
-        CombineAlphaArb = ((int)0X8572),
-        RgbScaleArb = ((int)0X8573),
-        AddSignedArb = ((int)0X8574),
-        InterpolateArb = ((int)0X8575),
-        ConstantArb = ((int)0X8576),
-        PrimaryColorArb = ((int)0X8577),
-        PreviousArb = ((int)0X8578),
-        Source0RgbArb = ((int)0X8580),
-        Source1RgbArb = ((int)0X8581),
-        Source2RgbArb = ((int)0X8582),
-        Source0AlphaArb = ((int)0X8588),
-        Source1AlphaArb = ((int)0X8589),
-        Source2AlphaArb = ((int)0X858a),
-        Operand0RgbArb = ((int)0X8590),
-        Operand1RgbArb = ((int)0X8591),
-        Operand2RgbArb = ((int)0X8592),
-        Operand0AlphaArb = ((int)0X8598),
-        Operand1AlphaArb = ((int)0X8599),
-        Operand2AlphaArb = ((int)0X859a),
-    }
-
-    public enum ArbTextureEnvCrossbar
-    {
-    }
-
-    public enum ArbTextureEnvDot3
-    {
-        Dot3RgbArb = ((int)0X86ae),
-        Dot3RgbaArb = ((int)0X86af),
-    }
-
-    public enum ArbTextureFloat
-    {
-        Rgba32fArb = ((int)0X8814),
-        Rgb32fArb = ((int)0X8815),
-        Alpha32fArb = ((int)0X8816),
-        Intensity32fArb = ((int)0X8817),
-        Luminance32fArb = ((int)0X8818),
-        LuminanceAlpha32fArb = ((int)0X8819),
-        Rgba16fArb = ((int)0X881a),
-        Rgb16fArb = ((int)0X881b),
-        Alpha16fArb = ((int)0X881c),
-        Intensity16fArb = ((int)0X881d),
-        Luminance16fArb = ((int)0X881e),
-        LuminanceAlpha16fArb = ((int)0X881f),
-        TextureRedTypeArb = ((int)0X8c10),
-        TextureGreenTypeArb = ((int)0X8c11),
-        TextureBlueTypeArb = ((int)0X8c12),
-        TextureAlphaTypeArb = ((int)0X8c13),
-        TextureLuminanceTypeArb = ((int)0X8c14),
-        TextureIntensityTypeArb = ((int)0X8c15),
-        TextureDepthTypeArb = ((int)0X8c16),
-        UnsignedNormalizedArb = ((int)0X8c17),
-    }
-
-    public enum ArbTextureGather
-    {
-        MinProgramTextureGatherOffset = ((int)0X8e5e),
-        MaxProgramTextureGatherOffset = ((int)0X8e5f),
-        MaxProgramTextureGatherComponents = ((int)0X8f9f),
-    }
-
-    public enum ArbTextureMirroredRepeat
-    {
-        MirroredRepeatArb = ((int)0X8370),
-    }
-
-    public enum ArbTextureMultisample
-    {
-        SamplePosition = ((int)0X8e50),
-        SampleMask = ((int)0X8e51),
-        SampleMaskValue = ((int)0X8e52),
-        MaxSampleMaskWords = ((int)0X8e59),
-        Texture2DMultisample = ((int)0X9100),
-        ProxyTexture2DMultisample = ((int)0X9101),
-        Texture2DMultisampleArray = ((int)0X9102),
-        ProxyTexture2DMultisampleArray = ((int)0X9103),
-        TextureBinding2DMultisample = ((int)0X9104),
-        TextureBinding2DMultisampleArray = ((int)0X9105),
-        TextureSamples = ((int)0X9106),
-        TextureFixedSampleLocations = ((int)0X9107),
-        Sampler2DMultisample = ((int)0X9108),
-        IntSampler2DMultisample = ((int)0X9109),
-        UnsignedIntSampler2DMultisample = ((int)0X910a),
-        Sampler2DMultisampleArray = ((int)0X910b),
-        IntSampler2DMultisampleArray = ((int)0X910c),
-        UnsignedIntSampler2DMultisampleArray = ((int)0X910d),
-        MaxColorTextureSamples = ((int)0X910e),
-        MaxDepthTextureSamples = ((int)0X910f),
-        MaxIntegerSamples = ((int)0X9110),
-    }
-
-    public enum ArbTextureNonPowerOfTwo
-    {
-    }
-
-    public enum ArbTextureQueryLod
-    {
-    }
-
-    public enum ArbTextureRectangle
-    {
-        TextureRectangleArb = ((int)0X84f5),
-        TextureBindingRectangleArb = ((int)0X84f6),
-        ProxyTextureRectangleArb = ((int)0X84f7),
-        MaxRectangleTextureSizeArb = ((int)0X84f8),
-    }
-
-    public enum ArbTextureRg
-    {
-        Rg = ((int)0X8227),
-        RgInteger = ((int)0X8228),
-        R8 = ((int)0X8229),
-        R16 = ((int)0X822a),
-        Rg8 = ((int)0X822b),
-        Rg16 = ((int)0X822c),
-        R16f = ((int)0X822d),
-        R32f = ((int)0X822e),
-        Rg16f = ((int)0X822f),
-        Rg32f = ((int)0X8230),
-        R8i = ((int)0X8231),
-        R8ui = ((int)0X8232),
-        R16i = ((int)0X8233),
-        R16ui = ((int)0X8234),
-        R32i = ((int)0X8235),
-        R32ui = ((int)0X8236),
-        Rg8i = ((int)0X8237),
-        Rg8ui = ((int)0X8238),
-        Rg16i = ((int)0X8239),
-        Rg16ui = ((int)0X823a),
-        Rg32i = ((int)0X823b),
-        Rg32ui = ((int)0X823c),
-    }
-
-    public enum ArbTransposeMatrix
-    {
-        TransposeModelviewMatrixArb = ((int)0X84e3),
-        TransposeProjectionMatrixArb = ((int)0X84e4),
-        TransposeTextureMatrixArb = ((int)0X84e5),
-        TransposeColorMatrixArb = ((int)0X84e6),
-    }
-
-    public enum ArbUniformBufferObject
-    {
-        UniformBuffer = ((int)0X8a11),
-        UniformBufferBinding = ((int)0X8a28),
-        UniformBufferStart = ((int)0X8a29),
-        UniformBufferSize = ((int)0X8a2a),
-        MaxVertexUniformBlocks = ((int)0X8a2b),
-        MaxGeometryUniformBlocks = ((int)0X8a2c),
-        MaxFragmentUniformBlocks = ((int)0X8a2d),
-        MaxCombinedUniformBlocks = ((int)0X8a2e),
-        MaxUniformBufferBindings = ((int)0X8a2f),
-        MaxUniformBlockSize = ((int)0X8a30),
-        MaxCombinedVertexUniformComponents = ((int)0X8a31),
-        MaxCombinedGeometryUniformComponents = ((int)0X8a32),
-        MaxCombinedFragmentUniformComponents = ((int)0X8a33),
-        UniformBufferOffsetAlignment = ((int)0X8a34),
-        ActiveUniformBlockMaxNameLength = ((int)0X8a35),
-        ActiveUniformBlocks = ((int)0X8a36),
-        UniformType = ((int)0X8a37),
-        UniformSize = ((int)0X8a38),
-        UniformNameLength = ((int)0X8a39),
-        UniformBlockIndex = ((int)0X8a3a),
-        UniformOffset = ((int)0X8a3b),
-        UniformArrayStride = ((int)0X8a3c),
-        UniformMatrixStride = ((int)0X8a3d),
-        UniformIsRowMajor = ((int)0X8a3e),
-        UniformBlockBinding = ((int)0X8a3f),
-        UniformBlockDataSize = ((int)0X8a40),
-        UniformBlockNameLength = ((int)0X8a41),
-        UniformBlockActiveUniforms = ((int)0X8a42),
-        UniformBlockActiveUniformIndices = ((int)0X8a43),
-        UniformBlockReferencedByVertexShader = ((int)0X8a44),
-        UniformBlockReferencedByGeometryShader = ((int)0X8a45),
-        UniformBlockReferencedByFragmentShader = ((int)0X8a46),
-        InvalidIndex = unchecked((int)0Xffffffff),
-    }
-
-    public enum ArbVertexArrayBgra
-    {
-        Bgra = ((int)0X80e1),
-    }
-
-    public enum ArbVertexArrayObject
-    {
-        VertexArrayBinding = ((int)0X85b5),
-    }
-
-    public enum ArbVertexBlend
-    {
-        Modelview0Arb = ((int)0X1700),
-        Modelview1Arb = ((int)0X850a),
-        MaxVertexUnitsArb = ((int)0X86a4),
-        ActiveVertexUnitsArb = ((int)0X86a5),
-        WeightSumUnityArb = ((int)0X86a6),
-        VertexBlendArb = ((int)0X86a7),
-        CurrentWeightArb = ((int)0X86a8),
-        WeightArrayTypeArb = ((int)0X86a9),
-        WeightArrayStrideArb = ((int)0X86aa),
-        WeightArraySizeArb = ((int)0X86ab),
-        WeightArrayPointerArb = ((int)0X86ac),
-        WeightArrayArb = ((int)0X86ad),
-        Modelview2Arb = ((int)0X8722),
-        Modelview3Arb = ((int)0X8723),
-        Modelview4Arb = ((int)0X8724),
-        Modelview5Arb = ((int)0X8725),
-        Modelview6Arb = ((int)0X8726),
-        Modelview7Arb = ((int)0X8727),
-        Modelview8Arb = ((int)0X8728),
-        Modelview9Arb = ((int)0X8729),
-        Modelview10Arb = ((int)0X872a),
-        Modelview11Arb = ((int)0X872b),
-        Modelview12Arb = ((int)0X872c),
-        Modelview13Arb = ((int)0X872d),
-        Modelview14Arb = ((int)0X872e),
-        Modelview15Arb = ((int)0X872f),
-        Modelview16Arb = ((int)0X8730),
-        Modelview17Arb = ((int)0X8731),
-        Modelview18Arb = ((int)0X8732),
-        Modelview19Arb = ((int)0X8733),
-        Modelview20Arb = ((int)0X8734),
-        Modelview21Arb = ((int)0X8735),
-        Modelview22Arb = ((int)0X8736),
-        Modelview23Arb = ((int)0X8737),
-        Modelview24Arb = ((int)0X8738),
-        Modelview25Arb = ((int)0X8739),
-        Modelview26Arb = ((int)0X873a),
-        Modelview27Arb = ((int)0X873b),
-        Modelview28Arb = ((int)0X873c),
-        Modelview29Arb = ((int)0X873d),
-        Modelview30Arb = ((int)0X873e),
-        Modelview31Arb = ((int)0X873f),
-    }
-
-    public enum ArbVertexBufferObject
-    {
-        BufferSizeArb = ((int)0X8764),
-        BufferUsageArb = ((int)0X8765),
-        ArrayBufferArb = ((int)0X8892),
-        ElementArrayBufferArb = ((int)0X8893),
-        ArrayBufferBindingArb = ((int)0X8894),
-        ElementArrayBufferBindingArb = ((int)0X8895),
-        VertexArrayBufferBindingArb = ((int)0X8896),
-        NormalArrayBufferBindingArb = ((int)0X8897),
-        ColorArrayBufferBindingArb = ((int)0X8898),
-        IndexArrayBufferBindingArb = ((int)0X8899),
-        TextureCoordArrayBufferBindingArb = ((int)0X889a),
-        EdgeFlagArrayBufferBindingArb = ((int)0X889b),
-        SecondaryColorArrayBufferBindingArb = ((int)0X889c),
-        FogCoordinateArrayBufferBindingArb = ((int)0X889d),
-        WeightArrayBufferBindingArb = ((int)0X889e),
-        VertexAttribArrayBufferBindingArb = ((int)0X889f),
-        ReadOnlyArb = ((int)0X88b8),
-        WriteOnlyArb = ((int)0X88b9),
-        ReadWriteArb = ((int)0X88ba),
-        BufferAccessArb = ((int)0X88bb),
-        BufferMappedArb = ((int)0X88bc),
-        BufferMapPointerArb = ((int)0X88bd),
-        StreamDrawArb = ((int)0X88e0),
-        StreamReadArb = ((int)0X88e1),
-        StreamCopyArb = ((int)0X88e2),
-        StaticDrawArb = ((int)0X88e4),
-        StaticReadArb = ((int)0X88e5),
-        StaticCopyArb = ((int)0X88e6),
-        DynamicDrawArb = ((int)0X88e8),
-        DynamicReadArb = ((int)0X88e9),
-        DynamicCopyArb = ((int)0X88ea),
-    }
-
-    public enum ArbVertexProgram
-    {
-        ColorSumArb = ((int)0X8458),
-        VertexProgramArb = ((int)0X8620),
-        VertexAttribArrayEnabledArb = ((int)0X8622),
-        VertexAttribArraySizeArb = ((int)0X8623),
-        VertexAttribArrayStrideArb = ((int)0X8624),
-        VertexAttribArrayTypeArb = ((int)0X8625),
-        CurrentVertexAttribArb = ((int)0X8626),
-        ProgramLengthArb = ((int)0X8627),
-        ProgramStringArb = ((int)0X8628),
-        MaxProgramMatrixStackDepthArb = ((int)0X862e),
-        MaxProgramMatricesArb = ((int)0X862f),
-        CurrentMatrixStackDepthArb = ((int)0X8640),
-        CurrentMatrixArb = ((int)0X8641),
-        VertexProgramPointSizeArb = ((int)0X8642),
-        VertexProgramTwoSideArb = ((int)0X8643),
-        VertexAttribArrayPointerArb = ((int)0X8645),
-        ProgramErrorPositionArb = ((int)0X864b),
-        ProgramBindingArb = ((int)0X8677),
-        MaxVertexAttribsArb = ((int)0X8869),
-        VertexAttribArrayNormalizedArb = ((int)0X886a),
-        ProgramErrorStringArb = ((int)0X8874),
-        ProgramFormatAsciiArb = ((int)0X8875),
-        ProgramFormatArb = ((int)0X8876),
-        ProgramInstructionsArb = ((int)0X88a0),
-        MaxProgramInstructionsArb = ((int)0X88a1),
-        ProgramNativeInstructionsArb = ((int)0X88a2),
-        MaxProgramNativeInstructionsArb = ((int)0X88a3),
-        ProgramTemporariesArb = ((int)0X88a4),
-        MaxProgramTemporariesArb = ((int)0X88a5),
-        ProgramNativeTemporariesArb = ((int)0X88a6),
-        MaxProgramNativeTemporariesArb = ((int)0X88a7),
-        ProgramParametersArb = ((int)0X88a8),
-        MaxProgramParametersArb = ((int)0X88a9),
-        ProgramNativeParametersArb = ((int)0X88aa),
-        MaxProgramNativeParametersArb = ((int)0X88ab),
-        ProgramAttribsArb = ((int)0X88ac),
-        MaxProgramAttribsArb = ((int)0X88ad),
-        ProgramNativeAttribsArb = ((int)0X88ae),
-        MaxProgramNativeAttribsArb = ((int)0X88af),
-        ProgramAddressRegistersArb = ((int)0X88b0),
-        MaxProgramAddressRegistersArb = ((int)0X88b1),
-        ProgramNativeAddressRegistersArb = ((int)0X88b2),
-        MaxProgramNativeAddressRegistersArb = ((int)0X88b3),
-        MaxProgramLocalParametersArb = ((int)0X88b4),
-        MaxProgramEnvParametersArb = ((int)0X88b5),
-        ProgramUnderNativeLimitsArb = ((int)0X88b6),
-        TransposeCurrentMatrixArb = ((int)0X88b7),
-        Matrix0Arb = ((int)0X88c0),
-        Matrix1Arb = ((int)0X88c1),
-        Matrix2Arb = ((int)0X88c2),
-        Matrix3Arb = ((int)0X88c3),
-        Matrix4Arb = ((int)0X88c4),
-        Matrix5Arb = ((int)0X88c5),
-        Matrix6Arb = ((int)0X88c6),
-        Matrix7Arb = ((int)0X88c7),
-        Matrix8Arb = ((int)0X88c8),
-        Matrix9Arb = ((int)0X88c9),
-        Matrix10Arb = ((int)0X88ca),
-        Matrix11Arb = ((int)0X88cb),
-        Matrix12Arb = ((int)0X88cc),
-        Matrix13Arb = ((int)0X88cd),
-        Matrix14Arb = ((int)0X88ce),
-        Matrix15Arb = ((int)0X88cf),
-        Matrix16Arb = ((int)0X88d0),
-        Matrix17Arb = ((int)0X88d1),
-        Matrix18Arb = ((int)0X88d2),
-        Matrix19Arb = ((int)0X88d3),
-        Matrix20Arb = ((int)0X88d4),
-        Matrix21Arb = ((int)0X88d5),
-        Matrix22Arb = ((int)0X88d6),
-        Matrix23Arb = ((int)0X88d7),
-        Matrix24Arb = ((int)0X88d8),
-        Matrix25Arb = ((int)0X88d9),
-        Matrix26Arb = ((int)0X88da),
-        Matrix27Arb = ((int)0X88db),
-        Matrix28Arb = ((int)0X88dc),
-        Matrix29Arb = ((int)0X88dd),
-        Matrix30Arb = ((int)0X88de),
-        Matrix31Arb = ((int)0X88df),
-    }
-
-    public enum ArbVertexShader
-    {
-        VertexShaderArb = ((int)0X8b31),
-        MaxVertexUniformComponentsArb = ((int)0X8b4a),
-        MaxVaryingFloatsArb = ((int)0X8b4b),
-        MaxVertexTextureImageUnitsArb = ((int)0X8b4c),
-        MaxCombinedTextureImageUnitsArb = ((int)0X8b4d),
-        ObjectActiveAttributesArb = ((int)0X8b89),
-        ObjectActiveAttributeMaxLengthArb = ((int)0X8b8a),
-    }
-
-    public enum ArbWindowPos
-    {
-    }
-
-    public enum AssemblyProgramFormatArb
-    {
-        ProgramFormatAsciiArb = ((int)0X8875),
-    }
-
-    public enum AssemblyProgramParameterArb
-    {
-        ProgramLength = ((int)0X8627),
-        ProgramBinding = ((int)0X8677),
-        ProgramAluInstructionsArb = ((int)0X8805),
-        ProgramTexInstructionsArb = ((int)0X8806),
-        ProgramTexIndirectionsArb = ((int)0X8807),
-        ProgramNativeAluInstructionsArb = ((int)0X8808),
-        ProgramNativeTexInstructionsArb = ((int)0X8809),
-        ProgramNativeTexIndirectionsArb = ((int)0X880a),
-        MaxProgramAluInstructionsArb = ((int)0X880b),
-        MaxProgramTexInstructionsArb = ((int)0X880c),
-        MaxProgramTexIndirectionsArb = ((int)0X880d),
-        MaxProgramNativeAluInstructionsArb = ((int)0X880e),
-        MaxProgramNativeTexInstructionsArb = ((int)0X880f),
-        MaxProgramNativeTexIndirectionsArb = ((int)0X8810),
-        ProgramFormat = ((int)0X8876),
-        ProgramInstruction = ((int)0X88a0),
-        MaxProgramInstructions = ((int)0X88a1),
-        ProgramNativeInstructions = ((int)0X88a2),
-        MaxProgramNativeInstructions = ((int)0X88a3),
-        ProgramTemporaries = ((int)0X88a4),
-        MaxProgramTemporaries = ((int)0X88a5),
-        ProgramNativeTemporaries = ((int)0X88a6),
-        MaxProgramNativeTemporaries = ((int)0X88a7),
-        ProgramParameters = ((int)0X88a8),
-        MaxProgramParameters = ((int)0X88a9),
-        ProgramNativeParameters = ((int)0X88aa),
-        MaxProgramNativeParameters = ((int)0X88ab),
-        ProgramAttribs = ((int)0X88ac),
-        MaxProgramAttribs = ((int)0X88ad),
-        ProgramNativeAttribs = ((int)0X88ae),
-        MaxProgramNativeAttribs = ((int)0X88af),
-        ProgramAddressRegisters = ((int)0X88b0),
-        MaxProgramAddressRegisters = ((int)0X88b1),
-        ProgramNativeAddressRegisters = ((int)0X88b2),
-        MaxProgramNativeAddressRegisters = ((int)0X88b3),
-        MaxProgramLocalParameters = ((int)0X88b4),
-        MaxProgramEnvParameters = ((int)0X88b5),
-        ProgramUnderNativeLimits = ((int)0X88b6),
-    }
-
-    public enum AssemblyProgramStringParameterArb
-    {
-        ProgramString = ((int)0X8628),
-    }
-
-    public enum AssemblyProgramTargetArb
-    {
-        VertexProgram = ((int)0X8620),
-        FragmentProgram = ((int)0X8804),
-        GeometryProgramNv = ((int)0X8c26),
-    }
-
-    public enum AtiDrawBuffers
-    {
-        MaxDrawBuffersAti = ((int)0X8824),
-        DrawBuffer0Ati = ((int)0X8825),
-        DrawBuffer1Ati = ((int)0X8826),
-        DrawBuffer2Ati = ((int)0X8827),
-        DrawBuffer3Ati = ((int)0X8828),
-        DrawBuffer4Ati = ((int)0X8829),
-        DrawBuffer5Ati = ((int)0X882a),
-        DrawBuffer6Ati = ((int)0X882b),
-        DrawBuffer7Ati = ((int)0X882c),
-        DrawBuffer8Ati = ((int)0X882d),
-        DrawBuffer9Ati = ((int)0X882e),
-        DrawBuffer10Ati = ((int)0X882f),
-        DrawBuffer11Ati = ((int)0X8830),
-        DrawBuffer12Ati = ((int)0X8831),
-        DrawBuffer13Ati = ((int)0X8832),
-        DrawBuffer14Ati = ((int)0X8833),
-        DrawBuffer15Ati = ((int)0X8834),
-    }
-
-    public enum AtiElementArray
-    {
-        ElementArrayAti = ((int)0X8768),
-        ElementArrayTypeAti = ((int)0X8769),
-        ElementArrayPointerAti = ((int)0X876a),
-    }
-
-    public enum AtiEnvmapBumpmap
-    {
-        BumpRotMatrixAti = ((int)0X8775),
-        BumpRotMatrixSizeAti = ((int)0X8776),
-        BumpNumTexUnitsAti = ((int)0X8777),
-        BumpTexUnitsAti = ((int)0X8778),
-        DudvAti = ((int)0X8779),
-        Du8dv8Ati = ((int)0X877a),
-        BumpEnvmapAti = ((int)0X877b),
-        BumpTargetAti = ((int)0X877c),
-    }
-
-    public enum AtiFragmentShader
-    {
-        Gl2XBitAti = ((int)0X00000001),
-        RedBitAti = ((int)0X00000001),
-        CompBitAti = ((int)0X00000002),
-        Gl4XBitAti = ((int)0X00000002),
-        GreenBitAti = ((int)0X00000002),
-        BlueBitAti = ((int)0X00000004),
-        Gl8XBitAti = ((int)0X00000004),
-        NegateBitAti = ((int)0X00000004),
-        BiasBitAti = ((int)0X00000008),
-        HalfBitAti = ((int)0X00000008),
-        QuarterBitAti = ((int)0X00000010),
-        EighthBitAti = ((int)0X00000020),
-        SaturateBitAti = ((int)0X00000040),
-        FragmentShaderAti = ((int)0X8920),
-        Reg0Ati = ((int)0X8921),
-        Reg1Ati = ((int)0X8922),
-        Reg2Ati = ((int)0X8923),
-        Reg3Ati = ((int)0X8924),
-        Reg4Ati = ((int)0X8925),
-        Reg5Ati = ((int)0X8926),
-        Reg6Ati = ((int)0X8927),
-        Reg7Ati = ((int)0X8928),
-        Reg8Ati = ((int)0X8929),
-        Reg9Ati = ((int)0X892a),
-        Reg10Ati = ((int)0X892b),
-        Reg11Ati = ((int)0X892c),
-        Reg12Ati = ((int)0X892d),
-        Reg13Ati = ((int)0X892e),
-        Reg14Ati = ((int)0X892f),
-        Reg15Ati = ((int)0X8930),
-        Reg16Ati = ((int)0X8931),
-        Reg17Ati = ((int)0X8932),
-        Reg18Ati = ((int)0X8933),
-        Reg19Ati = ((int)0X8934),
-        Reg20Ati = ((int)0X8935),
-        Reg21Ati = ((int)0X8936),
-        Reg22Ati = ((int)0X8937),
-        Reg23Ati = ((int)0X8938),
-        Reg24Ati = ((int)0X8939),
-        Reg25Ati = ((int)0X893a),
-        Reg26Ati = ((int)0X893b),
-        Reg27Ati = ((int)0X893c),
-        Reg28Ati = ((int)0X893d),
-        Reg29Ati = ((int)0X893e),
-        Reg30Ati = ((int)0X893f),
-        Reg31Ati = ((int)0X8940),
-        Con0Ati = ((int)0X8941),
-        Con1Ati = ((int)0X8942),
-        Con2Ati = ((int)0X8943),
-        Con3Ati = ((int)0X8944),
-        Con4Ati = ((int)0X8945),
-        Con5Ati = ((int)0X8946),
-        Con6Ati = ((int)0X8947),
-        Con7Ati = ((int)0X8948),
-        Con8Ati = ((int)0X8949),
-        Con9Ati = ((int)0X894a),
-        Con10Ati = ((int)0X894b),
-        Con11Ati = ((int)0X894c),
-        Con12Ati = ((int)0X894d),
-        Con13Ati = ((int)0X894e),
-        Con14Ati = ((int)0X894f),
-        Con15Ati = ((int)0X8950),
-        Con16Ati = ((int)0X8951),
-        Con17Ati = ((int)0X8952),
-        Con18Ati = ((int)0X8953),
-        Con19Ati = ((int)0X8954),
-        Con20Ati = ((int)0X8955),
-        Con21Ati = ((int)0X8956),
-        Con22Ati = ((int)0X8957),
-        Con23Ati = ((int)0X8958),
-        Con24Ati = ((int)0X8959),
-        Con25Ati = ((int)0X895a),
-        Con26Ati = ((int)0X895b),
-        Con27Ati = ((int)0X895c),
-        Con28Ati = ((int)0X895d),
-        Con29Ati = ((int)0X895e),
-        Con30Ati = ((int)0X895f),
-        Con31Ati = ((int)0X8960),
-        MovAti = ((int)0X8961),
-        AddAti = ((int)0X8963),
-        MulAti = ((int)0X8964),
-        SubAti = ((int)0X8965),
-        Dot3Ati = ((int)0X8966),
-        Dot4Ati = ((int)0X8967),
-        MadAti = ((int)0X8968),
-        LerpAti = ((int)0X8969),
-        CndAti = ((int)0X896a),
-        Cnd0Ati = ((int)0X896b),
-        Dot2AddAti = ((int)0X896c),
-        SecondaryInterpolatorAti = ((int)0X896d),
-        NumFragmentRegistersAti = ((int)0X896e),
-        NumFragmentConstantsAti = ((int)0X896f),
-        NumPassesAti = ((int)0X8970),
-        NumInstructionsPerPassAti = ((int)0X8971),
-        NumInstructionsTotalAti = ((int)0X8972),
-        NumInputInterpolatorComponentsAti = ((int)0X8973),
-        NumLoopbackComponentsAti = ((int)0X8974),
-        ColorAlphaPairingAti = ((int)0X8975),
-        SwizzleStrAti = ((int)0X8976),
-        SwizzleStqAti = ((int)0X8977),
-        SwizzleStrDrAti = ((int)0X8978),
-        SwizzleStqDqAti = ((int)0X8979),
-        SwizzleStrqAti = ((int)0X897a),
-        SwizzleStrqDqAti = ((int)0X897b),
-    }
-
-    public enum AtiMapObjectBuffer
-    {
-    }
-
-    public enum AtiMeminfo
-    {
-        VboFreeMemoryAti = ((int)0X87fb),
-        TextureFreeMemoryAti = ((int)0X87fc),
-        RenderbufferFreeMemoryAti = ((int)0X87fd),
-    }
-
-    public enum AtiPixelFormatFloat
-    {
-        TypeRgbaFloatAti = ((int)0X8820),
-        ColorClearUnclampedValueAti = ((int)0X8835),
-    }
-
-    public enum AtiPnTriangles
-    {
-        PnTrianglesAti = ((int)0X87f0),
-        MaxPnTrianglesTesselationLevelAti = ((int)0X87f1),
-        PnTrianglesPointModeAti = ((int)0X87f2),
-        PnTrianglesNormalModeAti = ((int)0X87f3),
-        PnTrianglesTesselationLevelAti = ((int)0X87f4),
-        PnTrianglesPointModeLinearAti = ((int)0X87f5),
-        PnTrianglesPointModeCubicAti = ((int)0X87f6),
-        PnTrianglesNormalModeLinearAti = ((int)0X87f7),
-        PnTrianglesNormalModeQuadraticAti = ((int)0X87f8),
-    }
-
-    public enum AtiSeparateStencil
-    {
-        StencilBackFuncAti = ((int)0X8800),
-        StencilBackFailAti = ((int)0X8801),
-        StencilBackPassDepthFailAti = ((int)0X8802),
-        StencilBackPassDepthPassAti = ((int)0X8803),
-    }
-
-    public enum AtiTextFragmentShader
-    {
-        TextFragmentShaderAti = ((int)0X8200),
-    }
-
-    public enum AtiTextureEnvCombine3
-    {
-        ModulateAddAti = ((int)0X8744),
-        ModulateSignedAddAti = ((int)0X8745),
-        ModulateSubtractAti = ((int)0X8746),
-    }
-
-    public enum AtiTextureFloat
-    {
-        RgbaFloat32Ati = ((int)0X8814),
-        RgbFloat32Ati = ((int)0X8815),
-        AlphaFloat32Ati = ((int)0X8816),
-        IntensityFloat32Ati = ((int)0X8817),
-        LuminanceFloat32Ati = ((int)0X8818),
-        LuminanceAlphaFloat32Ati = ((int)0X8819),
-        RgbaFloat16Ati = ((int)0X881a),
-        RgbFloat16Ati = ((int)0X881b),
-        AlphaFloat16Ati = ((int)0X881c),
-        IntensityFloat16Ati = ((int)0X881d),
-        LuminanceFloat16Ati = ((int)0X881e),
-        LuminanceAlphaFloat16Ati = ((int)0X881f),
-    }
-
-    public enum AtiTextureMirrorOnce
-    {
-        MirrorClampAti = ((int)0X8742),
-        MirrorClampToEdgeAti = ((int)0X8743),
-    }
-
-    public enum AtiVertexArrayObject
-    {
-        StaticAti = ((int)0X8760),
-        DynamicAti = ((int)0X8761),
-        PreserveAti = ((int)0X8762),
-        DiscardAti = ((int)0X8763),
-        ObjectBufferSizeAti = ((int)0X8764),
-        ObjectBufferUsageAti = ((int)0X8765),
-        ArrayObjectBufferAti = ((int)0X8766),
-        ArrayObjectOffsetAti = ((int)0X8767),
-    }
-
-    public enum AtiVertexAttribArrayObject
-    {
-    }
-
-    public enum AtiVertexStreams
-    {
-        MaxVertexStreamsAti = ((int)0X876b),
-        VertexStream0Ati = ((int)0X876c),
-        VertexStream1Ati = ((int)0X876d),
-        VertexStream2Ati = ((int)0X876e),
-        VertexStream3Ati = ((int)0X876f),
-        VertexStream4Ati = ((int)0X8770),
-        VertexStream5Ati = ((int)0X8771),
-        VertexStream6Ati = ((int)0X8772),
-        VertexStream7Ati = ((int)0X8773),
-        VertexSourceAti = ((int)0X8774),
-    }
-
-    [Flags]
-    public enum AttribMask
-    {
-        CurrentBit = ((int)0X00000001),
-        PointBit = ((int)0X00000002),
-        LineBit = ((int)0X00000004),
-        PolygonBit = ((int)0X00000008),
-        PolygonStippleBit = ((int)0X00000010),
-        PixelModeBit = ((int)0X00000020),
-        LightingBit = ((int)0X00000040),
-        FogBit = ((int)0X00000080),
-        DepthBufferBit = ((int)0X00000100),
-        AccumBufferBit = ((int)0X00000200),
-        StencilBufferBit = ((int)0X00000400),
-        ViewportBit = ((int)0X00000800),
-        TransformBit = ((int)0X00001000),
-        EnableBit = ((int)0X00002000),
-        ColorBufferBit = ((int)0X00004000),
-        HintBit = ((int)0X00008000),
-        EvalBit = ((int)0X00010000),
-        ListBit = ((int)0X00020000),
-        TextureBit = ((int)0X00040000),
-        ScissorBit = ((int)0X00080000),
-        MultisampleBit = ((int)0X20000000),
-        AllAttribBits = unchecked((int)0Xffffffff),
-    }
-
-    public enum BeginFeedbackMode
-    {
-        Points = ((int)0X0000),
-        Lines = ((int)0X0001),
-        Triangles = ((int)0X0004),
-    }
-
-    public enum BeginMode
-    {
-        Points = ((int)0X0000),
-        Lines = ((int)0X0001),
-        LineLoop = ((int)0X0002),
-        LineStrip = ((int)0X0003),
-        Triangles = ((int)0X0004),
-        TriangleStrip = ((int)0X0005),
-        TriangleFan = ((int)0X0006),
-        Quads = ((int)0X0007),
-        QuadStrip = ((int)0X0008),
-        Polygon = ((int)0X0009),
-    }
-
-    public enum BlendEquationMode
-    {
-        FuncAdd = ((int)0X8006),
-        Min = ((int)0X8007),
-        Max = ((int)0X8008),
-        FuncSubtract = ((int)0X800a),
-        FuncReverseSubtract = ((int)0X800b),
-    }
-
-    public enum BlendEquationModeExt
-    {
-        LogicOp = ((int)0X0bf1),
-        FuncAddExt = ((int)0X8006),
-        MinExt = ((int)0X8007),
-        MaxExt = ((int)0X8008),
-        FuncSubtractExt = ((int)0X800a),
-        FuncReverseSubtractExt = ((int)0X800b),
-        AlphaMinSgix = ((int)0X8320),
-        AlphaMaxSgix = ((int)0X8321),
-    }
-
-    public enum BlendingFactorDest
-    {
-        Zero = ((int)0),
-        SrcColor = ((int)0X0300),
-        OneMinusSrcColor = ((int)0X0301),
-        SrcAlpha = ((int)0X0302),
-        OneMinusSrcAlpha = ((int)0X0303),
-        DstAlpha = ((int)0X0304),
-        OneMinusDstAlpha = ((int)0X0305),
-        DstColor = ((int)0X0306),
-        OneMinusDstColor = ((int)0X0307),
-        ConstantColor = ((int)0X8001),
-        ConstantColorExt = ((int)0X8001),
-        OneMinusConstantColor = ((int)0X8002),
-        OneMinusConstantColorExt = ((int)0X8002),
-        ConstantAlpha = ((int)0X8003),
-        ConstantAlphaExt = ((int)0X8003),
-        OneMinusConstantAlpha = ((int)0X8004),
-        OneMinusConstantAlphaExt = ((int)0X8004),
-        One = ((int)1),
-    }
-
-    public enum BlendingFactorSrc
-    {
-        Zero = ((int)0),
-        SrcAlpha = ((int)0X0302),
-        OneMinusSrcAlpha = ((int)0X0303),
-        DstAlpha = ((int)0X0304),
-        OneMinusDstAlpha = ((int)0X0305),
-        DstColor = ((int)0X0306),
-        OneMinusDstColor = ((int)0X0307),
-        SrcAlphaSaturate = ((int)0X0308),
-        ConstantColor = ((int)0X8001),
-        ConstantColorExt = ((int)0X8001),
-        OneMinusConstantColor = ((int)0X8002),
-        OneMinusConstantColorExt = ((int)0X8002),
-        ConstantAlpha = ((int)0X8003),
-        ConstantAlphaExt = ((int)0X8003),
-        OneMinusConstantAlpha = ((int)0X8004),
-        OneMinusConstantAlphaExt = ((int)0X8004),
-        One = ((int)1),
-    }
-
-    public enum BlitFramebufferFilter
-    {
-        Nearest = ((int)0X2600),
-        Linear = ((int)0X2601),
-    }
-
-    public enum Boolean
-    {
-        False = ((int)0),
-        True = ((int)1),
-    }
-
-    public enum BufferAccess
-    {
-        ReadOnly = ((int)0X88b8),
-        WriteOnly = ((int)0X88b9),
-        ReadWrite = ((int)0X88ba),
-    }
-
-    public enum BufferAccessArb
-    {
-        ReadOnly = ((int)0X88b8),
-        WriteOnly = ((int)0X88b9),
-        ReadWrite = ((int)0X88ba),
-    }
-
-    [Flags]
-    public enum BufferAccessMask
-    {
-        MapReadBit = ((int)0X0001),
-        MapWriteBit = ((int)0X0002),
-        MapInvalidateRangeBit = ((int)0X0004),
-        MapInvalidateBufferBit = ((int)0X0008),
-        MapFlushExplicitBit = ((int)0X0010),
-        MapUnsynchronizedBit = ((int)0X0020),
-    }
-
-    public enum BufferParameterApple
-    {
-        BufferSerializedModifyApple = ((int)0X8a12),
-        BufferFlushingUnmapApple = ((int)0X8a13),
-    }
-
-    public enum BufferParameterName
-    {
-        BufferSize = ((int)0X8764),
-        BufferUsage = ((int)0X8765),
-        BufferAccess = ((int)0X88bb),
-        BufferMapped = ((int)0X88bc),
-    }
-
-    public enum BufferParameterNameArb
-    {
-        BufferSize = ((int)0X8764),
-        BufferUsage = ((int)0X8765),
-        BufferAccess = ((int)0X88bb),
-        BufferMapped = ((int)0X88bc),
-    }
-
-    public enum BufferPointer
-    {
-        BufferMapPointer = ((int)0X88bd),
-    }
-
-    public enum BufferPointerNameArb
-    {
-        BufferMapPointer = ((int)0X88bd),
-    }
-
-    public enum BufferTarget
-    {
-        ArrayBuffer = ((int)0X8892),
-        ElementArrayBuffer = ((int)0X8893),
-        PixelPackBuffer = ((int)0X88eb),
-        PixelUnpackBuffer = ((int)0X88ec),
-        UniformBuffer = ((int)0X8a11),
-        TransformFeedbackBuffer = ((int)0X8c8e),
-        CopyReadBuffer = ((int)0X8f36),
-        CopyWriteBuffer = ((int)0X8f37),
-    }
-
-    public enum BufferTargetArb
-    {
-        ArrayBuffer = ((int)0X8892),
-        ElementArrayBuffer = ((int)0X8893),
-    }
-
-    public enum BufferUsageArb
-    {
-        StreamDraw = ((int)0X88e0),
-        StreamRead = ((int)0X88e1),
-        StreamCopy = ((int)0X88e2),
-        StaticDraw = ((int)0X88e4),
-        StaticRead = ((int)0X88e5),
-        StaticCopy = ((int)0X88e6),
-        DynamicDraw = ((int)0X88e8),
-        DynamicRead = ((int)0X88e9),
-        DynamicCopy = ((int)0X88ea),
-    }
-
-    public enum BufferUsageHint
-    {
-        StreamDraw = ((int)0X88e0),
-        StreamRead = ((int)0X88e1),
-        StreamCopy = ((int)0X88e2),
-        StaticDraw = ((int)0X88e4),
-        StaticRead = ((int)0X88e5),
-        StaticCopy = ((int)0X88e6),
-        DynamicDraw = ((int)0X88e8),
-        DynamicRead = ((int)0X88e9),
-        DynamicCopy = ((int)0X88ea),
-    }
-
-    public enum ClampColorMode
-    {
-        False = ((int)0),
-        FixedOnly = ((int)0X891d),
-        True = ((int)1),
-    }
-
-    public enum ClampColorTarget
-    {
-        ClampVertexColor = ((int)0X891a),
-        ClampFragmentColor = ((int)0X891b),
-        ClampReadColor = ((int)0X891c),
-    }
-
-    public enum ClearBuffer
-    {
-        Color = ((int)0X1800),
-        Depth = ((int)0X1801),
-        Stencil = ((int)0X1802),
-        DepthStencil = ((int)0X84f9),
-    }
-
-    [Flags]
-    public enum ClearBufferMask
-    {
-        DepthBufferBit = ((int)0X00000100),
-        AccumBufferBit = ((int)0X00000200),
-        StencilBufferBit = ((int)0X00000400),
-        ColorBufferBit = ((int)0X00004000),
-    }
-
-    [Flags]
-    public enum ClientAttribMask
-    {
-        ClientPixelStoreBit = ((int)0X00000001),
-        ClientVertexArrayBit = ((int)0X00000002),
-        ClientAllAttribBits = unchecked((int)0Xffffffff),
-    }
-
-    public enum ClipPlaneName
-    {
-        ClipPlane0 = ((int)0X3000),
-        ClipPlane1 = ((int)0X3001),
-        ClipPlane2 = ((int)0X3002),
-        ClipPlane3 = ((int)0X3003),
-        ClipPlane4 = ((int)0X3004),
-        ClipPlane5 = ((int)0X3005),
-    }
-
-    public enum ColorMaterialFace
-    {
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        FrontAndBack = ((int)0X0408),
-    }
-
-    public enum ColorMaterialParameter
-    {
-        Ambient = ((int)0X1200),
-        Diffuse = ((int)0X1201),
-        Specular = ((int)0X1202),
-        Emission = ((int)0X1600),
-        AmbientAndDiffuse = ((int)0X1602),
-    }
-
-    public enum ColorPointerType
-    {
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum ColorTableParameterPName
-    {
-    }
-
-    public enum ColorTableParameterPNameSgi
-    {
-        ColorTableScaleSgi = ((int)0X80D6),
-        ColorTableBiasSgi = ((int)0X80D7),
-    }
-
-    public enum ColorTableTarget
-    {
-    }
-
-    public enum ColorTableTargetSgi
-    {
-        TextureColorTableSgi = ((int)0X80bc),
-        ProxyTextureColorTableSgi = ((int)0X80bd),
-        ColorTableSgi = ((int)0X80D0),
-        PostConvolutionColorTableSgi = ((int)0X80D1),
-        PostColorMatrixColorTableSgi = ((int)0X80D2),
-        ProxyColorTableSgi = ((int)0X80D3),
-        ProxyPostConvolutionColorTableSgi = ((int)0X80D4),
-        ProxyPostColorMatrixColorTableSgi = ((int)0X80D5),
-    }
-
-    public enum ConditionalRenderType
-    {
-        QueryWait = ((int)0X8e13),
-        QueryNoWait = ((int)0X8e14),
-        QueryByRegionWait = ((int)0X8e15),
-        QueryByRegionNoWait = ((int)0X8e16),
-    }
-
-    public enum ConvolutionBorderModeExt
-    {
-        ReduceExt = ((int)0X8016),
-    }
-
-    public enum ConvolutionParameter
-    {
-    }
-
-    public enum ConvolutionParameterExt
-    {
-        ConvolutionBorderModeExt = ((int)0X8013),
-        ConvolutionFilterScaleExt = ((int)0X8014),
-        ConvolutionFilterBiasExt = ((int)0X8015),
-    }
-
-    public enum ConvolutionTarget
-    {
-    }
-
-    public enum ConvolutionTargetExt
-    {
-        Convolution1DExt = ((int)0X8010),
-        Convolution2DExt = ((int)0X8011),
-    }
-
-    public enum CullFaceMode
-    {
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        FrontAndBack = ((int)0X0408),
-    }
-
-    public enum DataType
-    {
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Gl2Bytes = ((int)0X1407),
-        Gl3Bytes = ((int)0X1408),
-        Gl4Bytes = ((int)0X1409),
-        Double = ((int)0X140a),
-        DoubleExt = ((int)0X140a),
-    }
-
-    public enum DepthFunction
-    {
-        Never = ((int)0X0200),
-        Less = ((int)0X0201),
-        Equal = ((int)0X0202),
-        Lequal = ((int)0X0203),
-        Greater = ((int)0X0204),
-        Notequal = ((int)0X0205),
-        Gequal = ((int)0X0206),
-        Always = ((int)0X0207),
-    }
-
-    public enum DrawBufferMode
-    {
-        None = ((int)0),
-        FrontLeft = ((int)0X0400),
-        FrontRight = ((int)0X0401),
-        BackLeft = ((int)0X0402),
-        BackRight = ((int)0X0403),
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        Left = ((int)0X0406),
-        Right = ((int)0X0407),
-        FrontAndBack = ((int)0X0408),
-        Aux0 = ((int)0X0409),
-        Aux1 = ((int)0X040a),
-        Aux2 = ((int)0X040b),
-        Aux3 = ((int)0X040c),
-        ColorAttachment0 = ((int)0X8ce0),
-        ColorAttachment1 = ((int)0X8ce1),
-        ColorAttachment2 = ((int)0X8ce2),
-        ColorAttachment3 = ((int)0X8ce3),
-        ColorAttachment4 = ((int)0X8ce4),
-        ColorAttachment5 = ((int)0X8ce5),
-        ColorAttachment6 = ((int)0X8ce6),
-        ColorAttachment7 = ((int)0X8ce7),
-        ColorAttachment8 = ((int)0X8ce8),
-        ColorAttachment9 = ((int)0X8ce9),
-        ColorAttachment10 = ((int)0X8cea),
-        ColorAttachment11 = ((int)0X8ceb),
-        ColorAttachment12 = ((int)0X8cec),
-        ColorAttachment13 = ((int)0X8ced),
-        ColorAttachment14 = ((int)0X8cee),
-        ColorAttachment15 = ((int)0X8cef),
-    }
-
-    public enum DrawBuffersEnum
-    {
-        None = ((int)0),
-        FrontLeft = ((int)0X0400),
-        FrontRight = ((int)0X0401),
-        BackLeft = ((int)0X0402),
-        BackRight = ((int)0X0403),
-        Aux0 = ((int)0X0409),
-        Aux1 = ((int)0X040a),
-        Aux2 = ((int)0X040b),
-        Aux3 = ((int)0X040c),
-        ColorAttachment0 = ((int)0X8ce0),
-        ColorAttachment1 = ((int)0X8ce1),
-        ColorAttachment2 = ((int)0X8ce2),
-        ColorAttachment3 = ((int)0X8ce3),
-        ColorAttachment4 = ((int)0X8ce4),
-        ColorAttachment5 = ((int)0X8ce5),
-        ColorAttachment6 = ((int)0X8ce6),
-        ColorAttachment7 = ((int)0X8ce7),
-        ColorAttachment8 = ((int)0X8ce8),
-        ColorAttachment9 = ((int)0X8ce9),
-        ColorAttachment10 = ((int)0X8cea),
-        ColorAttachment11 = ((int)0X8ceb),
-        ColorAttachment12 = ((int)0X8cec),
-        ColorAttachment13 = ((int)0X8ced),
-        ColorAttachment14 = ((int)0X8cee),
-        ColorAttachment15 = ((int)0X8cef),
-    }
-
-    public enum DrawElementsType
-    {
-        UnsignedByte = ((int)0X1401),
-        UnsignedShort = ((int)0X1403),
-        UnsignedInt = ((int)0X1405),
-    }
-
-    public enum EnableCap
-    {
-        PointSmooth = ((int)0X0b10),
-        LineSmooth = ((int)0X0b20),
-        LineStipple = ((int)0X0b24),
-        PolygonSmooth = ((int)0X0b41),
-        PolygonStipple = ((int)0X0b42),
-        CullFace = ((int)0X0b44),
-        Lighting = ((int)0X0b50),
-        ColorMaterial = ((int)0X0b57),
-        Fog = ((int)0X0b60),
-        DepthTest = ((int)0X0b71),
-        StencilTest = ((int)0X0b90),
-        Normalize = ((int)0X0ba1),
-        AlphaTest = ((int)0X0bc0),
-        Dither = ((int)0X0bd0),
-        Blend = ((int)0X0be2),
-        IndexLogicOp = ((int)0X0bf1),
-        ColorLogicOp = ((int)0X0bf2),
-        ScissorTest = ((int)0X0c11),
-        TextureGenS = ((int)0X0c60),
-        TextureGenT = ((int)0X0c61),
-        TextureGenR = ((int)0X0c62),
-        TextureGenQ = ((int)0X0c63),
-        AutoNormal = ((int)0X0D80),
-        Map1Color4 = ((int)0X0D90),
-        Map1Index = ((int)0X0D91),
-        Map1Normal = ((int)0X0D92),
-        Map1TextureCoord1 = ((int)0X0D93),
-        Map1TextureCoord2 = ((int)0X0D94),
-        Map1TextureCoord3 = ((int)0X0D95),
-        Map1TextureCoord4 = ((int)0X0D96),
-        Map1Vertex3 = ((int)0X0D97),
-        Map1Vertex4 = ((int)0X0D98),
-        Map2Color4 = ((int)0X0Db0),
-        Map2Index = ((int)0X0Db1),
-        Map2Normal = ((int)0X0Db2),
-        Map2TextureCoord1 = ((int)0X0Db3),
-        Map2TextureCoord2 = ((int)0X0Db4),
-        Map2TextureCoord3 = ((int)0X0Db5),
-        Map2TextureCoord4 = ((int)0X0Db6),
-        Map2Vertex3 = ((int)0X0Db7),
-        Map2Vertex4 = ((int)0X0Db8),
-        Texture1D = ((int)0X0De0),
-        Texture2D = ((int)0X0De1),
-        PolygonOffsetPoint = ((int)0X2a01),
-        PolygonOffsetLine = ((int)0X2a02),
-        ClipPlane0 = ((int)0X3000),
-        ClipPlane1 = ((int)0X3001),
-        ClipPlane2 = ((int)0X3002),
-        ClipPlane3 = ((int)0X3003),
-        ClipPlane4 = ((int)0X3004),
-        ClipPlane5 = ((int)0X3005),
-        Light0 = ((int)0X4000),
-        Light1 = ((int)0X4001),
-        Light2 = ((int)0X4002),
-        Light3 = ((int)0X4003),
-        Light4 = ((int)0X4004),
-        Light5 = ((int)0X4005),
-        Light6 = ((int)0X4006),
-        Light7 = ((int)0X4007),
-        Convolution1DExt = ((int)0X8010),
-        Convolution2DExt = ((int)0X8011),
-        Separable2DExt = ((int)0X8012),
-        HistogramExt = ((int)0X8024),
-        MinmaxExt = ((int)0X802e),
-        PolygonOffsetFill = ((int)0X8037),
-        RescaleNormal = ((int)0X803a),
-        RescaleNormalExt = ((int)0X803a),
-        Texture3DExt = ((int)0X806f),
-        VertexArray = ((int)0X8074),
-        NormalArray = ((int)0X8075),
-        ColorArray = ((int)0X8076),
-        IndexArray = ((int)0X8077),
-        TextureCoordArray = ((int)0X8078),
-        EdgeFlagArray = ((int)0X8079),
-        InterlaceSgix = ((int)0X8094),
-        Multisample = ((int)0X809d),
-        SampleAlphaToCoverage = ((int)0X809e),
-        SampleAlphaToMaskSgis = ((int)0X809e),
-        SampleAlphaToOne = ((int)0X809f),
-        SampleAlphaToOneSgis = ((int)0X809f),
-        SampleCoverage = ((int)0X80a0),
-        SampleMaskSgis = ((int)0X80a0),
-        TextureColorTableSgi = ((int)0X80bc),
-        ColorTableSgi = ((int)0X80D0),
-        PostConvolutionColorTableSgi = ((int)0X80D1),
-        PostColorMatrixColorTableSgi = ((int)0X80D2),
-        Texture4DSgis = ((int)0X8134),
-        PixelTexGenSgix = ((int)0X8139),
-        SpriteSgix = ((int)0X8148),
-        ReferencePlaneSgix = ((int)0X817D),
-        IrInstrument1Sgix = ((int)0X817f),
-        CalligraphicFragmentSgix = ((int)0X8183),
-        FramezoomSgix = ((int)0X818b),
-        FogOffsetSgix = ((int)0X8198),
-        SharedTexturePaletteExt = ((int)0X81fb),
-        AsyncHistogramSgix = ((int)0X832c),
-        PixelTextureSgis = ((int)0X8353),
-        AsyncTexImageSgix = ((int)0X835c),
-        AsyncDrawPixelsSgix = ((int)0X835D),
-        AsyncReadPixelsSgix = ((int)0X835e),
-        FragmentLightingSgix = ((int)0X8400),
-        FragmentColorMaterialSgix = ((int)0X8401),
-        FragmentLight0Sgix = ((int)0X840c),
-        FragmentLight1Sgix = ((int)0X840D),
-        FragmentLight2Sgix = ((int)0X840e),
-        FragmentLight3Sgix = ((int)0X840f),
-        FragmentLight4Sgix = ((int)0X8410),
-        FragmentLight5Sgix = ((int)0X8411),
-        FragmentLight6Sgix = ((int)0X8412),
-        FragmentLight7Sgix = ((int)0X8413),
-        FogCoordArray = ((int)0X8457),
-        ColorSum = ((int)0X8458),
-        SecondaryColorArray = ((int)0X845e),
-        TextureCubeMap = ((int)0X8513),
-        VertexProgramPointSize = ((int)0X8642),
-        VertexProgramTwoSide = ((int)0X8643),
-        PointSprite = ((int)0X8861),
-        RasterizerDiscard = ((int)0X8c89),
-        FramebufferSrgb = ((int)0X8Db9),
-    }
-
-    public enum ErrorCode
-    {
-        NoError = ((int)0),
-        InvalidEnum = ((int)0X0500),
-        InvalidValue = ((int)0X0501),
-        InvalidOperation = ((int)0X0502),
-        StackOverflow = ((int)0X0503),
-        StackUnderflow = ((int)0X0504),
-        OutOfMemory = ((int)0X0505),
-        InvalidFramebufferOperation = ((int)0X0506),
-        InvalidFramebufferOperationExt = ((int)0X0506),
-        TableTooLargeExt = ((int)0X8031),
-        TextureTooLargeExt = ((int)0X8065),
-    }
-
-    public enum Ext422Pixels
-    {
-        Gl422Ext = ((int)0X80cc),
-        Gl422RevExt = ((int)0X80cd),
-        Gl422AverageExt = ((int)0X80ce),
-        Gl422RevAverageExt = ((int)0X80cf),
-    }
-
-    public enum ExtAbgr
-    {
-        AbgrExt = ((int)0X8000),
-    }
-
-    public enum ExtBgra
-    {
-        BgrExt = ((int)0X80e0),
-        BgraExt = ((int)0X80e1),
-    }
-
-    public enum ExtBindableUniform
-    {
-        MaxVertexBindableUniformsExt = ((int)0X8de2),
-        MaxFragmentBindableUniformsExt = ((int)0X8de3),
-        MaxGeometryBindableUniformsExt = ((int)0X8de4),
-        MaxBindableUniformSizeExt = ((int)0X8ded),
-        UniformBufferExt = ((int)0X8dee),
-        UniformBufferBindingExt = ((int)0X8def),
-    }
-
-    public enum ExtBlendColor
-    {
-        ConstantColor = ((int)0X8001),
-        ConstantColorExt = ((int)0X8001),
-        OneMinusConstantColor = ((int)0X8002),
-        OneMinusConstantColorExt = ((int)0X8002),
-        ConstantAlpha = ((int)0X8003),
-        ConstantAlphaExt = ((int)0X8003),
-        OneMinusConstantAlpha = ((int)0X8004),
-        OneMinusConstantAlphaExt = ((int)0X8004),
-        BlendColor = ((int)0X8005),
-        BlendColorExt = ((int)0X8005),
-    }
-
-    public enum ExtBlendEquationSeparate
-    {
-        BlendEquationRgbExt = ((int)0X8009),
-        BlendEquationAlphaExt = ((int)0X883d),
-    }
-
-    public enum ExtBlendFuncSeparate
-    {
-        BlendDstRgbExt = ((int)0X80c8),
-        BlendSrcRgbExt = ((int)0X80c9),
-        BlendDstAlphaExt = ((int)0X80ca),
-        BlendSrcAlphaExt = ((int)0X80cb),
-    }
-
-    public enum ExtBlendLogicOp
-    {
-    }
-
-    public enum ExtBlendMinmax
-    {
-        FuncAdd = ((int)0X8006),
-        FuncAddExt = ((int)0X8006),
-        Min = ((int)0X8007),
-        MinExt = ((int)0X8007),
-        Max = ((int)0X8008),
-        MaxExt = ((int)0X8008),
-        BlendEquation = ((int)0X8009),
-        BlendEquationExt = ((int)0X8009),
-    }
-
-    public enum ExtBlendSubtract
-    {
-        FuncSubtract = ((int)0X800a),
-        FuncSubtractExt = ((int)0X800a),
-        FuncReverseSubtract = ((int)0X800b),
-        FuncReverseSubtractExt = ((int)0X800b),
-    }
-
-    public enum ExtClipVolumeHint
-    {
-        ClipVolumeClippingHintExt = ((int)0X80f0),
-    }
-
-    public enum ExtCmyka
-    {
-        CmykExt = ((int)0X800c),
-        CmykaExt = ((int)0X800d),
-        PackCmykHintExt = ((int)0X800e),
-        UnpackCmykHintExt = ((int)0X800f),
-    }
-
-    public enum ExtColorSubtable
-    {
-    }
-
-    public enum ExtCompiledVertexArray
-    {
-        ArrayElementLockFirstExt = ((int)0X81a8),
-        ArrayElementLockCountExt = ((int)0X81a9),
-    }
-
-    public enum ExtConvolution
-    {
-        Convolution1DExt = ((int)0X8010),
-        Convolution2DExt = ((int)0X8011),
-        Separable2DExt = ((int)0X8012),
-        ConvolutionBorderModeExt = ((int)0X8013),
-        ConvolutionFilterScaleExt = ((int)0X8014),
-        ConvolutionFilterBiasExt = ((int)0X8015),
-        ReduceExt = ((int)0X8016),
-        ConvolutionFormatExt = ((int)0X8017),
-        ConvolutionWidthExt = ((int)0X8018),
-        ConvolutionHeightExt = ((int)0X8019),
-        MaxConvolutionWidthExt = ((int)0X801a),
-        MaxConvolutionHeightExt = ((int)0X801b),
-        PostConvolutionRedScaleExt = ((int)0X801c),
-        PostConvolutionGreenScaleExt = ((int)0X801d),
-        PostConvolutionBlueScaleExt = ((int)0X801e),
-        PostConvolutionAlphaScaleExt = ((int)0X801f),
-        PostConvolutionRedBiasExt = ((int)0X8020),
-        PostConvolutionGreenBiasExt = ((int)0X8021),
-        PostConvolutionBlueBiasExt = ((int)0X8022),
-        PostConvolutionAlphaBiasExt = ((int)0X8023),
-    }
-
-    public enum ExtCoordinateFrame
-    {
-        TangentArrayExt = ((int)0X8439),
-        BinormalArrayExt = ((int)0X843a),
-        CurrentTangentExt = ((int)0X843b),
-        CurrentBinormalExt = ((int)0X843c),
-        TangentArrayTypeExt = ((int)0X843e),
-        TangentArrayStrideExt = ((int)0X843f),
-        BinormalArrayTypeExt = ((int)0X8440),
-        BinormalArrayStrideExt = ((int)0X8441),
-        TangentArrayPointerExt = ((int)0X8442),
-        BinormalArrayPointerExt = ((int)0X8443),
-        Map1TangentExt = ((int)0X8444),
-        Map2TangentExt = ((int)0X8445),
-        Map1BinormalExt = ((int)0X8446),
-        Map2BinormalExt = ((int)0X8447),
-    }
-
-    public enum ExtCopyTexture
-    {
-    }
-
-    public enum ExtCullVertex
-    {
-        CullVertexExt = ((int)0X81aa),
-        CullVertexEyePositionExt = ((int)0X81ab),
-        CullVertexObjectPositionExt = ((int)0X81ac),
-    }
-
-    public enum ExtDepthBoundsTest
-    {
-        DepthBoundsTestExt = ((int)0X8890),
-        DepthBoundsExt = ((int)0X8891),
-    }
-
-    public enum ExtDirectStateAccess
-    {
-        ProgramMatrixExt = ((int)0X8e2d),
-        TransposeProgramMatrixExt = ((int)0X8e2e),
-        ProgramMatrixStackDepthExt = ((int)0X8e2f),
-    }
-
-    public enum ExtDrawBuffers2
-    {
-    }
-
-    public enum ExtDrawInstanced
-    {
-    }
-
-    public enum ExtDrawRangeElements
-    {
-        MaxElementsVerticesExt = ((int)0X80e8),
-        MaxElementsIndicesExt = ((int)0X80e9),
-    }
-
-    public enum ExtFogCoord
-    {
-        FogCoordinateSourceExt = ((int)0X8450),
-        FogCoordinateExt = ((int)0X8451),
-        FragmentDepthExt = ((int)0X8452),
-        CurrentFogCoordinateExt = ((int)0X8453),
-        FogCoordinateArrayTypeExt = ((int)0X8454),
-        FogCoordinateArrayStrideExt = ((int)0X8455),
-        FogCoordinateArrayPointerExt = ((int)0X8456),
-        FogCoordinateArrayExt = ((int)0X8457),
-    }
-
-    public enum ExtFramebufferBlit
-    {
-        DrawFramebufferBindingExt = ((int)0X8ca6),
-        ReadFramebufferExt = ((int)0X8ca8),
-        DrawFramebufferExt = ((int)0X8ca9),
-        ReadFramebufferBindingExt = ((int)0X8caa),
-    }
-
-    public enum ExtFramebufferMultisample
-    {
-        RenderbufferSamplesExt = ((int)0X8cab),
-        FramebufferIncompleteMultisampleExt = ((int)0X8d56),
-        MaxSamplesExt = ((int)0X8d57),
-    }
-
-    public enum ExtFramebufferObject
-    {
-        InvalidFramebufferOperationExt = ((int)0X0506),
-        MaxRenderbufferSizeExt = ((int)0X84e8),
-        FramebufferBindingExt = ((int)0X8ca6),
-        RenderbufferBindingExt = ((int)0X8ca7),
-        FramebufferAttachmentObjectTypeExt = ((int)0X8cd0),
-        FramebufferAttachmentObjectNameExt = ((int)0X8cd1),
-        FramebufferAttachmentTextureLevelExt = ((int)0X8cd2),
-        FramebufferAttachmentTextureCubeMapFaceExt = ((int)0X8cd3),
-        FramebufferAttachmentTexture3DZoffsetExt = ((int)0X8cd4),
-        FramebufferCompleteExt = ((int)0X8cd5),
-        FramebufferIncompleteAttachmentExt = ((int)0X8cd6),
-        FramebufferIncompleteMissingAttachmentExt = ((int)0X8cd7),
-        FramebufferIncompleteDimensionsExt = ((int)0X8cd9),
-        FramebufferIncompleteFormatsExt = ((int)0X8cda),
-        FramebufferIncompleteDrawBufferExt = ((int)0X8cdb),
-        FramebufferIncompleteReadBufferExt = ((int)0X8cdc),
-        FramebufferUnsupportedExt = ((int)0X8cdd),
-        MaxColorAttachmentsExt = ((int)0X8cdf),
-        ColorAttachment0Ext = ((int)0X8ce0),
-        ColorAttachment1Ext = ((int)0X8ce1),
-        ColorAttachment2Ext = ((int)0X8ce2),
-        ColorAttachment3Ext = ((int)0X8ce3),
-        ColorAttachment4Ext = ((int)0X8ce4),
-        ColorAttachment5Ext = ((int)0X8ce5),
-        ColorAttachment6Ext = ((int)0X8ce6),
-        ColorAttachment7Ext = ((int)0X8ce7),
-        ColorAttachment8Ext = ((int)0X8ce8),
-        ColorAttachment9Ext = ((int)0X8ce9),
-        ColorAttachment10Ext = ((int)0X8cea),
-        ColorAttachment11Ext = ((int)0X8ceb),
-        ColorAttachment12Ext = ((int)0X8cec),
-        ColorAttachment13Ext = ((int)0X8ced),
-        ColorAttachment14Ext = ((int)0X8cee),
-        ColorAttachment15Ext = ((int)0X8cef),
-        DepthAttachmentExt = ((int)0X8d00),
-        StencilAttachmentExt = ((int)0X8d20),
-        FramebufferExt = ((int)0X8d40),
-        RenderbufferExt = ((int)0X8d41),
-        RenderbufferWidthExt = ((int)0X8d42),
-        RenderbufferHeightExt = ((int)0X8d43),
-        RenderbufferInternalFormatExt = ((int)0X8d44),
-        StencilIndex1Ext = ((int)0X8d46),
-        StencilIndex4Ext = ((int)0X8d47),
-        StencilIndex8Ext = ((int)0X8d48),
-        StencilIndex16Ext = ((int)0X8d49),
-        RenderbufferRedSizeExt = ((int)0X8d50),
-        RenderbufferGreenSizeExt = ((int)0X8d51),
-        RenderbufferBlueSizeExt = ((int)0X8d52),
-        RenderbufferAlphaSizeExt = ((int)0X8d53),
-        RenderbufferDepthSizeExt = ((int)0X8d54),
-        RenderbufferStencilSizeExt = ((int)0X8d55),
-    }
-
-    public enum ExtFramebufferSrgb
-    {
-        FramebufferSrgbExt = ((int)0X8db9),
-        FramebufferSrgbCapableExt = ((int)0X8dba),
-    }
-
-    public enum ExtGeometryShader4
-    {
-        LinesAdjacencyExt = ((int)0X000a),
-        LineStripAdjacencyExt = ((int)0X000b),
-        TrianglesAdjacencyExt = ((int)0X000c),
-        TriangleStripAdjacencyExt = ((int)0X000D),
-        ProgramPointSizeExt = ((int)0X8642),
-        MaxVaryingComponentsExt = ((int)0X8b4b),
-        MaxGeometryTextureImageUnitsExt = ((int)0X8c29),
-        FramebufferAttachmentTextureLayerExt = ((int)0X8cd4),
-        FramebufferAttachmentLayeredExt = ((int)0X8Da7),
-        FramebufferIncompleteLayerTargetsExt = ((int)0X8Da8),
-        FramebufferIncompleteLayerCountExt = ((int)0X8Da9),
-        GeometryShaderExt = ((int)0X8dd9),
-        GeometryVerticesOutExt = ((int)0X8Dda),
-        GeometryInputTypeExt = ((int)0X8Ddb),
-        GeometryOutputTypeExt = ((int)0X8Ddc),
-        MaxGeometryVaryingComponentsExt = ((int)0X8ddd),
-        MaxVertexVaryingComponentsExt = ((int)0X8dde),
-        MaxGeometryUniformComponentsExt = ((int)0X8ddf),
-        MaxGeometryOutputVerticesExt = ((int)0X8de0),
-        MaxGeometryTotalOutputComponentsExt = ((int)0X8de1),
-    }
-
-    public enum ExtGpuProgramParameters
-    {
-    }
-
-    public enum ExtGpuShader4
-    {
-        Sampler1DArrayExt = ((int)0X8dc0),
-        Sampler2DArrayExt = ((int)0X8dc1),
-        SamplerBufferExt = ((int)0X8dc2),
-        Sampler1DArrayShadowExt = ((int)0X8dc3),
-        Sampler2DArrayShadowExt = ((int)0X8dc4),
-        SamplerCubeShadowExt = ((int)0X8dc5),
-        UnsignedIntVec2Ext = ((int)0X8dc6),
-        UnsignedIntVec3Ext = ((int)0X8dc7),
-        UnsignedIntVec4Ext = ((int)0X8dc8),
-        IntSampler1DExt = ((int)0X8dc9),
-        IntSampler2DExt = ((int)0X8dca),
-        IntSampler3DExt = ((int)0X8dcb),
-        IntSamplerCubeExt = ((int)0X8dcc),
-        IntSampler2DRectExt = ((int)0X8dcd),
-        IntSampler1DArrayExt = ((int)0X8dce),
-        IntSampler2DArrayExt = ((int)0X8dcf),
-        IntSamplerBufferExt = ((int)0X8dd0),
-        UnsignedIntSampler1DExt = ((int)0X8dd1),
-        UnsignedIntSampler2DExt = ((int)0X8dd2),
-        UnsignedIntSampler3DExt = ((int)0X8dd3),
-        UnsignedIntSamplerCubeExt = ((int)0X8dd4),
-        UnsignedIntSampler2DRectExt = ((int)0X8dd5),
-        UnsignedIntSampler1DArrayExt = ((int)0X8dd6),
-        UnsignedIntSampler2DArrayExt = ((int)0X8dd7),
-        UnsignedIntSamplerBufferExt = ((int)0X8dd8),
-    }
-
-    public enum ExtHistogram
-    {
-        HistogramExt = ((int)0X8024),
-        ProxyHistogramExt = ((int)0X8025),
-        HistogramWidthExt = ((int)0X8026),
-        HistogramFormatExt = ((int)0X8027),
-        HistogramRedSizeExt = ((int)0X8028),
-        HistogramGreenSizeExt = ((int)0X8029),
-        HistogramBlueSizeExt = ((int)0X802a),
-        HistogramAlphaSizeExt = ((int)0X802b),
-        HistogramLuminanceSize = ((int)0X802c),
-        HistogramLuminanceSizeExt = ((int)0X802c),
-        HistogramSinkExt = ((int)0X802d),
-        MinmaxExt = ((int)0X802e),
-        MinmaxFormatExt = ((int)0X802f),
-        MinmaxSinkExt = ((int)0X8030),
-        TableTooLargeExt = ((int)0X8031),
-    }
-
-    public enum ExtIndexArrayFormats
-    {
-        IuiV2fExt = ((int)0X81ad),
-        IuiV3fExt = ((int)0X81ae),
-        IuiN3fV2fExt = ((int)0X81af),
-        IuiN3fV3fExt = ((int)0X81b0),
-        T2fIuiV2fExt = ((int)0X81b1),
-        T2fIuiV3fExt = ((int)0X81b2),
-        T2fIuiN3fV2fExt = ((int)0X81b3),
-        T2fIuiN3fV3fExt = ((int)0X81b4),
-    }
-
-    public enum ExtIndexFunc
-    {
-        IndexTestExt = ((int)0X81b5),
-        IndexTestFuncExt = ((int)0X81b6),
-        IndexTestRefExt = ((int)0X81b7),
-    }
-
-    public enum ExtIndexMaterial
-    {
-        IndexMaterialExt = ((int)0X81b8),
-        IndexMaterialParameterExt = ((int)0X81b9),
-        IndexMaterialFaceExt = ((int)0X81ba),
-    }
-
-    public enum ExtIndexTexture
-    {
-    }
-
-    public enum ExtLightTexture
-    {
-        FragmentMaterialExt = ((int)0X8349),
-        FragmentNormalExt = ((int)0X834a),
-        FragmentColorExt = ((int)0X834c),
-        AttenuationExt = ((int)0X834d),
-        ShadowAttenuationExt = ((int)0X834e),
-        TextureApplicationModeExt = ((int)0X834f),
-        TextureLightExt = ((int)0X8350),
-        TextureMaterialFaceExt = ((int)0X8351),
-        TextureMaterialParameterExt = ((int)0X8352),
-        FragmentDepthExt = ((int)0X8452),
-    }
-
-    public enum ExtMiscAttribute
-    {
-    }
-
-    public enum ExtMultiDrawArrays
-    {
-    }
-
-    public enum ExtMultisample
-    {
-        MultisampleBitExt = ((int)0X20000000),
-        MultisampleExt = ((int)0X809d),
-        SampleAlphaToMaskExt = ((int)0X809e),
-        SampleAlphaToOneExt = ((int)0X809f),
-        SampleMaskExt = ((int)0X80a0),
-        Gl1PassExt = ((int)0X80a1),
-        Gl2Pass0Ext = ((int)0X80a2),
-        Gl2Pass1Ext = ((int)0X80a3),
-        Gl4Pass0Ext = ((int)0X80a4),
-        Gl4Pass1Ext = ((int)0X80a5),
-        Gl4Pass2Ext = ((int)0X80a6),
-        Gl4Pass3Ext = ((int)0X80a7),
-        SampleBuffersExt = ((int)0X80a8),
-        SamplesExt = ((int)0X80a9),
-        SampleMaskValueExt = ((int)0X80aa),
-        SampleMaskInvertExt = ((int)0X80ab),
-        SamplePatternExt = ((int)0X80ac),
-    }
-
-    public enum ExtPackedDepthStencil
-    {
-        DepthStencilExt = ((int)0X84f9),
-        UnsignedInt248Ext = ((int)0X84fa),
-        Depth24Stencil8Ext = ((int)0X88f0),
-        TextureStencilSizeExt = ((int)0X88f1),
-    }
-
-    public enum ExtPackedFloat
-    {
-        R11fG11fB10fExt = ((int)0X8c3a),
-        UnsignedInt10F11F11FRevExt = ((int)0X8c3b),
-        RgbaSignedComponentsExt = ((int)0X8c3c),
-    }
-
-    public enum ExtPackedPixels
-    {
-        UnsignedByte332Ext = ((int)0X8032),
-        UnsignedShort4444Ext = ((int)0X8033),
-        UnsignedShort5551Ext = ((int)0X8034),
-        UnsignedInt8888Ext = ((int)0X8035),
-        UnsignedInt1010102Ext = ((int)0X8036),
-        UnsignedByte233RevExt = ((int)0X8362),
-        UnsignedShort565Ext = ((int)0X8363),
-        UnsignedShort565RevExt = ((int)0X8364),
-        UnsignedShort4444RevExt = ((int)0X8365),
-        UnsignedShort1555RevExt = ((int)0X8366),
-        UnsignedInt8888RevExt = ((int)0X8367),
-        UnsignedInt2101010RevExt = ((int)0X8368),
-    }
-
-    public enum ExtPalettedTexture
-    {
-        ColorIndex1Ext = ((int)0X80e2),
-        ColorIndex2Ext = ((int)0X80e3),
-        ColorIndex4Ext = ((int)0X80e4),
-        ColorIndex8Ext = ((int)0X80e5),
-        ColorIndex12Ext = ((int)0X80e6),
-        ColorIndex16Ext = ((int)0X80e7),
-        TextureIndexSizeExt = ((int)0X80ed),
-    }
-
-    public enum ExtPixelBufferObject
-    {
-        PixelPackBufferExt = ((int)0X88eb),
-        PixelUnpackBufferExt = ((int)0X88ec),
-        PixelPackBufferBindingExt = ((int)0X88ed),
-        PixelUnpackBufferBindingExt = ((int)0X88ef),
-    }
-
-    public enum ExtPixelTransform
-    {
-        PixelTransform2DExt = ((int)0X8330),
-        PixelMagFilterExt = ((int)0X8331),
-        PixelMinFilterExt = ((int)0X8332),
-        PixelCubicWeightExt = ((int)0X8333),
-        CubicExt = ((int)0X8334),
-        AverageExt = ((int)0X8335),
-        PixelTransform2DStackDepthExt = ((int)0X8336),
-        MaxPixelTransform2DStackDepthExt = ((int)0X8337),
-        PixelTransform2DMatrixExt = ((int)0X8338),
-    }
-
-    public enum ExtPixelTransformColorTable
-    {
-    }
-
-    public enum ExtPointParameters
-    {
-        PointSizeMinExt = ((int)0X8126),
-        PointSizeMaxExt = ((int)0X8127),
-        PointFadeThresholdSizeExt = ((int)0X8128),
-        DistanceAttenuationExt = ((int)0X8129),
-    }
-
-    public enum ExtPolygonOffset
-    {
-        PolygonOffsetExt = ((int)0X8037),
-        PolygonOffsetFactorExt = ((int)0X8038),
-        PolygonOffsetBiasExt = ((int)0X8039),
-    }
-
-    public enum ExtProvokingVertex
-    {
-        QuadsFollowProvokingVertexConventionExt = ((int)0X8e4c),
-        FirstVertexConventionExt = ((int)0X8e4d),
-        LastVertexConventionExt = ((int)0X8e4e),
-        ProvokingVertexExt = ((int)0X8e4f),
-    }
-
-    public enum ExtRescaleNormal
-    {
-        RescaleNormalExt = ((int)0X803a),
-    }
-
-    public enum ExtSecondaryColor
-    {
-        ColorSumExt = ((int)0X8458),
-        CurrentSecondaryColorExt = ((int)0X8459),
-        SecondaryColorArraySizeExt = ((int)0X845a),
-        SecondaryColorArrayTypeExt = ((int)0X845b),
-        SecondaryColorArrayStrideExt = ((int)0X845c),
-        SecondaryColorArrayPointerExt = ((int)0X845d),
-        SecondaryColorArrayExt = ((int)0X845e),
-    }
-
-    public enum ExtSeparateSpecularColor
-    {
-        LightModelColorControlExt = ((int)0X81f8),
-        SingleColorExt = ((int)0X81f9),
-        SeparateSpecularColorExt = ((int)0X81fa),
-    }
-
-    public enum ExtShadowFuncs
-    {
-    }
-
-    public enum ExtSharedTexturePalette
-    {
-        SharedTexturePaletteExt = ((int)0X81fb),
-    }
-
-    public enum ExtStencilClearTag
-    {
-        StencilTagBitsExt = ((int)0X88f2),
-        StencilClearTagValueExt = ((int)0X88f3),
-    }
-
-    public enum ExtStencilTwoSide
-    {
-        StencilTestTwoSideExt = ((int)0X8910),
-        ActiveStencilFaceExt = ((int)0X8911),
-    }
-
-    public enum ExtStencilWrap
-    {
-        IncrWrapExt = ((int)0X8507),
-        DecrWrapExt = ((int)0X8508),
-    }
-
-    public enum ExtSubtexture
-    {
-    }
-
-    public enum ExtTexture
-    {
-        Alpha4Ext = ((int)0X803b),
-        Alpha8Ext = ((int)0X803c),
-        Alpha12Ext = ((int)0X803d),
-        Alpha16Ext = ((int)0X803e),
-        Luminance4Ext = ((int)0X803f),
-        Luminance8Ext = ((int)0X8040),
-        Luminance12Ext = ((int)0X8041),
-        Luminance16Ext = ((int)0X8042),
-        Luminance4Alpha4Ext = ((int)0X8043),
-        Luminance6Alpha2Ext = ((int)0X8044),
-        Luminance8Alpha8Ext = ((int)0X8045),
-        Luminance12Alpha4Ext = ((int)0X8046),
-        Luminance12Alpha12Ext = ((int)0X8047),
-        Luminance16Alpha16Ext = ((int)0X8048),
-        IntensityExt = ((int)0X8049),
-        Intensity4Ext = ((int)0X804a),
-        Intensity8Ext = ((int)0X804b),
-        Intensity12Ext = ((int)0X804c),
-        Intensity16Ext = ((int)0X804d),
-        Rgb2Ext = ((int)0X804e),
-        Rgb4Ext = ((int)0X804f),
-        Rgb5Ext = ((int)0X8050),
-        Rgb8Ext = ((int)0X8051),
-        Rgb10Ext = ((int)0X8052),
-        Rgb12Ext = ((int)0X8053),
-        Rgb16Ext = ((int)0X8054),
-        Rgba2Ext = ((int)0X8055),
-        Rgba4Ext = ((int)0X8056),
-        Rgb5A1Ext = ((int)0X8057),
-        Rgba8Ext = ((int)0X8058),
-        Rgb10A2Ext = ((int)0X8059),
-        Rgba12Ext = ((int)0X805a),
-        Rgba16Ext = ((int)0X805b),
-        TextureRedSizeExt = ((int)0X805c),
-        TextureGreenSizeExt = ((int)0X805d),
-        TextureBlueSizeExt = ((int)0X805e),
-        TextureAlphaSizeExt = ((int)0X805f),
-        TextureLuminanceSizeExt = ((int)0X8060),
-        TextureIntensitySizeExt = ((int)0X8061),
-        ReplaceExt = ((int)0X8062),
-        ProxyTexture1DExt = ((int)0X8063),
-        ProxyTexture2DExt = ((int)0X8064),
-        TextureTooLargeExt = ((int)0X8065),
-    }
-
-    public enum ExtTexture3D
-    {
-        PackSkipImagesExt = ((int)0X806b),
-        PackImageHeightExt = ((int)0X806c),
-        UnpackSkipImagesExt = ((int)0X806d),
-        UnpackImageHeightExt = ((int)0X806e),
-        Texture3DExt = ((int)0X806f),
-        ProxyTexture3DExt = ((int)0X8070),
-        TextureDepthExt = ((int)0X8071),
-        TextureWrapRExt = ((int)0X8072),
-        Max3DTextureSizeExt = ((int)0X8073),
-    }
-
-    public enum ExtTextureArray
-    {
-        CompareRefDepthToTextureExt = ((int)0X884e),
-        MaxArrayTextureLayersExt = ((int)0X88ff),
-        Texture1DArrayExt = ((int)0X8c18),
-        ProxyTexture1DArrayExt = ((int)0X8c19),
-        Texture2DArrayExt = ((int)0X8c1a),
-        ProxyTexture2DArrayExt = ((int)0X8c1b),
-        TextureBinding1DArrayExt = ((int)0X8c1c),
-        TextureBinding2DArrayExt = ((int)0X8c1d),
-        FramebufferAttachmentTextureLayerExt = ((int)0X8cd4),
-    }
-
-    public enum ExtTextureBufferObject
-    {
-        TextureBufferExt = ((int)0X8c2a),
-        MaxTextureBufferSizeExt = ((int)0X8c2b),
-        TextureBindingBufferExt = ((int)0X8c2c),
-        TextureBufferDataStoreBindingExt = ((int)0X8c2d),
-        TextureBufferFormatExt = ((int)0X8c2e),
-    }
-
-    public enum ExtTextureCompressionLatc
-    {
-        CompressedLuminanceLatc1Ext = ((int)0X8c70),
-        CompressedSignedLuminanceLatc1Ext = ((int)0X8c71),
-        CompressedLuminanceAlphaLatc2Ext = ((int)0X8c72),
-        CompressedSignedLuminanceAlphaLatc2Ext = ((int)0X8c73),
-    }
-
-    public enum ExtTextureCompressionRgtc
-    {
-        CompressedRedRgtc1Ext = ((int)0X8dbb),
-        CompressedSignedRedRgtc1Ext = ((int)0X8dbc),
-        CompressedRedGreenRgtc2Ext = ((int)0X8dbd),
-        CompressedSignedRedGreenRgtc2Ext = ((int)0X8dbe),
-    }
-
-    public enum ExtTextureCompressionS3tc
-    {
-        CompressedRgbS3tcDxt1Ext = ((int)0X83f0),
-        CompressedRgbaS3tcDxt1Ext = ((int)0X83f1),
-        CompressedRgbaS3tcDxt3Ext = ((int)0X83f2),
-        CompressedRgbaS3tcDxt5Ext = ((int)0X83f3),
-    }
-
-    public enum ExtTextureCubeMap
-    {
-        NormalMapExt = ((int)0X8511),
-        ReflectionMapExt = ((int)0X8512),
-        TextureCubeMapExt = ((int)0X8513),
-        TextureBindingCubeMapExt = ((int)0X8514),
-        TextureCubeMapPositiveXExt = ((int)0X8515),
-        TextureCubeMapNegativeXExt = ((int)0X8516),
-        TextureCubeMapPositiveYExt = ((int)0X8517),
-        TextureCubeMapNegativeYExt = ((int)0X8518),
-        TextureCubeMapPositiveZExt = ((int)0X8519),
-        TextureCubeMapNegativeZExt = ((int)0X851a),
-        ProxyTextureCubeMapExt = ((int)0X851b),
-        MaxCubeMapTextureSizeExt = ((int)0X851c),
-    }
-
-    public enum ExtTextureEnvAdd
-    {
-    }
-
-    public enum ExtTextureEnvCombine
-    {
-        CombineExt = ((int)0X8570),
-        CombineRgbExt = ((int)0X8571),
-        CombineAlphaExt = ((int)0X8572),
-        RgbScaleExt = ((int)0X8573),
-        AddSignedExt = ((int)0X8574),
-        InterpolateExt = ((int)0X8575),
-        ConstantExt = ((int)0X8576),
-        PrimaryColorExt = ((int)0X8577),
-        PreviousExt = ((int)0X8578),
-        Source0RgbExt = ((int)0X8580),
-        Source1RgbExt = ((int)0X8581),
-        Source2RgbExt = ((int)0X8582),
-        Source0AlphaExt = ((int)0X8588),
-        Source1AlphaExt = ((int)0X8589),
-        Source2AlphaExt = ((int)0X858a),
-        Operand0RgbExt = ((int)0X8590),
-        Operand1RgbExt = ((int)0X8591),
-        Operand2RgbExt = ((int)0X8592),
-        Operand0AlphaExt = ((int)0X8598),
-        Operand1AlphaExt = ((int)0X8599),
-        Operand2AlphaExt = ((int)0X859a),
-    }
-
-    public enum ExtTextureEnvDot3
-    {
-        Dot3RgbExt = ((int)0X8740),
-        Dot3RgbaExt = ((int)0X8741),
-    }
-
-    public enum ExtTextureFilterAnisotropic
-    {
-        TextureMaxAnisotropyExt = ((int)0X84fe),
-        MaxTextureMaxAnisotropyExt = ((int)0X84ff),
-    }
-
-    public enum ExtTextureInteger
-    {
-        Rgba32uiExt = ((int)0X8d70),
-        Rgb32uiExt = ((int)0X8d71),
-        Alpha32uiExt = ((int)0X8d72),
-        Intensity32uiExt = ((int)0X8d73),
-        Luminance32uiExt = ((int)0X8d74),
-        LuminanceAlpha32uiExt = ((int)0X8d75),
-        Rgba16uiExt = ((int)0X8d76),
-        Rgb16uiExt = ((int)0X8d77),
-        Alpha16uiExt = ((int)0X8d78),
-        Intensity16uiExt = ((int)0X8d79),
-        Luminance16uiExt = ((int)0X8d7a),
-        LuminanceAlpha16uiExt = ((int)0X8d7b),
-        Rgba8uiExt = ((int)0X8d7c),
-        Rgb8uiExt = ((int)0X8d7d),
-        Alpha8uiExt = ((int)0X8d7e),
-        Intensity8uiExt = ((int)0X8d7f),
-        Luminance8uiExt = ((int)0X8d80),
-        LuminanceAlpha8uiExt = ((int)0X8d81),
-        Rgba32iExt = ((int)0X8d82),
-        Rgb32iExt = ((int)0X8d83),
-        Alpha32iExt = ((int)0X8d84),
-        Intensity32iExt = ((int)0X8d85),
-        Luminance32iExt = ((int)0X8d86),
-        LuminanceAlpha32iExt = ((int)0X8d87),
-        Rgba16iExt = ((int)0X8d88),
-        Rgb16iExt = ((int)0X8d89),
-        Alpha16iExt = ((int)0X8d8a),
-        Intensity16iExt = ((int)0X8d8b),
-        Luminance16iExt = ((int)0X8d8c),
-        LuminanceAlpha16iExt = ((int)0X8d8d),
-        Rgba8iExt = ((int)0X8d8e),
-        Rgb8iExt = ((int)0X8d8f),
-        Alpha8iExt = ((int)0X8d90),
-        Intensity8iExt = ((int)0X8d91),
-        Luminance8iExt = ((int)0X8d92),
-        LuminanceAlpha8iExt = ((int)0X8d93),
-        RedIntegerExt = ((int)0X8d94),
-        GreenIntegerExt = ((int)0X8d95),
-        BlueIntegerExt = ((int)0X8d96),
-        AlphaIntegerExt = ((int)0X8d97),
-        RgbIntegerExt = ((int)0X8d98),
-        RgbaIntegerExt = ((int)0X8d99),
-        BgrIntegerExt = ((int)0X8d9a),
-        BgraIntegerExt = ((int)0X8d9b),
-        LuminanceIntegerExt = ((int)0X8d9c),
-        LuminanceAlphaIntegerExt = ((int)0X8d9d),
-        RgbaIntegerModeExt = ((int)0X8d9e),
-    }
-
-    public enum ExtTextureLodBias
-    {
-        MaxTextureLodBiasExt = ((int)0X84fd),
-        TextureFilterControlExt = ((int)0X8500),
-        TextureLodBiasExt = ((int)0X8501),
-    }
-
-    public enum ExtTextureMirrorClamp
-    {
-        MirrorClampExt = ((int)0X8742),
-        MirrorClampToEdgeExt = ((int)0X8743),
-        MirrorClampToBorderExt = ((int)0X8912),
-    }
-
-    public enum ExtTextureObject
-    {
-        TexturePriorityExt = ((int)0X8066),
-        TextureResidentExt = ((int)0X8067),
-        Texture1DBindingExt = ((int)0X8068),
-        Texture2DBindingExt = ((int)0X8069),
-        Texture3DBindingExt = ((int)0X806a),
-    }
-
-    public enum ExtTexturePerturbNormal
-    {
-        PerturbExt = ((int)0X85ae),
-        TextureNormalExt = ((int)0X85af),
-    }
-
-    public enum ExtTextureSharedExponent
-    {
-        Rgb9E5Ext = ((int)0X8c3d),
-        UnsignedInt5999RevExt = ((int)0X8c3e),
-        TextureSharedSizeExt = ((int)0X8c3f),
-    }
-
-    public enum ExtTextureSnorm
-    {
-        RgSnorm = ((int)0X8f91),
-        RgbSnorm = ((int)0X8f92),
-        RgbaSnorm = ((int)0X8f93),
-        R8Snorm = ((int)0X8f94),
-        Rg8Snorm = ((int)0X8f95),
-        Rgb8Snorm = ((int)0X8f96),
-        Rgba8Snorm = ((int)0X8f97),
-        R16Snorm = ((int)0X8f98),
-        Rg16Snorm = ((int)0X8f99),
-        Rgb16Snorm = ((int)0X8f9a),
-        Rgba16Snorm = ((int)0X8f9b),
-        SignedNormalized = ((int)0X8f9c),
-        AlphaSnorm = ((int)0X9010),
-        LuminanceSnorm = ((int)0X9011),
-        LuminanceAlphaSnorm = ((int)0X9012),
-        IntensitySnorm = ((int)0X9013),
-        Alpha8Snorm = ((int)0X9014),
-        Luminance8Snorm = ((int)0X9015),
-        Luminance8Alpha8Snorm = ((int)0X9016),
-        Intensity8Snorm = ((int)0X9017),
-        Alpha16Snorm = ((int)0X9018),
-        Luminance16Snorm = ((int)0X9019),
-        Luminance16Alpha16Snorm = ((int)0X901a),
-        Intensity16Snorm = ((int)0X901b),
-    }
-
-    public enum ExtTextureSrgb
-    {
-        SrgbExt = ((int)0X8c40),
-        Srgb8Ext = ((int)0X8c41),
-        SrgbAlphaExt = ((int)0X8c42),
-        Srgb8Alpha8Ext = ((int)0X8c43),
-        SluminanceAlphaExt = ((int)0X8c44),
-        Sluminance8Alpha8Ext = ((int)0X8c45),
-        SluminanceExt = ((int)0X8c46),
-        Sluminance8Ext = ((int)0X8c47),
-        CompressedSrgbExt = ((int)0X8c48),
-        CompressedSrgbAlphaExt = ((int)0X8c49),
-        CompressedSluminanceExt = ((int)0X8c4a),
-        CompressedSluminanceAlphaExt = ((int)0X8c4b),
-        CompressedSrgbS3tcDxt1Ext = ((int)0X8c4c),
-        CompressedSrgbAlphaS3tcDxt1Ext = ((int)0X8c4d),
-        CompressedSrgbAlphaS3tcDxt3Ext = ((int)0X8c4e),
-        CompressedSrgbAlphaS3tcDxt5Ext = ((int)0X8c4f),
-    }
-
-    public enum ExtTextureSwizzle
-    {
-        TextureSwizzleRExt = ((int)0X8e42),
-        TextureSwizzleGExt = ((int)0X8e43),
-        TextureSwizzleBExt = ((int)0X8e44),
-        TextureSwizzleAExt = ((int)0X8e45),
-        TextureSwizzleRgbaExt = ((int)0X8e46),
-    }
-
-    public enum ExtTimerQuery
-    {
-        TimeElapsedExt = ((int)0X88bf),
-    }
-
-    public enum ExtTransformFeedback
-    {
-        TransformFeedbackVaryingMaxLengthExt = ((int)0X8c76),
-        TransformFeedbackBufferModeExt = ((int)0X8c7f),
-        MaxTransformFeedbackSeparateComponentsExt = ((int)0X8c80),
-        TransformFeedbackVaryingsExt = ((int)0X8c83),
-        TransformFeedbackBufferStartExt = ((int)0X8c84),
-        TransformFeedbackBufferSizeExt = ((int)0X8c85),
-        PrimitivesGeneratedExt = ((int)0X8c87),
-        TransformFeedbackPrimitivesWrittenExt = ((int)0X8c88),
-        RasterizerDiscardExt = ((int)0X8c89),
-        MaxTransformFeedbackInterleavedComponentsExt = ((int)0X8c8a),
-        MaxTransformFeedbackSeparateAttribsExt = ((int)0X8c8b),
-        InterleavedAttribsExt = ((int)0X8c8c),
-        SeparateAttribsExt = ((int)0X8c8d),
-        TransformFeedbackBufferExt = ((int)0X8c8e),
-        TransformFeedbackBufferBindingExt = ((int)0X8c8f),
-    }
-
-    public enum ExtVertexArray
-    {
-        VertexArrayExt = ((int)0X8074),
-        NormalArrayExt = ((int)0X8075),
-        ColorArrayExt = ((int)0X8076),
-        IndexArrayExt = ((int)0X8077),
-        TextureCoordArrayExt = ((int)0X8078),
-        EdgeFlagArrayExt = ((int)0X8079),
-        VertexArraySizeExt = ((int)0X807a),
-        VertexArrayTypeExt = ((int)0X807b),
-        VertexArrayStrideExt = ((int)0X807c),
-        VertexArrayCountExt = ((int)0X807d),
-        NormalArrayTypeExt = ((int)0X807e),
-        NormalArrayStrideExt = ((int)0X807f),
-        NormalArrayCountExt = ((int)0X8080),
-        ColorArraySizeExt = ((int)0X8081),
-        ColorArrayTypeExt = ((int)0X8082),
-        ColorArrayStrideExt = ((int)0X8083),
-        ColorArrayCountExt = ((int)0X8084),
-        IndexArrayTypeExt = ((int)0X8085),
-        IndexArrayStrideExt = ((int)0X8086),
-        IndexArrayCountExt = ((int)0X8087),
-        TextureCoordArraySizeExt = ((int)0X8088),
-        TextureCoordArrayTypeExt = ((int)0X8089),
-        TextureCoordArrayStrideExt = ((int)0X808a),
-        TextureCoordArrayCountExt = ((int)0X808b),
-        EdgeFlagArrayStrideExt = ((int)0X808c),
-        EdgeFlagArrayCountExt = ((int)0X808d),
-        VertexArrayPointerExt = ((int)0X808e),
-        NormalArrayPointerExt = ((int)0X808f),
-        ColorArrayPointerExt = ((int)0X8090),
-        IndexArrayPointerExt = ((int)0X8091),
-        TextureCoordArrayPointerExt = ((int)0X8092),
-        EdgeFlagArrayPointerExt = ((int)0X8093),
-    }
-
-    public enum ExtVertexArrayBgra
-    {
-        Bgra = ((int)0X80e1),
-    }
-
-    public enum ExtVertexShader
-    {
-        VertexShaderExt = ((int)0X8780),
-        VertexShaderBindingExt = ((int)0X8781),
-        OpIndexExt = ((int)0X8782),
-        OpNegateExt = ((int)0X8783),
-        OpDot3Ext = ((int)0X8784),
-        OpDot4Ext = ((int)0X8785),
-        OpMulExt = ((int)0X8786),
-        OpAddExt = ((int)0X8787),
-        OpMaddExt = ((int)0X8788),
-        OpFracExt = ((int)0X8789),
-        OpMaxExt = ((int)0X878a),
-        OpMinExt = ((int)0X878b),
-        OpSetGeExt = ((int)0X878c),
-        OpSetLtExt = ((int)0X878d),
-        OpClampExt = ((int)0X878e),
-        OpFloorExt = ((int)0X878f),
-        OpRoundExt = ((int)0X8790),
-        OpExpBase2Ext = ((int)0X8791),
-        OpLogBase2Ext = ((int)0X8792),
-        OpPowerExt = ((int)0X8793),
-        OpRecipExt = ((int)0X8794),
-        OpRecipSqrtExt = ((int)0X8795),
-        OpSubExt = ((int)0X8796),
-        OpCrossProductExt = ((int)0X8797),
-        OpMultiplyMatrixExt = ((int)0X8798),
-        OpMovExt = ((int)0X8799),
-        OutputVertexExt = ((int)0X879a),
-        OutputColor0Ext = ((int)0X879b),
-        OutputColor1Ext = ((int)0X879c),
-        OutputTextureCoord0Ext = ((int)0X879d),
-        OutputTextureCoord1Ext = ((int)0X879e),
-        OutputTextureCoord2Ext = ((int)0X879f),
-        OutputTextureCoord3Ext = ((int)0X87a0),
-        OutputTextureCoord4Ext = ((int)0X87a1),
-        OutputTextureCoord5Ext = ((int)0X87a2),
-        OutputTextureCoord6Ext = ((int)0X87a3),
-        OutputTextureCoord7Ext = ((int)0X87a4),
-        OutputTextureCoord8Ext = ((int)0X87a5),
-        OutputTextureCoord9Ext = ((int)0X87a6),
-        OutputTextureCoord10Ext = ((int)0X87a7),
-        OutputTextureCoord11Ext = ((int)0X87a8),
-        OutputTextureCoord12Ext = ((int)0X87a9),
-        OutputTextureCoord13Ext = ((int)0X87aa),
-        OutputTextureCoord14Ext = ((int)0X87ab),
-        OutputTextureCoord15Ext = ((int)0X87ac),
-        OutputTextureCoord16Ext = ((int)0X87ad),
-        OutputTextureCoord17Ext = ((int)0X87ae),
-        OutputTextureCoord18Ext = ((int)0X87af),
-        OutputTextureCoord19Ext = ((int)0X87b0),
-        OutputTextureCoord20Ext = ((int)0X87b1),
-        OutputTextureCoord21Ext = ((int)0X87b2),
-        OutputTextureCoord22Ext = ((int)0X87b3),
-        OutputTextureCoord23Ext = ((int)0X87b4),
-        OutputTextureCoord24Ext = ((int)0X87b5),
-        OutputTextureCoord25Ext = ((int)0X87b6),
-        OutputTextureCoord26Ext = ((int)0X87b7),
-        OutputTextureCoord27Ext = ((int)0X87b8),
-        OutputTextureCoord28Ext = ((int)0X87b9),
-        OutputTextureCoord29Ext = ((int)0X87ba),
-        OutputTextureCoord30Ext = ((int)0X87bb),
-        OutputTextureCoord31Ext = ((int)0X87bc),
-        OutputFogExt = ((int)0X87bd),
-        ScalarExt = ((int)0X87be),
-        VectorExt = ((int)0X87bf),
-        MatrixExt = ((int)0X87c0),
-        VariantExt = ((int)0X87c1),
-        InvariantExt = ((int)0X87c2),
-        LocalConstantExt = ((int)0X87c3),
-        LocalExt = ((int)0X87c4),
-        MaxVertexShaderInstructionsExt = ((int)0X87c5),
-        MaxVertexShaderVariantsExt = ((int)0X87c6),
-        MaxVertexShaderInvariantsExt = ((int)0X87c7),
-        MaxVertexShaderLocalConstantsExt = ((int)0X87c8),
-        MaxVertexShaderLocalsExt = ((int)0X87c9),
-        MaxOptimizedVertexShaderInstructionsExt = ((int)0X87ca),
-        MaxOptimizedVertexShaderVariantsExt = ((int)0X87cb),
-        MaxOptimizedVertexShaderLocalConstantsExt = ((int)0X87cc),
-        MaxOptimizedVertexShaderInvariantsExt = ((int)0X87cd),
-        MaxOptimizedVertexShaderLocalsExt = ((int)0X87ce),
-        VertexShaderInstructionsExt = ((int)0X87cf),
-        VertexShaderVariantsExt = ((int)0X87d0),
-        VertexShaderInvariantsExt = ((int)0X87d1),
-        VertexShaderLocalConstantsExt = ((int)0X87d2),
-        VertexShaderLocalsExt = ((int)0X87d3),
-        VertexShaderOptimizedExt = ((int)0X87d4),
-        XExt = ((int)0X87d5),
-        YExt = ((int)0X87d6),
-        ZExt = ((int)0X87d7),
-        WExt = ((int)0X87d8),
-        NegativeXExt = ((int)0X87d9),
-        NegativeYExt = ((int)0X87da),
-        NegativeZExt = ((int)0X87db),
-        NegativeWExt = ((int)0X87dc),
-        ZeroExt = ((int)0X87dd),
-        OneExt = ((int)0X87de),
-        NegativeOneExt = ((int)0X87df),
-        NormalizedRangeExt = ((int)0X87e0),
-        FullRangeExt = ((int)0X87e1),
-        CurrentVertexExt = ((int)0X87e2),
-        MvpMatrixExt = ((int)0X87e3),
-        VariantValueExt = ((int)0X87e4),
-        VariantDatatypeExt = ((int)0X87e5),
-        VariantArrayStrideExt = ((int)0X87e6),
-        VariantArrayTypeExt = ((int)0X87e7),
-        VariantArrayExt = ((int)0X87e8),
-        VariantArrayPointerExt = ((int)0X87e9),
-        InvariantValueExt = ((int)0X87ea),
-        InvariantDatatypeExt = ((int)0X87eb),
-        LocalConstantValueExt = ((int)0X87ec),
-        LocalConstantDatatypeExt = ((int)0X87ed),
-    }
-
-    public enum ExtVertexWeighting
-    {
-        Modelview0StackDepthExt = ((int)0X0ba3),
-        Modelview0MatrixExt = ((int)0X0ba6),
-        Modelview0Ext = ((int)0X1700),
-        Modelview1StackDepthExt = ((int)0X8502),
-        Modelview1MatrixExt = ((int)0X8506),
-        VertexWeightingExt = ((int)0X8509),
-        Modelview1Ext = ((int)0X850a),
-        CurrentVertexWeightExt = ((int)0X850b),
-        VertexWeightArrayExt = ((int)0X850c),
-        VertexWeightArraySizeExt = ((int)0X850d),
-        VertexWeightArrayTypeExt = ((int)0X850e),
-        VertexWeightArrayStrideExt = ((int)0X850f),
-        VertexWeightArrayPointerExt = ((int)0X8510),
-    }
-
-    public enum FeedBackToken
-    {
-        PassThroughToken = ((int)0X0700),
-        PointToken = ((int)0X0701),
-        LineToken = ((int)0X0702),
-        PolygonToken = ((int)0X0703),
-        BitmapToken = ((int)0X0704),
-        DrawPixelToken = ((int)0X0705),
-        CopyPixelToken = ((int)0X0706),
-        LineResetToken = ((int)0X0707),
-    }
-
-    public enum FeedbackType
-    {
-        Gl2D = ((int)0X0600),
-        Gl3D = ((int)0X0601),
-        Gl3DColor = ((int)0X0602),
-        Gl3DColorTexture = ((int)0X0603),
-        Gl4DColorTexture = ((int)0X0604),
-    }
-
-    [Flags]
-    public enum FfdMaskSgix
-    {
-        TextureDeformationBitSgix = ((int)0X00000001),
-        GeometryDeformationBitSgix = ((int)0X00000002),
-    }
-
-    public enum FfdTargetSgix
-    {
-        GeometryDeformationSgix = ((int)0X8194),
-        TextureDeformationSgix = ((int)0X8195),
-    }
-
-    public enum FogMode
-    {
-        Exp = ((int)0X0800),
-        Exp2 = ((int)0X0801),
-        Linear = ((int)0X2601),
-        FogFuncSgis = ((int)0X812a),
-        FogCoord = ((int)0X8451),
-        FragmentDepth = ((int)0X8452),
-    }
-
-    public enum FogParameter
-    {
-        FogIndex = ((int)0X0b61),
-        FogDensity = ((int)0X0b62),
-        FogStart = ((int)0X0b63),
-        FogEnd = ((int)0X0b64),
-        FogMode = ((int)0X0b65),
-        FogColor = ((int)0X0b66),
-        FogOffsetValueSgix = ((int)0X8199),
-        FogCoordSrc = ((int)0X8450),
-    }
-
-    public enum FogPointerType
-    {
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum FragmentLightModelParameterSgix
-    {
-        FragmentLightModelLocalViewerSgix = ((int)0X8408),
-        FragmentLightModelTwoSideSgix = ((int)0X8409),
-        FragmentLightModelAmbientSgix = ((int)0X840a),
-        FragmentLightModelNormalInterpolationSgix = ((int)0X840b),
-    }
-
-    public enum FramebufferAttachment
-    {
-        DepthStencilAttachment = ((int)0X821a),
-        ColorAttachment0 = ((int)0X8ce0),
-        ColorAttachment0Ext = ((int)0X8ce0),
-        ColorAttachment1 = ((int)0X8ce1),
-        ColorAttachment1Ext = ((int)0X8ce1),
-        ColorAttachment2 = ((int)0X8ce2),
-        ColorAttachment2Ext = ((int)0X8ce2),
-        ColorAttachment3 = ((int)0X8ce3),
-        ColorAttachment3Ext = ((int)0X8ce3),
-        ColorAttachment4 = ((int)0X8ce4),
-        ColorAttachment4Ext = ((int)0X8ce4),
-        ColorAttachment5 = ((int)0X8ce5),
-        ColorAttachment5Ext = ((int)0X8ce5),
-        ColorAttachment6 = ((int)0X8ce6),
-        ColorAttachment6Ext = ((int)0X8ce6),
-        ColorAttachment7 = ((int)0X8ce7),
-        ColorAttachment7Ext = ((int)0X8ce7),
-        ColorAttachment8 = ((int)0X8ce8),
-        ColorAttachment8Ext = ((int)0X8ce8),
-        ColorAttachment9 = ((int)0X8ce9),
-        ColorAttachment9Ext = ((int)0X8ce9),
-        ColorAttachment10 = ((int)0X8cea),
-        ColorAttachment10Ext = ((int)0X8cea),
-        ColorAttachment11 = ((int)0X8ceb),
-        ColorAttachment11Ext = ((int)0X8ceb),
-        ColorAttachment12 = ((int)0X8cec),
-        ColorAttachment12Ext = ((int)0X8cec),
-        ColorAttachment13 = ((int)0X8ced),
-        ColorAttachment13Ext = ((int)0X8ced),
-        ColorAttachment14 = ((int)0X8cee),
-        ColorAttachment14Ext = ((int)0X8cee),
-        ColorAttachment15 = ((int)0X8cef),
-        ColorAttachment15Ext = ((int)0X8cef),
-        DepthAttachmentExt = ((int)0X8d00),
-        DepthAttachment = ((int)0X8D00),
-        StencilAttachmentExt = ((int)0X8d20),
-        StencilAttachment = ((int)0X8D20),
-    }
-
-    public enum FramebufferAttachmentComponentType
-    {
-        Int = ((int)0X1404),
-        Float = ((int)0X1406),
-        UnsignedNormalized = ((int)0X8c17),
-    }
-
-    public enum FramebufferAttachmentObjectType
-    {
-        None = ((int)0),
-        Texture = ((int)0X1702),
-        FramebufferDefault = ((int)0X8218),
-        Renderbuffer = ((int)0X8D41),
-    }
-
-    public enum FramebufferErrorCode
-    {
-        FramebufferUndefined = ((int)0X8219),
-        FramebufferComplete = ((int)0X8cd5),
-        FramebufferCompleteExt = ((int)0X8cd5),
-        FramebufferIncompleteAttachment = ((int)0X8cd6),
-        FramebufferIncompleteAttachmentExt = ((int)0X8cd6),
-        FramebufferIncompleteMissingAttachment = ((int)0X8cd7),
-        FramebufferIncompleteMissingAttachmentExt = ((int)0X8cd7),
-        FramebufferIncompleteDimensionsExt = ((int)0X8cd9),
-        FramebufferIncompleteFormatsExt = ((int)0X8cda),
-        FramebufferIncompleteDrawBuffer = ((int)0X8cdb),
-        FramebufferIncompleteDrawBufferExt = ((int)0X8cdb),
-        FramebufferIncompleteReadBuffer = ((int)0X8cdc),
-        FramebufferIncompleteReadBufferExt = ((int)0X8cdc),
-        FramebufferUnsupported = ((int)0X8cdd),
-        FramebufferUnsupportedExt = ((int)0X8cdd),
-        FramebufferIncompleteMultisample = ((int)0X8D56),
-    }
-
-    public enum FramebufferParameterName
-    {
-        FramebufferAttachmentColorEncoding = ((int)0X8210),
-        FramebufferAttachmentComponentType = ((int)0X8211),
-        FramebufferAttachmentRedSize = ((int)0X8212),
-        FramebufferAttachmentGreenSize = ((int)0X8213),
-        FramebufferAttachmentBlueSize = ((int)0X8214),
-        FramebufferAttachmentAlphaSize = ((int)0X8215),
-        FramebufferAttachmentDepthSize = ((int)0X8216),
-        FramebufferAttachmentStencilSize = ((int)0X8217),
-        FramebufferAttachmentObjectType = ((int)0X8cd0),
-        FramebufferAttachmentObjectTypeExt = ((int)0X8cd0),
-        FramebufferAttachmentObjectName = ((int)0X8cd1),
-        FramebufferAttachmentObjectNameExt = ((int)0X8cd1),
-        FramebufferAttachmentTextureLevel = ((int)0X8cd2),
-        FramebufferAttachmentTextureLevelExt = ((int)0X8cd2),
-        FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3),
-        FramebufferAttachmentTextureCubeMapFaceExt = ((int)0X8cd3),
-        FramebufferAttachmentTexture3DZoffsetExt = ((int)0X8cd4),
-        FramebufferAttachmentTextureLayer = ((int)0X8cd4),
-    }
-
-    public enum FramebufferTarget
-    {
-        ReadFramebuffer = ((int)0X8ca8),
-        DrawFramebuffer = ((int)0X8ca9),
-        FramebufferExt = ((int)0X8d40),
-        Framebuffer = ((int)0X8D40),
-    }
-
-    public enum FrontFaceDirection
-    {
-        Cw = ((int)0X0900),
-        Ccw = ((int)0X0901),
-    }
-
-    public enum GenerateMipmapTarget
-    {
-        Texture1D = ((int)0X0de0),
-        Texture2D = ((int)0X0de1),
-        Texture3D = ((int)0X806f),
-        TextureCubeMap = ((int)0X8513),
-    }
-
-    public enum GetColorTableParameterPName
-    {
-    }
-
-    public enum GetColorTableParameterPNameSgi
-    {
-        ColorTableScaleSgi = ((int)0X80D6),
-        ColorTableBiasSgi = ((int)0X80D7),
-        ColorTableFormatSgi = ((int)0X80D8),
-        ColorTableWidthSgi = ((int)0X80D9),
-        ColorTableRedSizeSgi = ((int)0X80Da),
-        ColorTableGreenSizeSgi = ((int)0X80Db),
-        ColorTableBlueSizeSgi = ((int)0X80Dc),
-        ColorTableAlphaSizeSgi = ((int)0X80Dd),
-        ColorTableLuminanceSizeSgi = ((int)0X80De),
-        ColorTableIntensitySizeSgi = ((int)0X80Df),
-    }
-
-    public enum GetConvolutionParameter
-    {
-        ConvolutionBorderModeExt = ((int)0X8013),
-        ConvolutionFilterScaleExt = ((int)0X8014),
-        ConvolutionFilterBiasExt = ((int)0X8015),
-        ConvolutionFormatExt = ((int)0X8017),
-        ConvolutionWidthExt = ((int)0X8018),
-        ConvolutionHeightExt = ((int)0X8019),
-        MaxConvolutionWidthExt = ((int)0X801a),
-        MaxConvolutionHeightExt = ((int)0X801b),
-    }
-
-    public enum GetHistogramParameterPNameExt
-    {
-        HistogramWidthExt = ((int)0X8026),
-        HistogramFormatExt = ((int)0X8027),
-        HistogramRedSizeExt = ((int)0X8028),
-        HistogramGreenSizeExt = ((int)0X8029),
-        HistogramBlueSizeExt = ((int)0X802a),
-        HistogramAlphaSizeExt = ((int)0X802b),
-        HistogramLuminanceSizeExt = ((int)0X802c),
-        HistogramSinkExt = ((int)0X802D),
-    }
-
-    public enum GetIndexedPName
-    {
-        UniformBufferBinding = ((int)0X8a28),
-        UniformBufferStart = ((int)0X8a29),
-        UniformBufferSize = ((int)0X8a2a),
-        TransformFeedbackBufferStart = ((int)0X8c84),
-        TransformFeedbackBufferSize = ((int)0X8c85),
-        TransformFeedbackBufferBinding = ((int)0X8c8f),
-    }
-
-    public enum GetMapQuery
-    {
-        Coeff = ((int)0X0a00),
-        Order = ((int)0X0a01),
-        Domain = ((int)0X0a02),
-    }
-
-    public enum GetMinmaxParameterPNameExt
-    {
-        MinmaxFormatExt = ((int)0X802f),
-        MinmaxSinkExt = ((int)0X8030),
-    }
-
-    public enum GetPixelMap
-    {
-        PixelMapIToI = ((int)0X0c70),
-        PixelMapSToS = ((int)0X0c71),
-        PixelMapIToR = ((int)0X0c72),
-        PixelMapIToG = ((int)0X0c73),
-        PixelMapIToB = ((int)0X0c74),
-        PixelMapIToA = ((int)0X0c75),
-        PixelMapRToR = ((int)0X0c76),
-        PixelMapGToG = ((int)0X0c77),
-        PixelMapBToB = ((int)0X0c78),
-        PixelMapAToA = ((int)0X0c79),
-    }
-
-    public enum GetPName
-    {
-        CurrentColor = ((int)0X0b00),
-        CurrentIndex = ((int)0X0b01),
-        CurrentNormal = ((int)0X0b02),
-        CurrentTextureCoords = ((int)0X0b03),
-        CurrentRasterColor = ((int)0X0b04),
-        CurrentRasterIndex = ((int)0X0b05),
-        CurrentRasterTextureCoords = ((int)0X0b06),
-        CurrentRasterPosition = ((int)0X0b07),
-        CurrentRasterPositionValid = ((int)0X0b08),
-        CurrentRasterDistance = ((int)0X0b09),
-        PointSmooth = ((int)0X0b10),
-        PointSize = ((int)0X0b11),
-        PointSizeRange = ((int)0X0b12),
-        SmoothPointSizeRange = ((int)0X0b12),
-        PointSizeGranularity = ((int)0X0b13),
-        SmoothPointSizeGranularity = ((int)0X0b13),
-        LineSmooth = ((int)0X0b20),
-        LineWidth = ((int)0X0b21),
-        LineWidthRange = ((int)0X0b22),
-        SmoothLineWidthRange = ((int)0X0b22),
-        LineWidthGranularity = ((int)0X0b23),
-        SmoothLineWidthGranularity = ((int)0X0b23),
-        LineStipple = ((int)0X0b24),
-        LineStipplePattern = ((int)0X0b25),
-        LineStippleRepeat = ((int)0X0b26),
-        ListMode = ((int)0X0b30),
-        MaxListNesting = ((int)0X0b31),
-        ListBase = ((int)0X0b32),
-        ListIndex = ((int)0X0b33),
-        PolygonMode = ((int)0X0b40),
-        PolygonSmooth = ((int)0X0b41),
-        PolygonStipple = ((int)0X0b42),
-        EdgeFlag = ((int)0X0b43),
-        CullFace = ((int)0X0b44),
-        CullFaceMode = ((int)0X0b45),
-        FrontFace = ((int)0X0b46),
-        Lighting = ((int)0X0b50),
-        LightModelLocalViewer = ((int)0X0b51),
-        LightModelTwoSide = ((int)0X0b52),
-        LightModelAmbient = ((int)0X0b53),
-        ShadeModel = ((int)0X0b54),
-        ColorMaterialFace = ((int)0X0b55),
-        ColorMaterialParameter = ((int)0X0b56),
-        ColorMaterial = ((int)0X0b57),
-        Fog = ((int)0X0b60),
-        FogIndex = ((int)0X0b61),
-        FogDensity = ((int)0X0b62),
-        FogStart = ((int)0X0b63),
-        FogEnd = ((int)0X0b64),
-        FogMode = ((int)0X0b65),
-        FogColor = ((int)0X0b66),
-        DepthRange = ((int)0X0b70),
-        DepthTest = ((int)0X0b71),
-        DepthWritemask = ((int)0X0b72),
-        DepthClearValue = ((int)0X0b73),
-        DepthFunc = ((int)0X0b74),
-        AccumClearValue = ((int)0X0b80),
-        StencilTest = ((int)0X0b90),
-        StencilClearValue = ((int)0X0b91),
-        StencilFunc = ((int)0X0b92),
-        StencilValueMask = ((int)0X0b93),
-        StencilFail = ((int)0X0b94),
-        StencilPassDepthFail = ((int)0X0b95),
-        StencilPassDepthPass = ((int)0X0b96),
-        StencilRef = ((int)0X0b97),
-        StencilWritemask = ((int)0X0b98),
-        MatrixMode = ((int)0X0ba0),
-        Normalize = ((int)0X0ba1),
-        Viewport = ((int)0X0ba2),
-        ModelviewStackDepth = ((int)0X0ba3),
-        ProjectionStackDepth = ((int)0X0ba4),
-        TextureStackDepth = ((int)0X0ba5),
-        ModelviewMatrix = ((int)0X0ba6),
-        ProjectionMatrix = ((int)0X0ba7),
-        TextureMatrix = ((int)0X0ba8),
-        AttribStackDepth = ((int)0X0bb0),
-        ClientAttribStackDepth = ((int)0X0bb1),
-        AlphaTest = ((int)0X0bc0),
-        AlphaTestFunc = ((int)0X0bc1),
-        AlphaTestRef = ((int)0X0bc2),
-        Dither = ((int)0X0bd0),
-        BlendDst = ((int)0X0be0),
-        BlendSrc = ((int)0X0be1),
-        Blend = ((int)0X0be2),
-        LogicOpMode = ((int)0X0bf0),
-        IndexLogicOp = ((int)0X0bf1),
-        LogicOp = ((int)0X0bf1),
-        ColorLogicOp = ((int)0X0bf2),
-        AuxBuffers = ((int)0X0c00),
-        DrawBuffer = ((int)0X0c01),
-        ReadBuffer = ((int)0X0c02),
-        ScissorBox = ((int)0X0c10),
-        ScissorTest = ((int)0X0c11),
-        IndexClearValue = ((int)0X0c20),
-        IndexWritemask = ((int)0X0c21),
-        ColorClearValue = ((int)0X0c22),
-        ColorWritemask = ((int)0X0c23),
-        IndexMode = ((int)0X0c30),
-        RgbaMode = ((int)0X0c31),
-        Doublebuffer = ((int)0X0c32),
-        Stereo = ((int)0X0c33),
-        RenderMode = ((int)0X0c40),
-        PerspectiveCorrectionHint = ((int)0X0c50),
-        PointSmoothHint = ((int)0X0c51),
-        LineSmoothHint = ((int)0X0c52),
-        PolygonSmoothHint = ((int)0X0c53),
-        FogHint = ((int)0X0c54),
-        TextureGenS = ((int)0X0c60),
-        TextureGenT = ((int)0X0c61),
-        TextureGenR = ((int)0X0c62),
-        TextureGenQ = ((int)0X0c63),
-        PixelMapIToISize = ((int)0X0cb0),
-        PixelMapSToSSize = ((int)0X0cb1),
-        PixelMapIToRSize = ((int)0X0cb2),
-        PixelMapIToGSize = ((int)0X0cb3),
-        PixelMapIToBSize = ((int)0X0cb4),
-        PixelMapIToASize = ((int)0X0cb5),
-        PixelMapRToRSize = ((int)0X0cb6),
-        PixelMapGToGSize = ((int)0X0cb7),
-        PixelMapBToBSize = ((int)0X0cb8),
-        PixelMapAToASize = ((int)0X0cb9),
-        UnpackSwapBytes = ((int)0X0cf0),
-        UnpackLsbFirst = ((int)0X0cf1),
-        UnpackRowLength = ((int)0X0cf2),
-        UnpackSkipRows = ((int)0X0cf3),
-        UnpackSkipPixels = ((int)0X0cf4),
-        UnpackAlignment = ((int)0X0cf5),
-        PackSwapBytes = ((int)0X0d00),
-        PackLsbFirst = ((int)0X0d01),
-        PackRowLength = ((int)0X0d02),
-        PackSkipRows = ((int)0X0d03),
-        PackSkipPixels = ((int)0X0d04),
-        PackAlignment = ((int)0X0d05),
-        MapColor = ((int)0X0d10),
-        MapStencil = ((int)0X0d11),
-        IndexShift = ((int)0X0d12),
-        IndexOffset = ((int)0X0d13),
-        RedScale = ((int)0X0d14),
-        RedBias = ((int)0X0d15),
-        ZoomX = ((int)0X0d16),
-        ZoomY = ((int)0X0d17),
-        GreenScale = ((int)0X0d18),
-        GreenBias = ((int)0X0d19),
-        BlueScale = ((int)0X0d1a),
-        BlueBias = ((int)0X0d1b),
-        AlphaScale = ((int)0X0d1c),
-        AlphaBias = ((int)0X0d1d),
-        DepthScale = ((int)0X0d1e),
-        DepthBias = ((int)0X0d1f),
-        MaxEvalOrder = ((int)0X0d30),
-        MaxLights = ((int)0X0d31),
-        MaxClipPlanes = ((int)0X0d32),
-        MaxTextureSize = ((int)0X0d33),
-        MaxPixelMapTable = ((int)0X0d34),
-        MaxAttribStackDepth = ((int)0X0d35),
-        MaxModelviewStackDepth = ((int)0X0d36),
-        MaxNameStackDepth = ((int)0X0d37),
-        MaxProjectionStackDepth = ((int)0X0d38),
-        MaxTextureStackDepth = ((int)0X0d39),
-        MaxViewportDims = ((int)0X0d3a),
-        MaxClientAttribStackDepth = ((int)0X0d3b),
-        SubpixelBits = ((int)0X0d50),
-        IndexBits = ((int)0X0d51),
-        RedBits = ((int)0X0d52),
-        GreenBits = ((int)0X0d53),
-        BlueBits = ((int)0X0d54),
-        AlphaBits = ((int)0X0d55),
-        DepthBits = ((int)0X0d56),
-        StencilBits = ((int)0X0d57),
-        AccumRedBits = ((int)0X0d58),
-        AccumGreenBits = ((int)0X0d59),
-        AccumBlueBits = ((int)0X0d5a),
-        AccumAlphaBits = ((int)0X0d5b),
-        NameStackDepth = ((int)0X0d70),
-        AutoNormal = ((int)0X0d80),
-        Map1Color4 = ((int)0X0d90),
-        Map1Index = ((int)0X0d91),
-        Map1Normal = ((int)0X0d92),
-        Map1TextureCoord1 = ((int)0X0d93),
-        Map1TextureCoord2 = ((int)0X0d94),
-        Map1TextureCoord3 = ((int)0X0d95),
-        Map1TextureCoord4 = ((int)0X0d96),
-        Map1Vertex3 = ((int)0X0d97),
-        Map1Vertex4 = ((int)0X0d98),
-        Map2Color4 = ((int)0X0db0),
-        Map2Index = ((int)0X0db1),
-        Map2Normal = ((int)0X0db2),
-        Map2TextureCoord1 = ((int)0X0db3),
-        Map2TextureCoord2 = ((int)0X0db4),
-        Map2TextureCoord3 = ((int)0X0db5),
-        Map2TextureCoord4 = ((int)0X0db6),
-        Map2Vertex3 = ((int)0X0db7),
-        Map2Vertex4 = ((int)0X0db8),
-        Map1GridDomain = ((int)0X0dd0),
-        Map1GridSegments = ((int)0X0dd1),
-        Map2GridDomain = ((int)0X0dd2),
-        Map2GridSegments = ((int)0X0dd3),
-        Texture1D = ((int)0X0de0),
-        Texture2D = ((int)0X0de1),
-        FeedbackBufferSize = ((int)0X0df1),
-        FeedbackBufferType = ((int)0X0df2),
-        SelectionBufferSize = ((int)0X0df4),
-        PolygonOffsetUnits = ((int)0X2a00),
-        PolygonOffsetPoint = ((int)0X2a01),
-        PolygonOffsetLine = ((int)0X2a02),
-        ClipPlane0 = ((int)0X3000),
-        ClipPlane1 = ((int)0X3001),
-        ClipPlane2 = ((int)0X3002),
-        ClipPlane3 = ((int)0X3003),
-        ClipPlane4 = ((int)0X3004),
-        ClipPlane5 = ((int)0X3005),
-        Light0 = ((int)0X4000),
-        Light1 = ((int)0X4001),
-        Light2 = ((int)0X4002),
-        Light3 = ((int)0X4003),
-        Light4 = ((int)0X4004),
-        Light5 = ((int)0X4005),
-        Light6 = ((int)0X4006),
-        Light7 = ((int)0X4007),
-        BlendColorExt = ((int)0X8005),
-        BlendEquationExt = ((int)0X8009),
-        BlendEquationRgb = ((int)0X8009),
-        PackCmykHintExt = ((int)0X800e),
-        UnpackCmykHintExt = ((int)0X800f),
-        Convolution1DExt = ((int)0X8010),
-        Convolution2DExt = ((int)0X8011),
-        Separable2DExt = ((int)0X8012),
-        PostConvolutionRedScaleExt = ((int)0X801c),
-        PostConvolutionGreenScaleExt = ((int)0X801D),
-        PostConvolutionBlueScaleExt = ((int)0X801e),
-        PostConvolutionAlphaScaleExt = ((int)0X801f),
-        PostConvolutionRedBiasExt = ((int)0X8020),
-        PostConvolutionGreenBiasExt = ((int)0X8021),
-        PostConvolutionBlueBiasExt = ((int)0X8022),
-        PostConvolutionAlphaBiasExt = ((int)0X8023),
-        HistogramExt = ((int)0X8024),
-        MinmaxExt = ((int)0X802e),
-        PolygonOffsetFill = ((int)0X8037),
-        PolygonOffsetFactor = ((int)0X8038),
-        PolygonOffsetBiasExt = ((int)0X8039),
-        RescaleNormalExt = ((int)0X803a),
-        TextureBinding1D = ((int)0X8068),
-        TextureBinding2D = ((int)0X8069),
-        Texture3DBindingExt = ((int)0X806a),
-        TextureBinding3D = ((int)0X806a),
-        PackSkipImagesExt = ((int)0X806b),
-        PackImageHeightExt = ((int)0X806c),
-        UnpackSkipImagesExt = ((int)0X806D),
-        UnpackImageHeightExt = ((int)0X806e),
-        Texture3DExt = ((int)0X806f),
-        Max3DTextureSize = ((int)0X8073),
-        Max3DTextureSizeExt = ((int)0X8073),
-        VertexArray = ((int)0X8074),
-        NormalArray = ((int)0X8075),
-        ColorArray = ((int)0X8076),
-        IndexArray = ((int)0X8077),
-        TextureCoordArray = ((int)0X8078),
-        EdgeFlagArray = ((int)0X8079),
-        VertexArraySize = ((int)0X807a),
-        VertexArrayType = ((int)0X807b),
-        VertexArrayStride = ((int)0X807c),
-        VertexArrayCountExt = ((int)0X807D),
-        NormalArrayType = ((int)0X807e),
-        NormalArrayStride = ((int)0X807f),
-        NormalArrayCountExt = ((int)0X8080),
-        ColorArraySize = ((int)0X8081),
-        ColorArrayType = ((int)0X8082),
-        ColorArrayStride = ((int)0X8083),
-        ColorArrayCountExt = ((int)0X8084),
-        IndexArrayType = ((int)0X8085),
-        IndexArrayStride = ((int)0X8086),
-        IndexArrayCountExt = ((int)0X8087),
-        TextureCoordArraySize = ((int)0X8088),
-        TextureCoordArrayType = ((int)0X8089),
-        TextureCoordArrayStride = ((int)0X808a),
-        TextureCoordArrayCountExt = ((int)0X808b),
-        EdgeFlagArrayStride = ((int)0X808c),
-        EdgeFlagArrayCountExt = ((int)0X808D),
-        InterlaceSgix = ((int)0X8094),
-        DetailTexture2DBindingSgis = ((int)0X8096),
-        Multisample = ((int)0X809d),
-        MultisampleSgis = ((int)0X809D),
-        SampleAlphaToCoverage = ((int)0X809e),
-        SampleAlphaToMaskSgis = ((int)0X809e),
-        SampleAlphaToOne = ((int)0X809f),
-        SampleAlphaToOneSgis = ((int)0X809f),
-        SampleCoverage = ((int)0X80a0),
-        SampleMaskSgis = ((int)0X80a0),
-        SampleBuffers = ((int)0X80a8),
-        SampleBuffersSgis = ((int)0X80a8),
-        Samples = ((int)0X80a9),
-        SamplesSgis = ((int)0X80a9),
-        SampleCoverageValue = ((int)0X80aa),
-        SampleMaskValueSgis = ((int)0X80aa),
-        SampleCoverageInvert = ((int)0X80ab),
-        SampleMaskInvertSgis = ((int)0X80ab),
-        SamplePatternSgis = ((int)0X80ac),
-        ColorMatrixSgi = ((int)0X80b1),
-        ColorMatrixStackDepthSgi = ((int)0X80b2),
-        MaxColorMatrixStackDepthSgi = ((int)0X80b3),
-        PostColorMatrixRedScaleSgi = ((int)0X80b4),
-        PostColorMatrixGreenScaleSgi = ((int)0X80b5),
-        PostColorMatrixBlueScaleSgi = ((int)0X80b6),
-        PostColorMatrixAlphaScaleSgi = ((int)0X80b7),
-        PostColorMatrixRedBiasSgi = ((int)0X80b8),
-        PostColorMatrixGreenBiasSgi = ((int)0X80b9),
-        PostColorMatrixBlueBiasSgi = ((int)0X80ba),
-        PostColorMatrixAlphaBiasSgi = ((int)0X80bb),
-        TextureColorTableSgi = ((int)0X80bc),
-        BlendDstRgb = ((int)0X80c8),
-        BlendSrcRgb = ((int)0X80c9),
-        BlendDstAlpha = ((int)0X80ca),
-        BlendSrcAlpha = ((int)0X80cb),
-        ColorTableSgi = ((int)0X80D0),
-        PostConvolutionColorTableSgi = ((int)0X80D1),
-        PostColorMatrixColorTableSgi = ((int)0X80D2),
-        MaxElementsVertices = ((int)0X80e8),
-        MaxElementsIndices = ((int)0X80e9),
-        PointSizeMin = ((int)0X8126),
-        PointSizeMinSgis = ((int)0X8126),
-        PointSizeMax = ((int)0X8127),
-        PointSizeMaxSgis = ((int)0X8127),
-        PointFadeThresholdSize = ((int)0X8128),
-        PointFadeThresholdSizeSgis = ((int)0X8128),
-        DistanceAttenuationSgis = ((int)0X8129),
-        PointDistanceAttenuation = ((int)0X8129),
-        FogFuncPointsSgis = ((int)0X812b),
-        MaxFogFuncPointsSgis = ((int)0X812c),
-        PackSkipVolumesSgis = ((int)0X8130),
-        PackImageDepthSgis = ((int)0X8131),
-        UnpackSkipVolumesSgis = ((int)0X8132),
-        UnpackImageDepthSgis = ((int)0X8133),
-        Texture4DSgis = ((int)0X8134),
-        Max4DTextureSizeSgis = ((int)0X8138),
-        PixelTexGenSgix = ((int)0X8139),
-        PixelTileBestAlignmentSgix = ((int)0X813e),
-        PixelTileCacheIncrementSgix = ((int)0X813f),
-        PixelTileWidthSgix = ((int)0X8140),
-        PixelTileHeightSgix = ((int)0X8141),
-        PixelTileGridWidthSgix = ((int)0X8142),
-        PixelTileGridHeightSgix = ((int)0X8143),
-        PixelTileGridDepthSgix = ((int)0X8144),
-        PixelTileCacheSizeSgix = ((int)0X8145),
-        SpriteSgix = ((int)0X8148),
-        SpriteModeSgix = ((int)0X8149),
-        SpriteAxisSgix = ((int)0X814a),
-        SpriteTranslationSgix = ((int)0X814b),
-        Texture4DBindingSgis = ((int)0X814f),
-        MaxClipmapDepthSgix = ((int)0X8177),
-        MaxClipmapVirtualDepthSgix = ((int)0X8178),
-        PostTextureFilterBiasRangeSgix = ((int)0X817b),
-        PostTextureFilterScaleRangeSgix = ((int)0X817c),
-        ReferencePlaneSgix = ((int)0X817D),
-        ReferencePlaneEquationSgix = ((int)0X817e),
-        IrInstrument1Sgix = ((int)0X817f),
-        InstrumentMeasurementsSgix = ((int)0X8181),
-        CalligraphicFragmentSgix = ((int)0X8183),
-        FramezoomSgix = ((int)0X818b),
-        FramezoomFactorSgix = ((int)0X818c),
-        MaxFramezoomFactorSgix = ((int)0X818D),
-        GenerateMipmapHint = ((int)0X8192),
-        GenerateMipmapHintSgis = ((int)0X8192),
-        DeformationsMaskSgix = ((int)0X8196),
-        FogOffsetSgix = ((int)0X8198),
-        FogOffsetValueSgix = ((int)0X8199),
-        LightModelColorControl = ((int)0X81f8),
-        SharedTexturePaletteExt = ((int)0X81fb),
-        MajorVersion = ((int)0X821b),
-        MinorVersion = ((int)0X821c),
-        NumExtensions = ((int)0X821d),
-        ContextFlags = ((int)0X821e),
-        ConvolutionHintSgix = ((int)0X8316),
-        AsyncMarkerSgix = ((int)0X8329),
-        PixelTexGenModeSgix = ((int)0X832b),
-        AsyncHistogramSgix = ((int)0X832c),
-        MaxAsyncHistogramSgix = ((int)0X832D),
-        PixelTextureSgis = ((int)0X8353),
-        AsyncTexImageSgix = ((int)0X835c),
-        AsyncDrawPixelsSgix = ((int)0X835D),
-        AsyncReadPixelsSgix = ((int)0X835e),
-        MaxAsyncTexImageSgix = ((int)0X835f),
-        MaxAsyncDrawPixelsSgix = ((int)0X8360),
-        MaxAsyncReadPixelsSgix = ((int)0X8361),
-        VertexPreclipSgix = ((int)0X83ee),
-        VertexPreclipHintSgix = ((int)0X83ef),
-        FragmentLightingSgix = ((int)0X8400),
-        FragmentColorMaterialSgix = ((int)0X8401),
-        FragmentColorMaterialFaceSgix = ((int)0X8402),
-        FragmentColorMaterialParameterSgix = ((int)0X8403),
-        MaxFragmentLightsSgix = ((int)0X8404),
-        MaxActiveLightsSgix = ((int)0X8405),
-        LightEnvModeSgix = ((int)0X8407),
-        FragmentLightModelLocalViewerSgix = ((int)0X8408),
-        FragmentLightModelTwoSideSgix = ((int)0X8409),
-        FragmentLightModelAmbientSgix = ((int)0X840a),
-        FragmentLightModelNormalInterpolationSgix = ((int)0X840b),
-        FragmentLight0Sgix = ((int)0X840c),
-        PackResampleSgix = ((int)0X842c),
-        UnpackResampleSgix = ((int)0X842D),
-        CurrentFogCoord = ((int)0X8453),
-        FogCoordArrayType = ((int)0X8454),
-        FogCoordArrayStride = ((int)0X8455),
-        ColorSum = ((int)0X8458),
-        CurrentSecondaryColor = ((int)0X8459),
-        SecondaryColorArraySize = ((int)0X845a),
-        SecondaryColorArrayType = ((int)0X845b),
-        SecondaryColorArrayStride = ((int)0X845c),
-        CurrentRasterSecondaryColor = ((int)0X845f),
-        AliasedPointSizeRange = ((int)0X846d),
-        AliasedLineWidthRange = ((int)0X846e),
-        ActiveTexture = ((int)0X84e0),
-        ClientActiveTexture = ((int)0X84e1),
-        MaxTextureUnits = ((int)0X84e2),
-        TransposeModelviewMatrix = ((int)0X84e3),
-        TransposeProjectionMatrix = ((int)0X84e4),
-        TransposeTextureMatrix = ((int)0X84e5),
-        TransposeColorMatrix = ((int)0X84e6),
-        MaxRenderbufferSize = ((int)0X84e8),
-        MaxRenderbufferSizeExt = ((int)0X84e8),
-        TextureCompressionHint = ((int)0X84ef),
-        MaxTextureLodBias = ((int)0X84fd),
-        TextureCubeMap = ((int)0X8513),
-        TextureBindingCubeMap = ((int)0X8514),
-        MaxCubeMapTextureSize = ((int)0X851c),
-        PackSubsampleRateSgix = ((int)0X85a0),
-        UnpackSubsampleRateSgix = ((int)0X85a1),
-        VertexArrayBinding = ((int)0X85b5),
-        NumCompressedTextureFormats = ((int)0X86a2),
-        CompressedTextureFormats = ((int)0X86a3),
-        StencilBackFunc = ((int)0X8800),
-        StencilBackFail = ((int)0X8801),
-        StencilBackPassDepthFail = ((int)0X8802),
-        StencilBackPassDepthPass = ((int)0X8803),
-        RgbaFloatMode = ((int)0X8820),
-        MaxDrawBuffers = ((int)0X8824),
-        DrawBuffer0 = ((int)0X8825),
-        DrawBuffer1 = ((int)0X8826),
-        DrawBuffer2 = ((int)0X8827),
-        DrawBuffer3 = ((int)0X8828),
-        DrawBuffer4 = ((int)0X8829),
-        DrawBuffer5 = ((int)0X882a),
-        DrawBuffer6 = ((int)0X882b),
-        DrawBuffer7 = ((int)0X882c),
-        DrawBuffer8 = ((int)0X882d),
-        DrawBuffer9 = ((int)0X882e),
-        DrawBuffer10 = ((int)0X882f),
-        DrawBuffer11 = ((int)0X8830),
-        DrawBuffer12 = ((int)0X8831),
-        DrawBuffer13 = ((int)0X8832),
-        DrawBuffer14 = ((int)0X8833),
-        DrawBuffer15 = ((int)0X8834),
-        BlendEquationAlpha = ((int)0X883d),
-        PointSprite = ((int)0X8861),
-        MaxVertexAttribs = ((int)0X8869),
-        MaxTextureCoords = ((int)0X8871),
-        MaxTextureImageUnits = ((int)0X8872),
-        ArrayBufferBinding = ((int)0X8894),
-        ElementArrayBufferBinding = ((int)0X8895),
-        VertexArrayBufferBinding = ((int)0X8896),
-        NormalArrayBufferBinding = ((int)0X8897),
-        ColorArrayBufferBinding = ((int)0X8898),
-        IndexArrayBufferBinding = ((int)0X8899),
-        TextureCoordArrayBufferBinding = ((int)0X889a),
-        EdgeFlagArrayBufferBinding = ((int)0X889b),
-        SecondaryColorArrayBufferBinding = ((int)0X889c),
-        FogCoordArrayBufferBinding = ((int)0X889d),
-        WeightArrayBufferBinding = ((int)0X889e),
-        VertexAttribArrayBufferBinding = ((int)0X889f),
-        PixelPackBufferBinding = ((int)0X88ed),
-        PixelUnpackBufferBinding = ((int)0X88ef),
-        MaxArrayTextureLayers = ((int)0X88ff),
-        MinProgramTexelOffset = ((int)0X8904),
-        MaxProgramTexelOffset = ((int)0X8905),
-        ClampVertexColor = ((int)0X891a),
-        ClampFragmentColor = ((int)0X891b),
-        ClampReadColor = ((int)0X891c),
-        MaxVertexUniformBlocks = ((int)0X8a2b),
-        MaxGeometryUniformBlocks = ((int)0X8a2c),
-        MaxFragmentUniformBlocks = ((int)0X8a2D),
-        MaxCombinedUniformBlocks = ((int)0X8a2e),
-        MaxUniformBufferBindings = ((int)0X8a2f),
-        MaxUniformBlockSize = ((int)0X8a30),
-        MaxCombinedVertexUniformComponents = ((int)0X8a31),
-        MaxCombinedGeometryUniformComponents = ((int)0X8a32),
-        MaxCombinedFragmentUniformComponents = ((int)0X8a33),
-        UniformBufferOffsetAlignment = ((int)0X8a34),
-        MaxFragmentUniformComponents = ((int)0X8b49),
-        MaxVertexUniformComponents = ((int)0X8b4a),
-        MaxVaryingFloats = ((int)0X8b4b),
-        MaxVertexTextureImageUnits = ((int)0X8b4c),
-        MaxCombinedTextureImageUnits = ((int)0X8b4d),
-        FragmentShaderDerivativeHint = ((int)0X8b8b),
-        CurrentProgram = ((int)0X8b8d),
-        TextureBinding1DArray = ((int)0X8c1c),
-        TextureBinding2DArray = ((int)0X8c1d),
-        MaxTransformFeedbackSeparateComponents = ((int)0X8c80),
-        MaxTransformFeedbackInterleavedComponents = ((int)0X8c8a),
-        MaxTransformFeedbackSeparateAttribs = ((int)0X8c8b),
-        StencilBackRef = ((int)0X8ca3),
-        StencilBackValueMask = ((int)0X8ca4),
-        StencilBackWritemask = ((int)0X8ca5),
-        DrawFramebufferBinding = ((int)0X8ca6),
-        FramebufferBinding = ((int)0X8ca6),
-        FramebufferBindingExt = ((int)0X8ca6),
-        RenderbufferBinding = ((int)0X8ca7),
-        RenderbufferBindingExt = ((int)0X8ca7),
-        ReadFramebufferBinding = ((int)0X8caa),
-        MaxColorAttachments = ((int)0X8cdf),
-        MaxColorAttachmentsExt = ((int)0X8cdf),
-        MaxSamples = ((int)0X8D57),
-        FramebufferSrgb = ((int)0X8Db9),
-    }
-
-    public enum GetPointervPName
-    {
-        FeedbackBufferPointer = ((int)0X0df0),
-        SelectionBufferPointer = ((int)0X0df3),
-        VertexArrayPointer = ((int)0X808e),
-        NormalArrayPointer = ((int)0X808f),
-        ColorArrayPointer = ((int)0X8090),
-        IndexArrayPointer = ((int)0X8091),
-        TextureCoordArrayPointer = ((int)0X8092),
-        EdgeFlagArrayPointer = ((int)0X8093),
-        InstrumentBufferPointerSgix = ((int)0X8180),
-        FogCoordArrayPointer = ((int)0X8456),
-        SecondaryColorArrayPointer = ((int)0X845d),
-    }
-
-    public enum GetQueryObjectParam
-    {
-        QueryResult = ((int)0X8866),
-        QueryResultAvailable = ((int)0X8867),
-    }
-
-    public enum GetQueryParam
-    {
-        QueryCounterBits = ((int)0X8864),
-        CurrentQuery = ((int)0X8865),
-    }
-
-    public enum GetTextureParameter
-    {
-        TextureWidth = ((int)0X1000),
-        TextureHeight = ((int)0X1001),
-        TextureComponents = ((int)0X1003),
-        TextureInternalFormat = ((int)0X1003),
-        TextureBorderColor = ((int)0X1004),
-        TextureBorder = ((int)0X1005),
-        TextureMagFilter = ((int)0X2800),
-        TextureMinFilter = ((int)0X2801),
-        TextureWrapS = ((int)0X2802),
-        TextureWrapT = ((int)0X2803),
-        TextureRedSize = ((int)0X805c),
-        TextureGreenSize = ((int)0X805d),
-        TextureBlueSize = ((int)0X805e),
-        TextureAlphaSize = ((int)0X805f),
-        TextureLuminanceSize = ((int)0X8060),
-        TextureIntensitySize = ((int)0X8061),
-        TexturePriority = ((int)0X8066),
-        TextureResident = ((int)0X8067),
-        TextureDepth = ((int)0X8071),
-        TextureDepthExt = ((int)0X8071),
-        TextureWrapR = ((int)0X8072),
-        TextureWrapRExt = ((int)0X8072),
-        DetailTextureLevelSgis = ((int)0X809a),
-        DetailTextureModeSgis = ((int)0X809b),
-        DetailTextureFuncPointsSgis = ((int)0X809c),
-        SharpenTextureFuncPointsSgis = ((int)0X80b0),
-        ShadowAmbientSgix = ((int)0X80bf),
-        DualTextureSelectSgis = ((int)0X8124),
-        QuadTextureSelectSgis = ((int)0X8125),
-        Texture4DsizeSgis = ((int)0X8136),
-        TextureWrapQSgis = ((int)0X8137),
-        TextureMinLod = ((int)0X813a),
-        TextureMinLodSgis = ((int)0X813a),
-        TextureMaxLod = ((int)0X813b),
-        TextureMaxLodSgis = ((int)0X813b),
-        TextureBaseLevel = ((int)0X813c),
-        TextureBaseLevelSgis = ((int)0X813c),
-        TextureMaxLevel = ((int)0X813d),
-        TextureMaxLevelSgis = ((int)0X813D),
-        TextureFilter4SizeSgis = ((int)0X8147),
-        TextureClipmapCenterSgix = ((int)0X8171),
-        TextureClipmapFrameSgix = ((int)0X8172),
-        TextureClipmapOffsetSgix = ((int)0X8173),
-        TextureClipmapVirtualDepthSgix = ((int)0X8174),
-        TextureClipmapLodOffsetSgix = ((int)0X8175),
-        TextureClipmapDepthSgix = ((int)0X8176),
-        PostTextureFilterBiasSgix = ((int)0X8179),
-        PostTextureFilterScaleSgix = ((int)0X817a),
-        TextureLodBiasSSgix = ((int)0X818e),
-        TextureLodBiasTSgix = ((int)0X818f),
-        TextureLodBiasRSgix = ((int)0X8190),
-        GenerateMipmap = ((int)0X8191),
-        GenerateMipmapSgis = ((int)0X8191),
-        TextureCompareSgix = ((int)0X819a),
-        TextureCompareOperatorSgix = ((int)0X819b),
-        TextureLequalRSgix = ((int)0X819c),
-        TextureGequalRSgix = ((int)0X819D),
-        TextureMaxClampSSgix = ((int)0X8369),
-        TextureMaxClampTSgix = ((int)0X836a),
-        TextureMaxClampRSgix = ((int)0X836b),
-        TextureCompressedImageSize = ((int)0X86a0),
-        TextureCompressed = ((int)0X86a1),
-        TextureDepthSize = ((int)0X884a),
-        DepthTextureMode = ((int)0X884b),
-        TextureCompareMode = ((int)0X884c),
-        TextureCompareFunc = ((int)0X884d),
-        TextureStencilSize = ((int)0X88f1),
-        TextureRedType = ((int)0X8c10),
-        TextureGreenType = ((int)0X8c11),
-        TextureBlueType = ((int)0X8c12),
-        TextureAlphaType = ((int)0X8c13),
-        TextureLuminanceType = ((int)0X8c14),
-        TextureIntensityType = ((int)0X8c15),
-        TextureDepthType = ((int)0X8c16),
-        TextureSharedSize = ((int)0X8c3f),
-    }
-
-    public enum Gl3DfxMultisample
-    {
-        MultisampleBit3Dfx = ((int)0X20000000),
-        Multisample3Dfx = ((int)0X86b2),
-        SampleBuffers3Dfx = ((int)0X86b3),
-        Samples3Dfx = ((int)0X86b4),
-    }
-
-    public enum Gl3DfxTbuffer
-    {
-    }
-
-    public enum Gl3DfxTextureCompressionFxt1
-    {
-        CompressedRgbFxt13Dfx = ((int)0X86b0),
-        CompressedRgbaFxt13Dfx = ((int)0X86b1),
-    }
-
-    public enum GremedyFrameTerminator
-    {
-    }
-
-    public enum GremedyStringMarker
-    {
-    }
-
-    public enum HintMode
-    {
-        DontCare = ((int)0X1100),
-        Fastest = ((int)0X1101),
-        Nicest = ((int)0X1102),
-    }
-
-    public enum HintTarget
-    {
-        PerspectiveCorrectionHint = ((int)0X0c50),
-        PointSmoothHint = ((int)0X0c51),
-        LineSmoothHint = ((int)0X0c52),
-        PolygonSmoothHint = ((int)0X0c53),
-        FogHint = ((int)0X0c54),
-        PackCmykHintExt = ((int)0X800e),
-        UnpackCmykHintExt = ((int)0X800f),
-        TextureMultiBufferHintSgix = ((int)0X812e),
-        GenerateMipmapHint = ((int)0X8192),
-        GenerateMipmapHintSgis = ((int)0X8192),
-        ConvolutionHintSgix = ((int)0X8316),
-        VertexPreclipHintSgix = ((int)0X83ef),
-        TextureCompressionHint = ((int)0X84ef),
-        FragmentShaderDerivativeHint = ((int)0X8b8b),
-    }
-
-    public enum HistogramTargetExt
-    {
-        HistogramExt = ((int)0X8024),
-        ProxyHistogramExt = ((int)0X8025),
-    }
-
-    public enum HpConvolutionBorderModes
-    {
-        IgnoreBorderHp = ((int)0X8150),
-        ConstantBorderHp = ((int)0X8151),
-        ReplicateBorderHp = ((int)0X8153),
-        ConvolutionBorderColorHp = ((int)0X8154),
-    }
-
-    public enum HpImageTransform
-    {
-        ImageScaleXHp = ((int)0X8155),
-        ImageScaleYHp = ((int)0X8156),
-        ImageTranslateXHp = ((int)0X8157),
-        ImageTranslateYHp = ((int)0X8158),
-        ImageRotateAngleHp = ((int)0X8159),
-        ImageRotateOriginXHp = ((int)0X815a),
-        ImageRotateOriginYHp = ((int)0X815b),
-        ImageMagFilterHp = ((int)0X815c),
-        ImageMinFilterHp = ((int)0X815d),
-        ImageCubicWeightHp = ((int)0X815e),
-        CubicHp = ((int)0X815f),
-        AverageHp = ((int)0X8160),
-        ImageTransform2DHp = ((int)0X8161),
-        PostImageTransformColorTableHp = ((int)0X8162),
-        ProxyPostImageTransformColorTableHp = ((int)0X8163),
-    }
-
-    public enum HpOcclusionTest
-    {
-        OcclusionTestHp = ((int)0X8165),
-        OcclusionTestResultHp = ((int)0X8166),
-    }
-
-    public enum HpTextureLighting
-    {
-        TextureLightingModeHp = ((int)0X8167),
-        TexturePostSpecularHp = ((int)0X8168),
-        TexturePreSpecularHp = ((int)0X8169),
-    }
-
-    public enum IbmCullVertex
-    {
-        CullVertexIbm = ((int)103050),
-    }
-
-    public enum IbmMultimodeDrawArrays
-    {
-    }
-
-    public enum IbmRasterposClip
-    {
-        RasterPositionUnclippedIbm = ((int)0X19262),
-    }
-
-    public enum IbmTextureMirroredRepeat
-    {
-        MirroredRepeatIbm = ((int)0X8370),
-    }
-
-    public enum IbmVertexArrayLists
-    {
-        VertexArrayListIbm = ((int)103070),
-        NormalArrayListIbm = ((int)103071),
-        ColorArrayListIbm = ((int)103072),
-        IndexArrayListIbm = ((int)103073),
-        TextureCoordArrayListIbm = ((int)103074),
-        EdgeFlagArrayListIbm = ((int)103075),
-        FogCoordinateArrayListIbm = ((int)103076),
-        SecondaryColorArrayListIbm = ((int)103077),
-        VertexArrayListStrideIbm = ((int)103080),
-        NormalArrayListStrideIbm = ((int)103081),
-        ColorArrayListStrideIbm = ((int)103082),
-        IndexArrayListStrideIbm = ((int)103083),
-        TextureCoordArrayListStrideIbm = ((int)103084),
-        EdgeFlagArrayListStrideIbm = ((int)103085),
-        FogCoordinateArrayListStrideIbm = ((int)103086),
-        SecondaryColorArrayListStrideIbm = ((int)103087),
-    }
-
-    public enum IndexedEnableCap
-    {
-        Blend = ((int)0X0be2),
-    }
-
-    public enum IndexPointerType
-    {
-        Short = ((int)0X1402),
-        Int = ((int)0X1404),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-    }
-
-    public enum IngrColorClamp
-    {
-        RedMinClampIngr = ((int)0X8560),
-        GreenMinClampIngr = ((int)0X8561),
-        BlueMinClampIngr = ((int)0X8562),
-        AlphaMinClampIngr = ((int)0X8563),
-        RedMaxClampIngr = ((int)0X8564),
-        GreenMaxClampIngr = ((int)0X8565),
-        BlueMaxClampIngr = ((int)0X8566),
-        AlphaMaxClampIngr = ((int)0X8567),
-    }
-
-    public enum IngrInterlaceRead
-    {
-        InterlaceReadIngr = ((int)0X8568),
-    }
-
-    public enum IngrPaletteBuffer
-    {
-    }
-
-    public enum IntelParallelArrays
-    {
-        ParallelArraysIntel = ((int)0X83f4),
-        VertexArrayParallelPointersIntel = ((int)0X83f5),
-        NormalArrayParallelPointersIntel = ((int)0X83f6),
-        ColorArrayParallelPointersIntel = ((int)0X83f7),
-        TextureCoordArrayParallelPointersIntel = ((int)0X83f8),
-    }
-
-    public enum IntelTextureScissor
-    {
-    }
-
-    public enum InterleavedArrayFormat
-    {
-        V2f = ((int)0X2a20),
-        V3f = ((int)0X2a21),
-        C4ubV2f = ((int)0X2a22),
-        C4ubV3f = ((int)0X2a23),
-        C3fV3f = ((int)0X2a24),
-        N3fV3f = ((int)0X2a25),
-        C4fN3fV3f = ((int)0X2a26),
-        T2fV3f = ((int)0X2a27),
-        T4fV4f = ((int)0X2a28),
-        T2fC4ubV3f = ((int)0X2a29),
-        T2fC3fV3f = ((int)0X2a2a),
-        T2fN3fV3f = ((int)0X2a2b),
-        T2fC4fN3fV3f = ((int)0X2a2c),
-        T4fC4fN3fV4f = ((int)0X2a2d),
-    }
-
-    public enum LightEnvModeSgix
-    {
-        Add = ((int)0X0104),
-        Replace = ((int)0X1e01),
-        Modulate = ((int)0X2100),
-    }
-
-    public enum LightEnvParameterSgix
-    {
-        LightEnvModeSgix = ((int)0X8407),
-    }
-
-    public enum LightModelColorControl
-    {
-        SingleColor = ((int)0X81f9),
-        SeparateSpecularColor = ((int)0X81fa),
-    }
-
-    public enum LightModelParameter
-    {
-        LightModelLocalViewer = ((int)0X0b51),
-        LightModelTwoSide = ((int)0X0b52),
-        LightModelAmbient = ((int)0X0b53),
-        LightModelColorControl = ((int)0X81f8),
-    }
-
-    public enum LightName
-    {
-        Light0 = ((int)0X4000),
-        Light1 = ((int)0X4001),
-        Light2 = ((int)0X4002),
-        Light3 = ((int)0X4003),
-        Light4 = ((int)0X4004),
-        Light5 = ((int)0X4005),
-        Light6 = ((int)0X4006),
-        Light7 = ((int)0X4007),
-        FragmentLight0Sgix = ((int)0X840c),
-        FragmentLight1Sgix = ((int)0X840D),
-        FragmentLight2Sgix = ((int)0X840e),
-        FragmentLight3Sgix = ((int)0X840f),
-        FragmentLight4Sgix = ((int)0X8410),
-        FragmentLight5Sgix = ((int)0X8411),
-        FragmentLight6Sgix = ((int)0X8412),
-        FragmentLight7Sgix = ((int)0X8413),
-    }
-
-    public enum LightParameter
-    {
-        Ambient = ((int)0X1200),
-        Diffuse = ((int)0X1201),
-        Specular = ((int)0X1202),
-        Position = ((int)0X1203),
-        SpotDirection = ((int)0X1204),
-        SpotExponent = ((int)0X1205),
-        SpotCutoff = ((int)0X1206),
-        ConstantAttenuation = ((int)0X1207),
-        LinearAttenuation = ((int)0X1208),
-        QuadraticAttenuation = ((int)0X1209),
-    }
-
-    public enum ListMode
-    {
-        Compile = ((int)0X1300),
-        CompileAndExecute = ((int)0X1301),
-    }
-
-    public enum ListNameType
-    {
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Gl2Bytes = ((int)0X1407),
-        Gl3Bytes = ((int)0X1408),
-        Gl4Bytes = ((int)0X1409),
-    }
-
-    public enum ListParameterName
-    {
-        ListPrioritySgix = ((int)0X8182),
-    }
-
-    public enum LogicOp
-    {
-        Clear = ((int)0X1500),
-        And = ((int)0X1501),
-        AndReverse = ((int)0X1502),
-        Copy = ((int)0X1503),
-        AndInverted = ((int)0X1504),
-        Noop = ((int)0X1505),
-        Xor = ((int)0X1506),
-        Or = ((int)0X1507),
-        Nor = ((int)0X1508),
-        Equiv = ((int)0X1509),
-        Invert = ((int)0X150a),
-        OrReverse = ((int)0X150b),
-        CopyInverted = ((int)0X150c),
-        OrInverted = ((int)0X150d),
-        Nand = ((int)0X150e),
-        Set = ((int)0X150f),
-    }
-
-    public enum MapTarget
-    {
-        Map1Color4 = ((int)0X0D90),
-        Map1Index = ((int)0X0D91),
-        Map1Normal = ((int)0X0D92),
-        Map1TextureCoord1 = ((int)0X0D93),
-        Map1TextureCoord2 = ((int)0X0D94),
-        Map1TextureCoord3 = ((int)0X0D95),
-        Map1TextureCoord4 = ((int)0X0D96),
-        Map1Vertex3 = ((int)0X0D97),
-        Map1Vertex4 = ((int)0X0D98),
-        Map2Color4 = ((int)0X0Db0),
-        Map2Index = ((int)0X0Db1),
-        Map2Normal = ((int)0X0Db2),
-        Map2TextureCoord1 = ((int)0X0Db3),
-        Map2TextureCoord2 = ((int)0X0Db4),
-        Map2TextureCoord3 = ((int)0X0Db5),
-        Map2TextureCoord4 = ((int)0X0Db6),
-        Map2Vertex3 = ((int)0X0Db7),
-        Map2Vertex4 = ((int)0X0Db8),
-        GeometryDeformationSgix = ((int)0X8194),
-        TextureDeformationSgix = ((int)0X8195),
-    }
-
-    public enum MaterialFace
-    {
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        FrontAndBack = ((int)0X0408),
-    }
-
-    public enum MaterialParameter
-    {
-        Ambient = ((int)0X1200),
-        Diffuse = ((int)0X1201),
-        Specular = ((int)0X1202),
-        Emission = ((int)0X1600),
-        Shininess = ((int)0X1601),
-        AmbientAndDiffuse = ((int)0X1602),
-        ColorIndexes = ((int)0X1603),
-    }
-
-    public enum MatrixMode
-    {
-        Modelview = ((int)0X1700),
-        Projection = ((int)0X1701),
-        Texture = ((int)0X1702),
-        Color = ((int)0X1800),
-    }
-
-    public enum MatrixModeArb
-    {
-        Modelview = ((int)0X1700),
-        Projection = ((int)0X1701),
-        Texture = ((int)0X1702),
-        Color = ((int)0X1800),
-        Matrix0 = ((int)0X88c0),
-        Matrix1 = ((int)0X88c1),
-        Matrix2 = ((int)0X88c2),
-        Matrix3 = ((int)0X88c3),
-        Matrix4 = ((int)0X88c4),
-        Matrix5 = ((int)0X88c5),
-        Matrix6 = ((int)0X88c6),
-        Matrix7 = ((int)0X88c7),
-        Matrix8 = ((int)0X88c8),
-        Matrix9 = ((int)0X88c9),
-        Matrix10 = ((int)0X88ca),
-        Matrix11 = ((int)0X88cb),
-        Matrix12 = ((int)0X88cc),
-        Matrix13 = ((int)0X88cd),
-        Matrix14 = ((int)0X88ce),
-        Matrix15 = ((int)0X88cf),
-        Matrix16 = ((int)0X88d0),
-        Matrix17 = ((int)0X88d1),
-        Matrix18 = ((int)0X88d2),
-        Matrix19 = ((int)0X88d3),
-        Matrix20 = ((int)0X88d4),
-        Matrix21 = ((int)0X88d5),
-        Matrix22 = ((int)0X88d6),
-        Matrix23 = ((int)0X88d7),
-        Matrix24 = ((int)0X88d8),
-        Matrix25 = ((int)0X88d9),
-        Matrix26 = ((int)0X88da),
-        Matrix27 = ((int)0X88db),
-        Matrix28 = ((int)0X88dc),
-        Matrix29 = ((int)0X88dd),
-        Matrix30 = ((int)0X88de),
-        Matrix31 = ((int)0X88df),
-    }
-
-    public enum MesaPackInvert
-    {
-        PackInvertMesa = ((int)0X8758),
-    }
-
-    public enum MesaResizeBuffers
-    {
-    }
-
-    public enum MesaWindowPos
-    {
-    }
-
-    public enum MesaxTextureStack
-    {
-        Texture1DStackMesax = ((int)0X8759),
-        Texture2DStackMesax = ((int)0X875a),
-        ProxyTexture1DStackMesax = ((int)0X875b),
-        ProxyTexture2DStackMesax = ((int)0X875c),
-        Texture1DStackBindingMesax = ((int)0X875d),
-        Texture2DStackBindingMesax = ((int)0X875e),
-    }
-
-    public enum MesaYcbcrTexture
-    {
-        UnsignedShort88Mesa = ((int)0X85ba),
-        UnsignedShort88RevMesa = ((int)0X85bb),
-        YcbcrMesa = ((int)0X8757),
-    }
-
-    public enum MeshMode1
-    {
-        Point = ((int)0X1b00),
-        Line = ((int)0X1b01),
-    }
-
-    public enum MeshMode2
-    {
-        Point = ((int)0X1b00),
-        Line = ((int)0X1b01),
-        Fill = ((int)0X1b02),
-    }
-
-    public enum MinmaxTargetExt
-    {
-        MinmaxExt = ((int)0X802e),
-    }
-
-    public enum NormalPointerType
-    {
-        Byte = ((int)0X1400),
-        Short = ((int)0X1402),
-        Int = ((int)0X1404),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum NvBlendSquare
-    {
-    }
-
-    public enum NvConditionalRender
-    {
-        QueryWaitNv = ((int)0X8e13),
-        QueryNoWaitNv = ((int)0X8e14),
-        QueryByRegionWaitNv = ((int)0X8e15),
-        QueryByRegionNoWaitNv = ((int)0X8e16),
-    }
-
-    public enum NvCopyDepthToColor
-    {
-        DepthStencilToRgbaNv = ((int)0X886e),
-        DepthStencilToBgraNv = ((int)0X886f),
-    }
-
-    public enum NvDepthBufferFloat
-    {
-        DepthComponent32fNv = ((int)0X8dab),
-        Depth32fStencil8Nv = ((int)0X8dac),
-        Float32UnsignedInt248RevNv = ((int)0X8dad),
-        DepthBufferFloatModeNv = ((int)0X8daf),
-    }
-
-    public enum NvDepthClamp
-    {
-        DepthClampNv = ((int)0X864f),
-    }
-
-    public enum NvEvaluators
-    {
-        Eval2DNv = ((int)0X86c0),
-        EvalTriangular2DNv = ((int)0X86c1),
-        MapTessellationNv = ((int)0X86c2),
-        MapAttribUOrderNv = ((int)0X86c3),
-        MapAttribVOrderNv = ((int)0X86c4),
-        EvalFractionalTessellationNv = ((int)0X86c5),
-        EvalVertexAttrib0Nv = ((int)0X86c6),
-        EvalVertexAttrib1Nv = ((int)0X86c7),
-        EvalVertexAttrib2Nv = ((int)0X86c8),
-        EvalVertexAttrib3Nv = ((int)0X86c9),
-        EvalVertexAttrib4Nv = ((int)0X86ca),
-        EvalVertexAttrib5Nv = ((int)0X86cb),
-        EvalVertexAttrib6Nv = ((int)0X86cc),
-        EvalVertexAttrib7Nv = ((int)0X86cd),
-        EvalVertexAttrib8Nv = ((int)0X86ce),
-        EvalVertexAttrib9Nv = ((int)0X86cf),
-        EvalVertexAttrib10Nv = ((int)0X86d0),
-        EvalVertexAttrib11Nv = ((int)0X86d1),
-        EvalVertexAttrib12Nv = ((int)0X86d2),
-        EvalVertexAttrib13Nv = ((int)0X86d3),
-        EvalVertexAttrib14Nv = ((int)0X86d4),
-        EvalVertexAttrib15Nv = ((int)0X86d5),
-        MaxMapTessellationNv = ((int)0X86d6),
-        MaxRationalEvalOrderNv = ((int)0X86d7),
-    }
-
-    public enum NvExplicitMultisample
-    {
-        SamplePositionNv = ((int)0X8e50),
-        SampleMaskNv = ((int)0X8e51),
-        SampleMaskValueNv = ((int)0X8e52),
-        TextureBindingRenderbufferNv = ((int)0X8e53),
-        TextureRenderbufferDataStoreBindingNv = ((int)0X8e54),
-        TextureRenderbufferNv = ((int)0X8e55),
-        SamplerRenderbufferNv = ((int)0X8e56),
-        IntSamplerRenderbufferNv = ((int)0X8e57),
-        UnsignedIntSamplerRenderbufferNv = ((int)0X8e58),
-        MaxSampleMaskWordsNv = ((int)0X8e59),
-    }
-
-    public enum NvFence
-    {
-        AllCompletedNv = ((int)0X84f2),
-        FenceStatusNv = ((int)0X84f3),
-        FenceConditionNv = ((int)0X84f4),
-    }
-
-    public enum NvFloatBuffer
-    {
-        FloatRNv = ((int)0X8880),
-        FloatRgNv = ((int)0X8881),
-        FloatRgbNv = ((int)0X8882),
-        FloatRgbaNv = ((int)0X8883),
-        FloatR16Nv = ((int)0X8884),
-        FloatR32Nv = ((int)0X8885),
-        FloatRg16Nv = ((int)0X8886),
-        FloatRg32Nv = ((int)0X8887),
-        FloatRgb16Nv = ((int)0X8888),
-        FloatRgb32Nv = ((int)0X8889),
-        FloatRgba16Nv = ((int)0X888a),
-        FloatRgba32Nv = ((int)0X888b),
-        TextureFloatComponentsNv = ((int)0X888c),
-        FloatClearColorValueNv = ((int)0X888d),
-        FloatRgbaModeNv = ((int)0X888e),
-    }
-
-    public enum NvFogDistance
-    {
-        EyePlane = ((int)0X2502),
-        FogDistanceModeNv = ((int)0X855a),
-        EyeRadialNv = ((int)0X855b),
-        EyePlaneAbsoluteNv = ((int)0X855c),
-    }
-
-    public enum NvFragmentProgram
-    {
-        MaxFragmentProgramLocalParametersNv = ((int)0X8868),
-        FragmentProgramNv = ((int)0X8870),
-        MaxTextureCoordsNv = ((int)0X8871),
-        MaxTextureImageUnitsNv = ((int)0X8872),
-        FragmentProgramBindingNv = ((int)0X8873),
-        ProgramErrorStringNv = ((int)0X8874),
-    }
-
-    public enum NvFragmentProgram2
-    {
-        MaxProgramExecInstructionsNv = ((int)0X88f4),
-        MaxProgramCallDepthNv = ((int)0X88f5),
-        MaxProgramIfDepthNv = ((int)0X88f6),
-        MaxProgramLoopDepthNv = ((int)0X88f7),
-        MaxProgramLoopCountNv = ((int)0X88f8),
-    }
-
-    public enum NvFragmentProgram4
-    {
-    }
-
-    public enum NvFragmentProgramOption
-    {
-    }
-
-    public enum NvFramebufferMultisampleCoverage
-    {
-        RenderbufferCoverageSamplesNv = ((int)0X8cab),
-        RenderbufferColorSamplesNv = ((int)0X8e10),
-        MaxMultisampleCoverageModesNv = ((int)0X8e11),
-        MultisampleCoverageModesNv = ((int)0X8e12),
-    }
-
-    public enum NvGeometryProgram4
-    {
-        LinesAdjacencyExt = ((int)0X000a),
-        LineStripAdjacencyExt = ((int)0X000b),
-        TrianglesAdjacencyExt = ((int)0X000c),
-        TriangleStripAdjacencyExt = ((int)0X000d),
-        ProgramPointSizeExt = ((int)0X8642),
-        GeometryProgramNv = ((int)0X8c26),
-        MaxProgramOutputVerticesNv = ((int)0X8c27),
-        MaxProgramTotalOutputComponentsNv = ((int)0X8c28),
-        MaxGeometryTextureImageUnitsExt = ((int)0X8c29),
-        FramebufferAttachmentTextureLayerExt = ((int)0X8cd4),
-        FramebufferAttachmentLayeredExt = ((int)0X8da7),
-        FramebufferIncompleteLayerTargetsExt = ((int)0X8da8),
-        FramebufferIncompleteLayerCountExt = ((int)0X8da9),
-        GeometryVerticesOutExt = ((int)0X8dda),
-        GeometryInputTypeExt = ((int)0X8ddb),
-        GeometryOutputTypeExt = ((int)0X8ddc),
-    }
-
-    public enum NvGeometryShader4
-    {
-    }
-
-    public enum NvGpuProgram4
-    {
-        MinProgramTexelOffsetNv = ((int)0X8904),
-        MaxProgramTexelOffsetNv = ((int)0X8905),
-        ProgramAttribComponentsNv = ((int)0X8906),
-        ProgramResultComponentsNv = ((int)0X8907),
-        MaxProgramAttribComponentsNv = ((int)0X8908),
-        MaxProgramResultComponentsNv = ((int)0X8909),
-        MaxProgramGenericAttribsNv = ((int)0X8da5),
-        MaxProgramGenericResultsNv = ((int)0X8da6),
-    }
-
-    public enum NvHalfFloat
-    {
-        HalfFloatNv = ((int)0X140b),
-    }
-
-    public enum NvLightMaxExponent
-    {
-        MaxShininessNv = ((int)0X8504),
-        MaxSpotExponentNv = ((int)0X8505),
-    }
-
-    public enum NvMultisampleFilterHint
-    {
-        MultisampleFilterHintNv = ((int)0X8534),
-    }
-
-    public enum NvOcclusionQuery
-    {
-        PixelCounterBitsNv = ((int)0X8864),
-        CurrentOcclusionQueryIdNv = ((int)0X8865),
-        PixelCountNv = ((int)0X8866),
-        PixelCountAvailableNv = ((int)0X8867),
-    }
-
-    public enum NvPackedDepthStencil
-    {
-        DepthStencilNv = ((int)0X84f9),
-        UnsignedInt248Nv = ((int)0X84fa),
-    }
-
-    public enum NvParameterBufferObject
-    {
-        MaxProgramParameterBufferBindingsNv = ((int)0X8da0),
-        MaxProgramParameterBufferSizeNv = ((int)0X8da1),
-        VertexProgramParameterBufferNv = ((int)0X8da2),
-        GeometryProgramParameterBufferNv = ((int)0X8da3),
-        FragmentProgramParameterBufferNv = ((int)0X8da4),
-    }
-
-    public enum NvPixelDataRange
-    {
-        WritePixelDataRangeNv = ((int)0X8878),
-        ReadPixelDataRangeNv = ((int)0X8879),
-        WritePixelDataRangeLengthNv = ((int)0X887a),
-        ReadPixelDataRangeLengthNv = ((int)0X887b),
-        WritePixelDataRangePointerNv = ((int)0X887c),
-        ReadPixelDataRangePointerNv = ((int)0X887d),
-    }
-
-    public enum NvPointSprite
-    {
-        PointSpriteNv = ((int)0X8861),
-        CoordReplaceNv = ((int)0X8862),
-        PointSpriteRModeNv = ((int)0X8863),
-    }
-
-    public enum NvPresentVideo
-    {
-        FrameNv = ((int)0X8e26),
-        FieldsNv = ((int)0X8e27),
-        CurrentTimeNv = ((int)0X8e28),
-        NumFillStreamsNv = ((int)0X8e29),
-        PresentTimeNv = ((int)0X8e2a),
-        PresentDurationNv = ((int)0X8e2b),
-    }
-
-    public enum NvPrimitiveRestart
-    {
-        PrimitiveRestartNv = ((int)0X8558),
-        PrimitiveRestartIndexNv = ((int)0X8559),
-    }
-
-    public enum NvRegisterCombiners
-    {
-        None = ((int)0),
-        Zero = ((int)0),
-        Fog = ((int)0X0b60),
-        Texture0Arb = ((int)0X84c0),
-        Texture1Arb = ((int)0X84c1),
-        RegisterCombinersNv = ((int)0X8522),
-        VariableANv = ((int)0X8523),
-        VariableBNv = ((int)0X8524),
-        VariableCNv = ((int)0X8525),
-        VariableDNv = ((int)0X8526),
-        VariableENv = ((int)0X8527),
-        VariableFNv = ((int)0X8528),
-        VariableGNv = ((int)0X8529),
-        ConstantColor0Nv = ((int)0X852a),
-        ConstantColor1Nv = ((int)0X852b),
-        PrimaryColorNv = ((int)0X852c),
-        SecondaryColorNv = ((int)0X852d),
-        Spare0Nv = ((int)0X852e),
-        Spare1Nv = ((int)0X852f),
-        DiscardNv = ((int)0X8530),
-        ETimesFNv = ((int)0X8531),
-        Spare0PlusSecondaryColorNv = ((int)0X8532),
-        UnsignedIdentityNv = ((int)0X8536),
-        UnsignedInvertNv = ((int)0X8537),
-        ExpandNormalNv = ((int)0X8538),
-        ExpandNegateNv = ((int)0X8539),
-        HalfBiasNormalNv = ((int)0X853a),
-        HalfBiasNegateNv = ((int)0X853b),
-        SignedIdentityNv = ((int)0X853c),
-        SignedNegateNv = ((int)0X853d),
-        ScaleByTwoNv = ((int)0X853e),
-        ScaleByFourNv = ((int)0X853f),
-        ScaleByOneHalfNv = ((int)0X8540),
-        BiasByNegativeOneHalfNv = ((int)0X8541),
-        CombinerInputNv = ((int)0X8542),
-        CombinerMappingNv = ((int)0X8543),
-        CombinerComponentUsageNv = ((int)0X8544),
-        CombinerAbDotProductNv = ((int)0X8545),
-        CombinerCdDotProductNv = ((int)0X8546),
-        CombinerMuxSumNv = ((int)0X8547),
-        CombinerScaleNv = ((int)0X8548),
-        CombinerBiasNv = ((int)0X8549),
-        CombinerAbOutputNv = ((int)0X854a),
-        CombinerCdOutputNv = ((int)0X854b),
-        CombinerSumOutputNv = ((int)0X854c),
-        MaxGeneralCombinersNv = ((int)0X854d),
-        NumGeneralCombinersNv = ((int)0X854e),
-        ColorSumClampNv = ((int)0X854f),
-        Combiner0Nv = ((int)0X8550),
-        Combiner1Nv = ((int)0X8551),
-        Combiner2Nv = ((int)0X8552),
-        Combiner3Nv = ((int)0X8553),
-        Combiner4Nv = ((int)0X8554),
-        Combiner5Nv = ((int)0X8555),
-        Combiner6Nv = ((int)0X8556),
-        Combiner7Nv = ((int)0X8557),
-    }
-
-    public enum NvRegisterCombiners2
-    {
-        PerStageConstantsNv = ((int)0X8535),
-    }
-
-    public enum NvTexgenEmboss
-    {
-        EmbossLightNv = ((int)0X855d),
-        EmbossConstantNv = ((int)0X855e),
-        EmbossMapNv = ((int)0X855f),
-    }
-
-    public enum NvTexgenReflection
-    {
-        NormalMapNv = ((int)0X8511),
-        ReflectionMapNv = ((int)0X8512),
-    }
-
-    public enum NvTextureCompressionVtc
-    {
-    }
-
-    public enum NvTextureEnvCombine4
-    {
-        Combine4Nv = ((int)0X8503),
-        Source3RgbNv = ((int)0X8583),
-        Source3AlphaNv = ((int)0X858b),
-        Operand3RgbNv = ((int)0X8593),
-        Operand3AlphaNv = ((int)0X859b),
-    }
-
-    public enum NvTextureExpandNormal
-    {
-        TextureUnsignedRemapModeNv = ((int)0X888f),
-    }
-
-    public enum NvTextureRectangle
-    {
-        TextureRectangleNv = ((int)0X84f5),
-        TextureBindingRectangleNv = ((int)0X84f6),
-        ProxyTextureRectangleNv = ((int)0X84f7),
-        MaxRectangleTextureSizeNv = ((int)0X84f8),
-    }
-
-    public enum NvTextureShader
-    {
-        OffsetTextureRectangleNv = ((int)0X864c),
-        OffsetTextureRectangleScaleNv = ((int)0X864d),
-        DotProductTextureRectangleNv = ((int)0X864e),
-        RgbaUnsignedDotProductMappingNv = ((int)0X86d9),
-        UnsignedIntS8S888Nv = ((int)0X86da),
-        UnsignedInt88S8S8RevNv = ((int)0X86db),
-        DsdtMagIntensityNv = ((int)0X86dc),
-        ShaderConsistentNv = ((int)0X86dd),
-        TextureShaderNv = ((int)0X86de),
-        ShaderOperationNv = ((int)0X86df),
-        CullModesNv = ((int)0X86e0),
-        OffsetTexture2DMatrixNv = ((int)0X86e1),
-        OffsetTextureMatrixNv = ((int)0X86e1),
-        OffsetTexture2DScaleNv = ((int)0X86e2),
-        OffsetTextureScaleNv = ((int)0X86e2),
-        OffsetTexture2DBiasNv = ((int)0X86e3),
-        OffsetTextureBiasNv = ((int)0X86e3),
-        PreviousTextureInputNv = ((int)0X86e4),
-        ConstEyeNv = ((int)0X86e5),
-        PassThroughNv = ((int)0X86e6),
-        CullFragmentNv = ((int)0X86e7),
-        OffsetTexture2DNv = ((int)0X86e8),
-        DependentArTexture2DNv = ((int)0X86e9),
-        DependentGbTexture2DNv = ((int)0X86ea),
-        DotProductNv = ((int)0X86ec),
-        DotProductDepthReplaceNv = ((int)0X86ed),
-        DotProductTexture2DNv = ((int)0X86ee),
-        DotProductTextureCubeMapNv = ((int)0X86f0),
-        DotProductDiffuseCubeMapNv = ((int)0X86f1),
-        DotProductReflectCubeMapNv = ((int)0X86f2),
-        DotProductConstEyeReflectCubeMapNv = ((int)0X86f3),
-        HiloNv = ((int)0X86f4),
-        DsdtNv = ((int)0X86f5),
-        DsdtMagNv = ((int)0X86f6),
-        DsdtMagVibNv = ((int)0X86f7),
-        Hilo16Nv = ((int)0X86f8),
-        SignedHiloNv = ((int)0X86f9),
-        SignedHilo16Nv = ((int)0X86fa),
-        SignedRgbaNv = ((int)0X86fb),
-        SignedRgba8Nv = ((int)0X86fc),
-        SignedRgbNv = ((int)0X86fe),
-        SignedRgb8Nv = ((int)0X86ff),
-        SignedLuminanceNv = ((int)0X8701),
-        SignedLuminance8Nv = ((int)0X8702),
-        SignedLuminanceAlphaNv = ((int)0X8703),
-        SignedLuminance8Alpha8Nv = ((int)0X8704),
-        SignedAlphaNv = ((int)0X8705),
-        SignedAlpha8Nv = ((int)0X8706),
-        SignedIntensityNv = ((int)0X8707),
-        SignedIntensity8Nv = ((int)0X8708),
-        Dsdt8Nv = ((int)0X8709),
-        Dsdt8Mag8Nv = ((int)0X870a),
-        Dsdt8Mag8Intensity8Nv = ((int)0X870b),
-        SignedRgbUnsignedAlphaNv = ((int)0X870c),
-        SignedRgb8UnsignedAlpha8Nv = ((int)0X870d),
-        HiScaleNv = ((int)0X870e),
-        LoScaleNv = ((int)0X870f),
-        DsScaleNv = ((int)0X8710),
-        DtScaleNv = ((int)0X8711),
-        MagnitudeScaleNv = ((int)0X8712),
-        VibranceScaleNv = ((int)0X8713),
-        HiBiasNv = ((int)0X8714),
-        LoBiasNv = ((int)0X8715),
-        DsBiasNv = ((int)0X8716),
-        DtBiasNv = ((int)0X8717),
-        MagnitudeBiasNv = ((int)0X8718),
-        VibranceBiasNv = ((int)0X8719),
-        TextureBorderValuesNv = ((int)0X871a),
-        TextureHiSizeNv = ((int)0X871b),
-        TextureLoSizeNv = ((int)0X871c),
-        TextureDsSizeNv = ((int)0X871d),
-        TextureDtSizeNv = ((int)0X871e),
-        TextureMagSizeNv = ((int)0X871f),
-    }
-
-    public enum NvTextureShader2
-    {
-        DotProductTexture3DNv = ((int)0X86ef),
-    }
-
-    public enum NvTextureShader3
-    {
-        OffsetProjectiveTexture2DNv = ((int)0X8850),
-        OffsetProjectiveTexture2DScaleNv = ((int)0X8851),
-        OffsetProjectiveTextureRectangleNv = ((int)0X8852),
-        OffsetProjectiveTextureRectangleScaleNv = ((int)0X8853),
-        OffsetHiloTexture2DNv = ((int)0X8854),
-        OffsetHiloTextureRectangleNv = ((int)0X8855),
-        OffsetHiloProjectiveTexture2DNv = ((int)0X8856),
-        OffsetHiloProjectiveTextureRectangleNv = ((int)0X8857),
-        DependentHiloTexture2DNv = ((int)0X8858),
-        DependentRgbTexture3DNv = ((int)0X8859),
-        DependentRgbTextureCubeMapNv = ((int)0X885a),
-        DotProductPassThroughNv = ((int)0X885b),
-        DotProductTexture1DNv = ((int)0X885c),
-        DotProductAffineDepthReplaceNv = ((int)0X885d),
-        Hilo8Nv = ((int)0X885e),
-        SignedHilo8Nv = ((int)0X885f),
-        ForceBlueToOneNv = ((int)0X8860),
-    }
-
-    public enum NvTransformFeedback
-    {
-        BackPrimaryColorNv = ((int)0X8c77),
-        BackSecondaryColorNv = ((int)0X8c78),
-        TextureCoordNv = ((int)0X8c79),
-        ClipDistanceNv = ((int)0X8c7a),
-        VertexIdNv = ((int)0X8c7b),
-        PrimitiveIdNv = ((int)0X8c7c),
-        GenericAttribNv = ((int)0X8c7d),
-        TransformFeedbackAttribsNv = ((int)0X8c7e),
-        TransformFeedbackBufferModeNv = ((int)0X8c7f),
-        MaxTransformFeedbackSeparateComponentsNv = ((int)0X8c80),
-        ActiveVaryingsNv = ((int)0X8c81),
-        ActiveVaryingMaxLengthNv = ((int)0X8c82),
-        TransformFeedbackVaryingsNv = ((int)0X8c83),
-        TransformFeedbackBufferStartNv = ((int)0X8c84),
-        TransformFeedbackBufferSizeNv = ((int)0X8c85),
-        TransformFeedbackRecordNv = ((int)0X8c86),
-        PrimitivesGeneratedNv = ((int)0X8c87),
-        TransformFeedbackPrimitivesWrittenNv = ((int)0X8c88),
-        RasterizerDiscardNv = ((int)0X8c89),
-        MaxTransformFeedbackInterleavedAttribsNv = ((int)0X8c8a),
-        MaxTransformFeedbackSeparateAttribsNv = ((int)0X8c8b),
-        InterleavedAttribsNv = ((int)0X8c8c),
-        SeparateAttribsNv = ((int)0X8c8d),
-        TransformFeedbackBufferNv = ((int)0X8c8e),
-        TransformFeedbackBufferBindingNv = ((int)0X8c8f),
-    }
-
-    public enum NvTransformFeedback2
-    {
-        TransformFeedbackNv = ((int)0X8e22),
-        TransformFeedbackBufferPausedNv = ((int)0X8e23),
-        TransformFeedbackBufferActiveNv = ((int)0X8e24),
-        TransformFeedbackBindingNv = ((int)0X8e25),
-    }
-
-    public enum NvVertexArrayRange
-    {
-        VertexArrayRangeNv = ((int)0X851d),
-        VertexArrayRangeLengthNv = ((int)0X851e),
-        VertexArrayRangeValidNv = ((int)0X851f),
-        MaxVertexArrayRangeElementNv = ((int)0X8520),
-        VertexArrayRangePointerNv = ((int)0X8521),
-    }
-
-    public enum NvVertexArrayRange2
-    {
-        VertexArrayRangeWithoutFlushNv = ((int)0X8533),
-    }
-
-    public enum NvVertexProgram
-    {
-        VertexProgramNv = ((int)0X8620),
-        VertexStateProgramNv = ((int)0X8621),
-        AttribArraySizeNv = ((int)0X8623),
-        AttribArrayStrideNv = ((int)0X8624),
-        AttribArrayTypeNv = ((int)0X8625),
-        CurrentAttribNv = ((int)0X8626),
-        ProgramLengthNv = ((int)0X8627),
-        ProgramStringNv = ((int)0X8628),
-        ModelviewProjectionNv = ((int)0X8629),
-        IdentityNv = ((int)0X862a),
-        InverseNv = ((int)0X862b),
-        TransposeNv = ((int)0X862c),
-        InverseTransposeNv = ((int)0X862d),
-        MaxTrackMatrixStackDepthNv = ((int)0X862e),
-        MaxTrackMatricesNv = ((int)0X862f),
-        Matrix0Nv = ((int)0X8630),
-        Matrix1Nv = ((int)0X8631),
-        Matrix2Nv = ((int)0X8632),
-        Matrix3Nv = ((int)0X8633),
-        Matrix4Nv = ((int)0X8634),
-        Matrix5Nv = ((int)0X8635),
-        Matrix6Nv = ((int)0X8636),
-        Matrix7Nv = ((int)0X8637),
-        CurrentMatrixStackDepthNv = ((int)0X8640),
-        CurrentMatrixNv = ((int)0X8641),
-        VertexProgramPointSizeNv = ((int)0X8642),
-        VertexProgramTwoSideNv = ((int)0X8643),
-        ProgramParameterNv = ((int)0X8644),
-        AttribArrayPointerNv = ((int)0X8645),
-        ProgramTargetNv = ((int)0X8646),
-        ProgramResidentNv = ((int)0X8647),
-        TrackMatrixNv = ((int)0X8648),
-        TrackMatrixTransformNv = ((int)0X8649),
-        VertexProgramBindingNv = ((int)0X864a),
-        ProgramErrorPositionNv = ((int)0X864b),
-        VertexAttribArray0Nv = ((int)0X8650),
-        VertexAttribArray1Nv = ((int)0X8651),
-        VertexAttribArray2Nv = ((int)0X8652),
-        VertexAttribArray3Nv = ((int)0X8653),
-        VertexAttribArray4Nv = ((int)0X8654),
-        VertexAttribArray5Nv = ((int)0X8655),
-        VertexAttribArray6Nv = ((int)0X8656),
-        VertexAttribArray7Nv = ((int)0X8657),
-        VertexAttribArray8Nv = ((int)0X8658),
-        VertexAttribArray9Nv = ((int)0X8659),
-        VertexAttribArray10Nv = ((int)0X865a),
-        VertexAttribArray11Nv = ((int)0X865b),
-        VertexAttribArray12Nv = ((int)0X865c),
-        VertexAttribArray13Nv = ((int)0X865d),
-        VertexAttribArray14Nv = ((int)0X865e),
-        VertexAttribArray15Nv = ((int)0X865f),
-        Map1VertexAttrib04Nv = ((int)0X8660),
-        Map1VertexAttrib14Nv = ((int)0X8661),
-        Map1VertexAttrib24Nv = ((int)0X8662),
-        Map1VertexAttrib34Nv = ((int)0X8663),
-        Map1VertexAttrib44Nv = ((int)0X8664),
-        Map1VertexAttrib54Nv = ((int)0X8665),
-        Map1VertexAttrib64Nv = ((int)0X8666),
-        Map1VertexAttrib74Nv = ((int)0X8667),
-        Map1VertexAttrib84Nv = ((int)0X8668),
-        Map1VertexAttrib94Nv = ((int)0X8669),
-        Map1VertexAttrib104Nv = ((int)0X866a),
-        Map1VertexAttrib114Nv = ((int)0X866b),
-        Map1VertexAttrib124Nv = ((int)0X866c),
-        Map1VertexAttrib134Nv = ((int)0X866d),
-        Map1VertexAttrib144Nv = ((int)0X866e),
-        Map1VertexAttrib154Nv = ((int)0X866f),
-        Map2VertexAttrib04Nv = ((int)0X8670),
-        Map2VertexAttrib14Nv = ((int)0X8671),
-        Map2VertexAttrib24Nv = ((int)0X8672),
-        Map2VertexAttrib34Nv = ((int)0X8673),
-        Map2VertexAttrib44Nv = ((int)0X8674),
-        Map2VertexAttrib54Nv = ((int)0X8675),
-        Map2VertexAttrib64Nv = ((int)0X8676),
-        Map2VertexAttrib74Nv = ((int)0X8677),
-        Map2VertexAttrib84Nv = ((int)0X8678),
-        Map2VertexAttrib94Nv = ((int)0X8679),
-        Map2VertexAttrib104Nv = ((int)0X867a),
-        Map2VertexAttrib114Nv = ((int)0X867b),
-        Map2VertexAttrib124Nv = ((int)0X867c),
-        Map2VertexAttrib134Nv = ((int)0X867d),
-        Map2VertexAttrib144Nv = ((int)0X867e),
-        Map2VertexAttrib154Nv = ((int)0X867f),
-    }
-
-    public enum NvVertexProgram11
-    {
-    }
-
-    public enum NvVertexProgram2
-    {
-    }
-
-    public enum NvVertexProgram2Option
-    {
-        MaxProgramExecInstructionsNv = ((int)0X88f4),
-        MaxProgramCallDepthNv = ((int)0X88f5),
-    }
-
-    public enum NvVertexProgram3
-    {
-        MaxVertexTextureImageUnitsArb = ((int)0X8b4c),
-    }
-
-    public enum NvVertexProgram4
-    {
-        VertexAttribArrayIntegerNv = ((int)0X88fd),
-    }
-
-    public enum OesReadFormat
-    {
-        ImplementationColorReadTypeOes = ((int)0X8b9a),
-        ImplementationColorReadFormatOes = ((int)0X8b9b),
-    }
-
-    public enum OmlInterlace
-    {
-        InterlaceOml = ((int)0X8980),
-        InterlaceReadOml = ((int)0X8981),
-    }
-
-    public enum OmlResample
-    {
-        PackResampleOml = ((int)0X8984),
-        UnpackResampleOml = ((int)0X8985),
-        ResampleReplicateOml = ((int)0X8986),
-        ResampleZeroFillOml = ((int)0X8987),
-        ResampleAverageOml = ((int)0X8988),
-        ResampleDecimateOml = ((int)0X8989),
-    }
-
-    public enum OmlSubsample
-    {
-        FormatSubsample2424Oml = ((int)0X8982),
-        FormatSubsample244244Oml = ((int)0X8983),
-    }
-
-    public enum PgiMiscHints
-    {
-        PreferDoublebufferHintPgi = ((int)0X1a1f8),
-        ConserveMemoryHintPgi = ((int)0X1a1fd),
-        ReclaimMemoryHintPgi = ((int)0X1a1fe),
-        NativeGraphicsHandlePgi = ((int)0X1a202),
-        NativeGraphicsBeginHintPgi = ((int)0X1a203),
-        NativeGraphicsEndHintPgi = ((int)0X1a204),
-        AlwaysFastHintPgi = ((int)0X1a20c),
-        AlwaysSoftHintPgi = ((int)0X1a20d),
-        AllowDrawObjHintPgi = ((int)0X1a20e),
-        AllowDrawWinHintPgi = ((int)0X1a20f),
-        AllowDrawFrgHintPgi = ((int)0X1a210),
-        AllowDrawMemHintPgi = ((int)0X1a211),
-        StrictDepthfuncHintPgi = ((int)0X1a216),
-        StrictLightingHintPgi = ((int)0X1a217),
-        StrictScissorHintPgi = ((int)0X1a218),
-        FullStippleHintPgi = ((int)0X1a219),
-        ClipNearHintPgi = ((int)0X1a220),
-        ClipFarHintPgi = ((int)0X1a221),
-        WideLineHintPgi = ((int)0X1a222),
-        BackNormalsHintPgi = ((int)0X1a223),
-    }
-
-    public enum PgiVertexHints
-    {
-        Vertex23BitPgi = ((int)0X00000004),
-        Vertex4BitPgi = ((int)0X00000008),
-        Color3BitPgi = ((int)0X00010000),
-        Color4BitPgi = ((int)0X00020000),
-        EdgeflagBitPgi = ((int)0X00040000),
-        IndexBitPgi = ((int)0X00080000),
-        MatAmbientBitPgi = ((int)0X00100000),
-        MatAmbientAndDiffuseBitPgi = ((int)0X00200000),
-        MatDiffuseBitPgi = ((int)0X00400000),
-        MatEmissionBitPgi = ((int)0X00800000),
-        MatColorIndexesBitPgi = ((int)0X01000000),
-        MatShininessBitPgi = ((int)0X02000000),
-        MatSpecularBitPgi = ((int)0X04000000),
-        NormalBitPgi = ((int)0X08000000),
-        Texcoord1BitPgi = ((int)0X10000000),
-        VertexDataHintPgi = ((int)0X1a22a),
-        VertexConsistentHintPgi = ((int)0X1a22b),
-        MaterialSideHintPgi = ((int)0X1a22c),
-        MaxVertexHintPgi = ((int)0X1a22d),
-        Texcoord2BitPgi = ((int)0X20000000),
-        Texcoord3BitPgi = ((int)0X40000000),
-        Texcoord4BitPgi = unchecked((int)0X80000000),
-    }
-
-    public enum PixelCopyType
-    {
-        Color = ((int)0X1800),
-        Depth = ((int)0X1801),
-        Stencil = ((int)0X1802),
-    }
-
-    public enum PixelFormat
-    {
-        ColorIndex = ((int)0X1900),
-        StencilIndex = ((int)0X1901),
-        DepthComponent = ((int)0X1902),
-        Red = ((int)0X1903),
-        Green = ((int)0X1904),
-        Blue = ((int)0X1905),
-        Alpha = ((int)0X1906),
-        Rgb = ((int)0X1907),
-        Rgba = ((int)0X1908),
-        Luminance = ((int)0X1909),
-        LuminanceAlpha = ((int)0X190a),
-        AbgrExt = ((int)0X8000),
-        CmykExt = ((int)0X800c),
-        CmykaExt = ((int)0X800D),
-        Bgr = ((int)0X80e0),
-        Bgra = ((int)0X80e1),
-        Ycrcb422Sgix = ((int)0X81bb),
-        Ycrcb444Sgix = ((int)0X81bc),
-        Rg = ((int)0X8227),
-        RgInteger = ((int)0X8228),
-        DepthStencil = ((int)0X84f9),
-        RedInteger = ((int)0X8d94),
-        GreenInteger = ((int)0X8d95),
-        BlueInteger = ((int)0X8d96),
-        AlphaInteger = ((int)0X8d97),
-        RgbInteger = ((int)0X8d98),
-        RgbaInteger = ((int)0X8d99),
-        BgrInteger = ((int)0X8d9a),
-        BgraInteger = ((int)0X8d9b),
-    }
-
-    public enum PixelInternalFormat
-    {
-        DepthComponent = ((int)0X1902),
-        Alpha = ((int)0X1906),
-        Rgb = ((int)0X1907),
-        Rgba = ((int)0X1908),
-        Luminance = ((int)0X1909),
-        LuminanceAlpha = ((int)0X190a),
-        R3G3B2 = ((int)0X2a10),
-        Alpha4 = ((int)0X803b),
-        Alpha8 = ((int)0X803c),
-        Alpha12 = ((int)0X803d),
-        Alpha16 = ((int)0X803e),
-        Luminance4 = ((int)0X803f),
-        Luminance8 = ((int)0X8040),
-        Luminance12 = ((int)0X8041),
-        Luminance16 = ((int)0X8042),
-        Luminance4Alpha4 = ((int)0X8043),
-        Luminance6Alpha2 = ((int)0X8044),
-        Luminance8Alpha8 = ((int)0X8045),
-        Luminance12Alpha4 = ((int)0X8046),
-        Luminance12Alpha12 = ((int)0X8047),
-        Luminance16Alpha16 = ((int)0X8048),
-        Intensity = ((int)0X8049),
-        Intensity4 = ((int)0X804a),
-        Intensity8 = ((int)0X804b),
-        Intensity12 = ((int)0X804c),
-        Intensity16 = ((int)0X804d),
-        Rgb2Ext = ((int)0X804e),
-        Rgb4 = ((int)0X804f),
-        Rgb5 = ((int)0X8050),
-        Rgb8 = ((int)0X8051),
-        Rgb10 = ((int)0X8052),
-        Rgb12 = ((int)0X8053),
-        Rgb16 = ((int)0X8054),
-        Rgba2 = ((int)0X8055),
-        Rgba4 = ((int)0X8056),
-        Rgb5A1 = ((int)0X8057),
-        Rgba8 = ((int)0X8058),
-        Rgb10A2 = ((int)0X8059),
-        Rgba12 = ((int)0X805a),
-        Rgba16 = ((int)0X805b),
-        DualAlpha4Sgis = ((int)0X8110),
-        DualAlpha8Sgis = ((int)0X8111),
-        DualAlpha12Sgis = ((int)0X8112),
-        DualAlpha16Sgis = ((int)0X8113),
-        DualLuminance4Sgis = ((int)0X8114),
-        DualLuminance8Sgis = ((int)0X8115),
-        DualLuminance12Sgis = ((int)0X8116),
-        DualLuminance16Sgis = ((int)0X8117),
-        DualIntensity4Sgis = ((int)0X8118),
-        DualIntensity8Sgis = ((int)0X8119),
-        DualIntensity12Sgis = ((int)0X811a),
-        DualIntensity16Sgis = ((int)0X811b),
-        DualLuminanceAlpha4Sgis = ((int)0X811c),
-        DualLuminanceAlpha8Sgis = ((int)0X811D),
-        QuadAlpha4Sgis = ((int)0X811e),
-        QuadAlpha8Sgis = ((int)0X811f),
-        QuadLuminance4Sgis = ((int)0X8120),
-        QuadLuminance8Sgis = ((int)0X8121),
-        QuadIntensity4Sgis = ((int)0X8122),
-        QuadIntensity8Sgis = ((int)0X8123),
-        DepthComponent16 = ((int)0X81a5),
-        DepthComponent16Sgix = ((int)0X81a5),
-        DepthComponent24 = ((int)0X81a6),
-        DepthComponent24Sgix = ((int)0X81a6),
-        DepthComponent32 = ((int)0X81a7),
-        DepthComponent32Sgix = ((int)0X81a7),
-        CompressedRed = ((int)0X8225),
-        CompressedRg = ((int)0X8226),
-        R8 = ((int)0X8229),
-        R16 = ((int)0X822a),
-        Rg8 = ((int)0X822b),
-        Rg16 = ((int)0X822c),
-        R16f = ((int)0X822D),
-        R32f = ((int)0X822e),
-        Rg16f = ((int)0X822f),
-        Rg32f = ((int)0X8230),
-        R8i = ((int)0X8231),
-        R8ui = ((int)0X8232),
-        R16i = ((int)0X8233),
-        R16ui = ((int)0X8234),
-        R32i = ((int)0X8235),
-        R32ui = ((int)0X8236),
-        Rg8i = ((int)0X8237),
-        Rg8ui = ((int)0X8238),
-        Rg16i = ((int)0X8239),
-        Rg16ui = ((int)0X823a),
-        Rg32i = ((int)0X823b),
-        Rg32ui = ((int)0X823c),
-        CompressedAlpha = ((int)0X84e9),
-        CompressedLuminance = ((int)0X84ea),
-        CompressedLuminanceAlpha = ((int)0X84eb),
-        CompressedIntensity = ((int)0X84ec),
-        CompressedRgb = ((int)0X84ed),
-        CompressedRgba = ((int)0X84ee),
-        DepthStencil = ((int)0X84f9),
-        Rgba32f = ((int)0X8814),
-        Rgb32f = ((int)0X8815),
-        Rgba16f = ((int)0X881a),
-        Rgb16f = ((int)0X881b),
-        Depth24Stencil8 = ((int)0X88f0),
-        R11fG11fB10f = ((int)0X8c3a),
-        Rgb9E5 = ((int)0X8c3d),
-        Srgb = ((int)0X8c40),
-        Srgb8 = ((int)0X8c41),
-        SrgbAlpha = ((int)0X8c42),
-        Srgb8Alpha8 = ((int)0X8c43),
-        SluminanceAlpha = ((int)0X8c44),
-        Sluminance8Alpha8 = ((int)0X8c45),
-        Sluminance = ((int)0X8c46),
-        Sluminance8 = ((int)0X8c47),
-        CompressedSrgb = ((int)0X8c48),
-        CompressedSrgbAlpha = ((int)0X8c49),
-        CompressedSluminance = ((int)0X8c4a),
-        CompressedSluminanceAlpha = ((int)0X8c4b),
-        CompressedSrgbS3tcDxt1Ext = ((int)0X8c4c),
-        CompressedSrgbAlphaS3tcDxt1Ext = ((int)0X8c4d),
-        CompressedSrgbAlphaS3tcDxt3Ext = ((int)0X8c4e),
-        CompressedSrgbAlphaS3tcDxt5Ext = ((int)0X8c4f),
-        DepthComponent32f = ((int)0X8cac),
-        Depth32fStencil8 = ((int)0X8cad),
-        Rgba32ui = ((int)0X8d70),
-        Rgb32ui = ((int)0X8d71),
-        Rgba16ui = ((int)0X8d76),
-        Rgb16ui = ((int)0X8d77),
-        Rgba8ui = ((int)0X8d7c),
-        Rgb8ui = ((int)0X8d7d),
-        Rgba32i = ((int)0X8d82),
-        Rgb32i = ((int)0X8d83),
-        Rgba16i = ((int)0X8d88),
-        Rgb16i = ((int)0X8d89),
-        Rgba8i = ((int)0X8d8e),
-        Rgb8i = ((int)0X8d8f),
-        Float32UnsignedInt248Rev = ((int)0X8Dad),
-        CompressedRedRgtc1 = ((int)0X8Dbb),
-        CompressedSignedRedRgtc1 = ((int)0X8Dbc),
-        CompressedRgRgtc2 = ((int)0X8Dbd),
-        CompressedSignedRgRgtc2 = ((int)0X8Dbe),
-        One = ((int)1),
-        Two = ((int)2),
-        Three = ((int)3),
-        Four = ((int)4),
-    }
-
-    public enum PixelMap
-    {
-        PixelMapIToI = ((int)0X0c70),
-        PixelMapSToS = ((int)0X0c71),
-        PixelMapIToR = ((int)0X0c72),
-        PixelMapIToG = ((int)0X0c73),
-        PixelMapIToB = ((int)0X0c74),
-        PixelMapIToA = ((int)0X0c75),
-        PixelMapRToR = ((int)0X0c76),
-        PixelMapGToG = ((int)0X0c77),
-        PixelMapBToB = ((int)0X0c78),
-        PixelMapAToA = ((int)0X0c79),
-    }
-
-    public enum PixelStoreParameter
-    {
-        UnpackSwapBytes = ((int)0X0cf0),
-        UnpackLsbFirst = ((int)0X0cf1),
-        UnpackRowLength = ((int)0X0cf2),
-        UnpackSkipRows = ((int)0X0cf3),
-        UnpackSkipPixels = ((int)0X0cf4),
-        UnpackAlignment = ((int)0X0cf5),
-        PackSwapBytes = ((int)0X0D00),
-        PackLsbFirst = ((int)0X0D01),
-        PackRowLength = ((int)0X0D02),
-        PackSkipRows = ((int)0X0D03),
-        PackSkipPixels = ((int)0X0D04),
-        PackAlignment = ((int)0X0D05),
-        PackSkipImages = ((int)0X806b),
-        PackSkipImagesExt = ((int)0X806b),
-        PackImageHeight = ((int)0X806c),
-        PackImageHeightExt = ((int)0X806c),
-        UnpackSkipImages = ((int)0X806d),
-        UnpackSkipImagesExt = ((int)0X806D),
-        UnpackImageHeight = ((int)0X806e),
-        UnpackImageHeightExt = ((int)0X806e),
-        PackSkipVolumesSgis = ((int)0X8130),
-        PackImageDepthSgis = ((int)0X8131),
-        UnpackSkipVolumesSgis = ((int)0X8132),
-        UnpackImageDepthSgis = ((int)0X8133),
-        PixelTileWidthSgix = ((int)0X8140),
-        PixelTileHeightSgix = ((int)0X8141),
-        PixelTileGridWidthSgix = ((int)0X8142),
-        PixelTileGridHeightSgix = ((int)0X8143),
-        PixelTileGridDepthSgix = ((int)0X8144),
-        PixelTileCacheSizeSgix = ((int)0X8145),
-        PackResampleSgix = ((int)0X842c),
-        UnpackResampleSgix = ((int)0X842D),
-        PackSubsampleRateSgix = ((int)0X85a0),
-        UnpackSubsampleRateSgix = ((int)0X85a1),
-    }
-
-    public enum PixelStoreResampleMode
-    {
-        ResampleReplicateSgix = ((int)0X842e),
-        ResampleZeroFillSgix = ((int)0X842f),
-        ResampleDecimateSgix = ((int)0X8430),
-    }
-
-    public enum PixelStoreSubsampleRate
-    {
-        PixelSubsample4444Sgix = ((int)0X85a2),
-        PixelSubsample2424Sgix = ((int)0X85a3),
-        PixelSubsample4242Sgix = ((int)0X85a4),
-    }
-
-    public enum PixelTexGenMode
-    {
-        None = ((int)0),
-        Rgb = ((int)0X1907),
-        Rgba = ((int)0X1908),
-        Luminance = ((int)0X1909),
-        LuminanceAlpha = ((int)0X190a),
-        PixelTexGenAlphaReplaceSgix = ((int)0X8187),
-        PixelTexGenAlphaNoReplaceSgix = ((int)0X8188),
-        PixelTexGenAlphaLsSgix = ((int)0X8189),
-        PixelTexGenAlphaMsSgix = ((int)0X818a),
-    }
-
-    public enum PixelTexGenParameterNameSgis
-    {
-        PixelFragmentRgbSourceSgis = ((int)0X8354),
-        PixelFragmentAlphaSourceSgis = ((int)0X8355),
-    }
-
-    public enum PixelTransferParameter
-    {
-        MapColor = ((int)0X0D10),
-        MapStencil = ((int)0X0D11),
-        IndexShift = ((int)0X0D12),
-        IndexOffset = ((int)0X0D13),
-        RedScale = ((int)0X0D14),
-        RedBias = ((int)0X0D15),
-        GreenScale = ((int)0X0D18),
-        GreenBias = ((int)0X0D19),
-        BlueScale = ((int)0X0D1a),
-        BlueBias = ((int)0X0D1b),
-        AlphaScale = ((int)0X0D1c),
-        AlphaBias = ((int)0X0D1D),
-        DepthScale = ((int)0X0D1e),
-        DepthBias = ((int)0X0D1f),
-        PostConvolutionRedScaleExt = ((int)0X801c),
-        PostConvolutionGreenScaleExt = ((int)0X801D),
-        PostConvolutionBlueScaleExt = ((int)0X801e),
-        PostConvolutionAlphaScaleExt = ((int)0X801f),
-        PostConvolutionRedBiasExt = ((int)0X8020),
-        PostConvolutionGreenBiasExt = ((int)0X8021),
-        PostConvolutionBlueBiasExt = ((int)0X8022),
-        PostConvolutionAlphaBiasExt = ((int)0X8023),
-        PostColorMatrixRedScaleSgi = ((int)0X80b4),
-        PostColorMatrixGreenScaleSgi = ((int)0X80b5),
-        PostColorMatrixBlueScaleSgi = ((int)0X80b6),
-        PostColorMatrixAlphaScaleSgi = ((int)0X80b7),
-        PostColorMatrixRedBiasSgi = ((int)0X80b8),
-        PostColorMatrixGreenBiasSgi = ((int)0X80b9),
-        PostColorMatrixBlueBiasSgi = ((int)0X80ba),
-        PostColorMatrixAlphaBiasSgi = ((int)0X80bb),
-    }
-
-    public enum PixelType
-    {
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        HalfFloat = ((int)0X140b),
-        Bitmap = ((int)0X1a00),
-        UnsignedByte332 = ((int)0X8032),
-        UnsignedByte332Ext = ((int)0X8032),
-        UnsignedShort4444 = ((int)0X8033),
-        UnsignedShort4444Ext = ((int)0X8033),
-        UnsignedShort5551 = ((int)0X8034),
-        UnsignedShort5551Ext = ((int)0X8034),
-        UnsignedInt8888 = ((int)0X8035),
-        UnsignedInt8888Ext = ((int)0X8035),
-        UnsignedInt1010102 = ((int)0X8036),
-        UnsignedInt1010102Ext = ((int)0X8036),
-        UnsignedByte233Reversed = ((int)0X8362),
-        UnsignedShort565 = ((int)0X8363),
-        UnsignedShort565Reversed = ((int)0X8364),
-        UnsignedShort4444Reversed = ((int)0X8365),
-        UnsignedShort1555Reversed = ((int)0X8366),
-        UnsignedInt8888Reversed = ((int)0X8367),
-        UnsignedInt2101010Reversed = ((int)0X8368),
-        UnsignedInt248 = ((int)0X84fa),
-        UnsignedInt10F11F11FRev = ((int)0X8c3b),
-        UnsignedInt5999Rev = ((int)0X8c3e),
-        Float32UnsignedInt248Rev = ((int)0X8Dad),
-    }
-
-    public enum PointParameterName
-    {
-        PointSizeMin = ((int)0X8126),
-        PointSizeMax = ((int)0X8127),
-        PointFadeThresholdSize = ((int)0X8128),
-        PointDistanceAttenuation = ((int)0X8129),
-        PointSpriteCoordOrigin = ((int)0X8ca0),
-    }
-
-    public enum PointParameterNameSgis
-    {
-        PointSizeMinSgis = ((int)0X8126),
-        PointSizeMaxSgis = ((int)0X8127),
-        PointFadeThresholdSizeSgis = ((int)0X8128),
-        DistanceAttenuationSgis = ((int)0X8129),
-    }
-
-    public enum PointSpriteCoordOriginParameter
-    {
-        LowerLeft = ((int)0X8ca1),
-        UpperLeft = ((int)0X8ca2),
-    }
-
-    public enum PolygonMode
-    {
-        Point = ((int)0X1b00),
-        Line = ((int)0X1b01),
-        Fill = ((int)0X1b02),
-    }
-
-    public enum ProgramParameter
-    {
-        ActiveUniformBlockMaxNameLength = ((int)0X8a35),
-        ActiveUniformBlocks = ((int)0X8a36),
-        DeleteStatus = ((int)0X8b80),
-        LinkStatus = ((int)0X8b82),
-        ValidateStatus = ((int)0X8b83),
-        InfoLogLength = ((int)0X8b84),
-        AttachedShaders = ((int)0X8b85),
-        ActiveUniforms = ((int)0X8b86),
-        ActiveUniformMaxLength = ((int)0X8b87),
-        ActiveAttributes = ((int)0X8b89),
-        ActiveAttributeMaxLength = ((int)0X8b8a),
-        TransformFeedbackVaryingMaxLength = ((int)0X8c76),
-        TransformFeedbackBufferMode = ((int)0X8c7f),
-        TransformFeedbackVaryings = ((int)0X8c83),
-    }
-
-    public enum QueryTarget
-    {
-        SamplesPassed = ((int)0X8914),
-        PrimitivesGenerated = ((int)0X8c87),
-        TransformFeedbackPrimitivesWritten = ((int)0X8c88),
-    }
-
-    public enum ReadBufferMode
-    {
-        FrontLeft = ((int)0X0400),
-        FrontRight = ((int)0X0401),
-        BackLeft = ((int)0X0402),
-        BackRight = ((int)0X0403),
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        Left = ((int)0X0406),
-        Right = ((int)0X0407),
-        Aux0 = ((int)0X0409),
-        Aux1 = ((int)0X040a),
-        Aux2 = ((int)0X040b),
-        Aux3 = ((int)0X040c),
-    }
-
-    public enum RenderbufferParameterName
-    {
-        RenderbufferSamples = ((int)0X8cab),
-        RenderbufferWidthExt = ((int)0X8d42),
-        RenderbufferWidth = ((int)0X8D42),
-        RenderbufferHeightExt = ((int)0X8d43),
-        RenderbufferHeight = ((int)0X8D43),
-        RenderbufferInternalFormatExt = ((int)0X8d44),
-        RenderbufferInternalFormat = ((int)0X8D44),
-        RenderbufferRedSizeExt = ((int)0X8d50),
-        RenderbufferRedSize = ((int)0X8D50),
-        RenderbufferGreenSizeExt = ((int)0X8d51),
-        RenderbufferGreenSize = ((int)0X8D51),
-        RenderbufferBlueSizeExt = ((int)0X8d52),
-        RenderbufferBlueSize = ((int)0X8D52),
-        RenderbufferAlphaSizeExt = ((int)0X8d53),
-        RenderbufferAlphaSize = ((int)0X8D53),
-        RenderbufferDepthSizeExt = ((int)0X8d54),
-        RenderbufferDepthSize = ((int)0X8D54),
-        RenderbufferStencilSizeExt = ((int)0X8d55),
-        RenderbufferStencilSize = ((int)0X8D55),
-    }
-
-    public enum RenderbufferStorage
-    {
-        R3G3B2 = ((int)0X2a10),
-        Alpha4 = ((int)0X803b),
-        Alpha8 = ((int)0X803c),
-        Alpha12 = ((int)0X803D),
-        Alpha16 = ((int)0X803e),
-        Rgb4 = ((int)0X804f),
-        Rgb5 = ((int)0X8050),
-        Rgb8 = ((int)0X8051),
-        Rgb10 = ((int)0X8052),
-        Rgb12 = ((int)0X8053),
-        Rgb16 = ((int)0X8054),
-        Rgba2 = ((int)0X8055),
-        Rgba4 = ((int)0X8056),
-        Rgba8 = ((int)0X8058),
-        Rgb10A2 = ((int)0X8059),
-        Rgba12 = ((int)0X805a),
-        Rgba16 = ((int)0X805b),
-        DepthComponent16 = ((int)0X81a5),
-        DepthComponent24 = ((int)0X81a6),
-        DepthComponent32 = ((int)0X81a7),
-        R8 = ((int)0X8229),
-        R16 = ((int)0X822a),
-        Rg8 = ((int)0X822b),
-        Rg16 = ((int)0X822c),
-        R16f = ((int)0X822d),
-        R32f = ((int)0X822e),
-        Rg16f = ((int)0X822f),
-        Rg32f = ((int)0X8230),
-        R8i = ((int)0X8231),
-        R8ui = ((int)0X8232),
-        R16i = ((int)0X8233),
-        R16ui = ((int)0X8234),
-        R32i = ((int)0X8235),
-        R32ui = ((int)0X8236),
-        Rg8i = ((int)0X8237),
-        Rg8ui = ((int)0X8238),
-        Rg16i = ((int)0X8239),
-        Rg16ui = ((int)0X823a),
-        Rg32i = ((int)0X823b),
-        Rg32ui = ((int)0X823c),
-        Rgba32f = ((int)0X8814),
-        Rgb32f = ((int)0X8815),
-        Rgba16f = ((int)0X881a),
-        Rgb16f = ((int)0X881b),
-        Depth24Stencil8 = ((int)0X88f0),
-        R11fG11fB10f = ((int)0X8c3a),
-        Rgb9E5 = ((int)0X8c3D),
-        Srgb8 = ((int)0X8c41),
-        Srgb8Alpha8 = ((int)0X8c43),
-        DepthComponent32f = ((int)0X8cac),
-        Depth32fStencil8 = ((int)0X8cad),
-        StencilIndex1Ext = ((int)0X8d46),
-        StencilIndex1 = ((int)0X8D46),
-        StencilIndex4Ext = ((int)0X8d47),
-        StencilIndex4 = ((int)0X8D47),
-        StencilIndex8Ext = ((int)0X8d48),
-        StencilIndex8 = ((int)0X8D48),
-        StencilIndex16Ext = ((int)0X8d49),
-        StencilIndex16 = ((int)0X8D49),
-        Rgba32ui = ((int)0X8D70),
-        Rgb32ui = ((int)0X8D71),
-        Rgba16ui = ((int)0X8D76),
-        Rgb16ui = ((int)0X8D77),
-        Rgba8ui = ((int)0X8D7c),
-        Rgb8ui = ((int)0X8D7D),
-        Rgba32i = ((int)0X8D82),
-        Rgb32i = ((int)0X8D83),
-        Rgba16i = ((int)0X8D88),
-        Rgb16i = ((int)0X8D89),
-        Rgba8i = ((int)0X8D8e),
-        Rgb8i = ((int)0X8D8f),
-    }
-
-    public enum RenderbufferTarget
-    {
-        RenderbufferExt = ((int)0X8d41),
-        Renderbuffer = ((int)0X8D41),
-    }
-
-    public enum RenderingMode
-    {
-        Render = ((int)0X1c00),
-        Feedback = ((int)0X1c01),
-        Select = ((int)0X1c02),
-    }
-
-    public enum RendScreenCoordinates
-    {
-        ScreenCoordinatesRend = ((int)0X8490),
-        InvertedScreenWRend = ((int)0X8491),
-    }
-
-    public enum S3S3tc
-    {
-        RgbS3tc = ((int)0X83a0),
-        Rgb4S3tc = ((int)0X83a1),
-        RgbaS3tc = ((int)0X83a2),
-        Rgba4S3tc = ((int)0X83a3),
-    }
-
-    public enum SamplePatternSgis
-    {
-        Gl1PassSgis = ((int)0X80a1),
-        Gl2Pass0Sgis = ((int)0X80a2),
-        Gl2Pass1Sgis = ((int)0X80a3),
-        Gl4Pass0Sgis = ((int)0X80a4),
-        Gl4Pass1Sgis = ((int)0X80a5),
-        Gl4Pass2Sgis = ((int)0X80a6),
-        Gl4Pass3Sgis = ((int)0X80a7),
-    }
-
-    public enum SeparableTargetExt
-    {
-        Separable2DExt = ((int)0X8012),
-    }
-
-    public enum SgiColorMatrix
-    {
-        ColorMatrixSgi = ((int)0X80b1),
-        ColorMatrixStackDepthSgi = ((int)0X80b2),
-        MaxColorMatrixStackDepthSgi = ((int)0X80b3),
-        PostColorMatrixRedScaleSgi = ((int)0X80b4),
-        PostColorMatrixGreenScaleSgi = ((int)0X80b5),
-        PostColorMatrixBlueScaleSgi = ((int)0X80b6),
-        PostColorMatrixAlphaScaleSgi = ((int)0X80b7),
-        PostColorMatrixRedBiasSgi = ((int)0X80b8),
-        PostColorMatrixGreenBiasSgi = ((int)0X80b9),
-        PostColorMatrixBlueBiasSgi = ((int)0X80ba),
-        PostColorMatrixAlphaBiasSgi = ((int)0X80bb),
-    }
-
-    public enum SgiColorTable
-    {
-        ColorTableSgi = ((int)0X80d0),
-        PostConvolutionColorTableSgi = ((int)0X80d1),
-        PostColorMatrixColorTableSgi = ((int)0X80d2),
-        ProxyColorTableSgi = ((int)0X80d3),
-        ProxyPostConvolutionColorTableSgi = ((int)0X80d4),
-        ProxyPostColorMatrixColorTableSgi = ((int)0X80d5),
-        ColorTableScaleSgi = ((int)0X80d6),
-        ColorTableBiasSgi = ((int)0X80d7),
-        ColorTableFormatSgi = ((int)0X80d8),
-        ColorTableWidthSgi = ((int)0X80d9),
-        ColorTableRedSizeSgi = ((int)0X80da),
-        ColorTableGreenSizeSgi = ((int)0X80db),
-        ColorTableBlueSizeSgi = ((int)0X80dc),
-        ColorTableAlphaSizeSgi = ((int)0X80dd),
-        ColorTableLuminanceSizeSgi = ((int)0X80de),
-        ColorTableIntensitySizeSgi = ((int)0X80df),
-    }
-
-    public enum SgiDepthPassInstrument
-    {
-        DepthPassInstrumentSgix = ((int)0X8310),
-        DepthPassInstrumentCountersSgix = ((int)0X8311),
-        DepthPassInstrumentMaxSgix = ((int)0X8312),
-    }
-
-    public enum SgisDetailTexture
-    {
-        DetailTexture2DSgis = ((int)0X8095),
-        DetailTexture2DBindingSgis = ((int)0X8096),
-        LinearDetailSgis = ((int)0X8097),
-        LinearDetailAlphaSgis = ((int)0X8098),
-        LinearDetailColorSgis = ((int)0X8099),
-        DetailTextureLevelSgis = ((int)0X809a),
-        DetailTextureModeSgis = ((int)0X809b),
-        DetailTextureFuncPointsSgis = ((int)0X809c),
-    }
-
-    public enum SgisFogFunction
-    {
-        FogFuncSgis = ((int)0X812a),
-        FogFuncPointsSgis = ((int)0X812b),
-        MaxFogFuncPointsSgis = ((int)0X812c),
-    }
-
-    public enum SgisGenerateMipmap
-    {
-        GenerateMipmapSgis = ((int)0X8191),
-        GenerateMipmapHintSgis = ((int)0X8192),
-        GeometryDeformationSgix = ((int)0X8194),
-        TextureDeformationSgix = ((int)0X8195),
-        DeformationsMaskSgix = ((int)0X8196),
-        MaxDeformationOrderSgix = ((int)0X8197),
-    }
-
-    public enum SgisMultisample
-    {
-        MultisampleSgis = ((int)0X809d),
-        SampleAlphaToMaskSgis = ((int)0X809e),
-        SampleAlphaToOneSgis = ((int)0X809f),
-        SampleMaskSgis = ((int)0X80a0),
-        Gl1PassSgis = ((int)0X80a1),
-        Gl2Pass0Sgis = ((int)0X80a2),
-        Gl2Pass1Sgis = ((int)0X80a3),
-        Gl4Pass0Sgis = ((int)0X80a4),
-        Gl4Pass1Sgis = ((int)0X80a5),
-        Gl4Pass2Sgis = ((int)0X80a6),
-        Gl4Pass3Sgis = ((int)0X80a7),
-        SampleBuffersSgis = ((int)0X80a8),
-        SamplesSgis = ((int)0X80a9),
-        SampleMaskValueSgis = ((int)0X80aa),
-        SampleMaskInvertSgis = ((int)0X80ab),
-        SamplePatternSgis = ((int)0X80ac),
-    }
-
-    public enum SgisPixelTexture
-    {
-        PixelTextureSgis = ((int)0X8353),
-        PixelFragmentRgbSourceSgis = ((int)0X8354),
-        PixelFragmentAlphaSourceSgis = ((int)0X8355),
-        PixelGroupColorSgis = ((int)0X8356),
-    }
-
-    public enum SgisPointLineTexgen
-    {
-        EyeDistanceToPointSgis = ((int)0X81f0),
-        ObjectDistanceToPointSgis = ((int)0X81f1),
-        EyeDistanceToLineSgis = ((int)0X81f2),
-        ObjectDistanceToLineSgis = ((int)0X81f3),
-        EyePointSgis = ((int)0X81f4),
-        ObjectPointSgis = ((int)0X81f5),
-        EyeLineSgis = ((int)0X81f6),
-        ObjectLineSgis = ((int)0X81f7),
-    }
-
-    public enum SgisPointParameters
-    {
-        PointSizeMinSgis = ((int)0X8126),
-        PointSizeMaxSgis = ((int)0X8127),
-        PointFadeThresholdSizeSgis = ((int)0X8128),
-        DistanceAttenuationSgis = ((int)0X8129),
-    }
-
-    public enum SgisSharpenTexture
-    {
-        LinearSharpenSgis = ((int)0X80ad),
-        LinearSharpenAlphaSgis = ((int)0X80ae),
-        LinearSharpenColorSgis = ((int)0X80af),
-        SharpenTextureFuncPointsSgis = ((int)0X80b0),
-    }
-
-    public enum SgisTexture4D
-    {
-        PackSkipVolumesSgis = ((int)0X8130),
-        PackImageDepthSgis = ((int)0X8131),
-        UnpackSkipVolumesSgis = ((int)0X8132),
-        UnpackImageDepthSgis = ((int)0X8133),
-        Texture4DSgis = ((int)0X8134),
-        ProxyTexture4DSgis = ((int)0X8135),
-        Texture4DsizeSgis = ((int)0X8136),
-        TextureWrapQSgis = ((int)0X8137),
-        Max4DTextureSizeSgis = ((int)0X8138),
-        Texture4DBindingSgis = ((int)0X814f),
-    }
-
-    public enum SgisTextureBorderClamp
-    {
-        ClampToBorderSgis = ((int)0X812d),
-    }
-
-    [Flags]
-    public enum SgisTextureColorMask
-    {
-        TextureColorWritemaskSgis = ((int)0X81ef),
-    }
-
-    public enum SgisTextureEdgeClamp
-    {
-        ClampToEdgeSgis = ((int)0X812f),
-    }
-
-    public enum SgisTextureFilter4
-    {
-        Filter4Sgis = ((int)0X8146),
-        TextureFilter4SizeSgis = ((int)0X8147),
-    }
-
-    public enum SgisTextureLod
-    {
-        TextureMinLodSgis = ((int)0X813a),
-        TextureMaxLodSgis = ((int)0X813b),
-        TextureBaseLevelSgis = ((int)0X813c),
-        TextureMaxLevelSgis = ((int)0X813d),
-    }
-
-    public enum SgisTextureSelect
-    {
-        DualAlpha4Sgis = ((int)0X8110),
-        DualAlpha8Sgis = ((int)0X8111),
-        DualAlpha12Sgis = ((int)0X8112),
-        DualAlpha16Sgis = ((int)0X8113),
-        DualLuminance4Sgis = ((int)0X8114),
-        DualLuminance8Sgis = ((int)0X8115),
-        DualLuminance12Sgis = ((int)0X8116),
-        DualLuminance16Sgis = ((int)0X8117),
-        DualIntensity4Sgis = ((int)0X8118),
-        DualIntensity8Sgis = ((int)0X8119),
-        DualIntensity12Sgis = ((int)0X811a),
-        DualIntensity16Sgis = ((int)0X811b),
-        DualLuminanceAlpha4Sgis = ((int)0X811c),
-        DualLuminanceAlpha8Sgis = ((int)0X811d),
-        QuadAlpha4Sgis = ((int)0X811e),
-        QuadAlpha8Sgis = ((int)0X811f),
-        QuadLuminance4Sgis = ((int)0X8120),
-        QuadLuminance8Sgis = ((int)0X8121),
-        QuadIntensity4Sgis = ((int)0X8122),
-        QuadIntensity8Sgis = ((int)0X8123),
-        DualTextureSelectSgis = ((int)0X8124),
-        QuadTextureSelectSgis = ((int)0X8125),
-    }
-
-    public enum SgiTextureColorTable
-    {
-        TextureColorTableSgi = ((int)0X80bc),
-        ProxyTextureColorTableSgi = ((int)0X80bd),
-    }
-
-    public enum SgixAsync
-    {
-        AsyncMarkerSgix = ((int)0X8329),
-    }
-
-    public enum SgixAsyncHistogram
-    {
-        AsyncHistogramSgix = ((int)0X832c),
-        MaxAsyncHistogramSgix = ((int)0X832d),
-    }
-
-    public enum SgixAsyncPixel
-    {
-        AsyncTexImageSgix = ((int)0X835c),
-        AsyncDrawPixelsSgix = ((int)0X835d),
-        AsyncReadPixelsSgix = ((int)0X835e),
-        MaxAsyncTexImageSgix = ((int)0X835f),
-        MaxAsyncDrawPixelsSgix = ((int)0X8360),
-        MaxAsyncReadPixelsSgix = ((int)0X8361),
-    }
-
-    public enum SgixBlendAlphaMinmax
-    {
-        AlphaMinSgix = ((int)0X8320),
-        AlphaMaxSgix = ((int)0X8321),
-        AsyncMarkerSgix = ((int)0X8329),
-    }
-
-    public enum SgixCalligraphicFragment
-    {
-        CalligraphicFragmentSgix = ((int)0X8183),
-    }
-
-    public enum SgixClipmap
-    {
-        LinearClipmapLinearSgix = ((int)0X8170),
-        TextureClipmapCenterSgix = ((int)0X8171),
-        TextureClipmapFrameSgix = ((int)0X8172),
-        TextureClipmapOffsetSgix = ((int)0X8173),
-        TextureClipmapVirtualDepthSgix = ((int)0X8174),
-        TextureClipmapLodOffsetSgix = ((int)0X8175),
-        TextureClipmapDepthSgix = ((int)0X8176),
-        MaxClipmapDepthSgix = ((int)0X8177),
-        MaxClipmapVirtualDepthSgix = ((int)0X8178),
-        NearestClipmapNearestSgix = ((int)0X844d),
-        NearestClipmapLinearSgix = ((int)0X844e),
-        LinearClipmapNearestSgix = ((int)0X844f),
-    }
-
-    public enum SgixConvolutionAccuracy
-    {
-        ConvolutionHintSgix = ((int)0X8316),
-    }
-
-    public enum SgixDepthTexture
-    {
-        DepthComponent16Sgix = ((int)0X81a5),
-        DepthComponent24Sgix = ((int)0X81a6),
-        DepthComponent32Sgix = ((int)0X81a7),
-    }
-
-    public enum SgixFlushRaster
-    {
-    }
-
-    public enum SgixFogOffset
-    {
-        FogOffsetSgix = ((int)0X8198),
-        FogOffsetValueSgix = ((int)0X8199),
-    }
-
-    public enum SgixFogScale
-    {
-        FogScaleSgix = ((int)0X81fc),
-        FogScaleValueSgix = ((int)0X81fd),
-    }
-
-    public enum SgixFragmentLighting
-    {
-        FragmentLightingSgix = ((int)0X8400),
-        FragmentColorMaterialSgix = ((int)0X8401),
-        FragmentColorMaterialFaceSgix = ((int)0X8402),
-        FragmentColorMaterialParameterSgix = ((int)0X8403),
-        MaxFragmentLightsSgix = ((int)0X8404),
-        MaxActiveLightsSgix = ((int)0X8405),
-        CurrentRasterNormalSgix = ((int)0X8406),
-        LightEnvModeSgix = ((int)0X8407),
-        FragmentLightModelLocalViewerSgix = ((int)0X8408),
-        FragmentLightModelTwoSideSgix = ((int)0X8409),
-        FragmentLightModelAmbientSgix = ((int)0X840a),
-        FragmentLightModelNormalInterpolationSgix = ((int)0X840b),
-        FragmentLight0Sgix = ((int)0X840c),
-        FragmentLight1Sgix = ((int)0X840d),
-        FragmentLight2Sgix = ((int)0X840e),
-        FragmentLight3Sgix = ((int)0X840f),
-        FragmentLight4Sgix = ((int)0X8410),
-        FragmentLight5Sgix = ((int)0X8411),
-        FragmentLight6Sgix = ((int)0X8412),
-        FragmentLight7Sgix = ((int)0X8413),
-    }
-
-    public enum SgixFramezoom
-    {
-        FramezoomSgix = ((int)0X818b),
-        FramezoomFactorSgix = ((int)0X818c),
-        MaxFramezoomFactorSgix = ((int)0X818d),
-    }
-
-    public enum SgixImpactPixelTexture
-    {
-        PixelTexGenQCeilingSgix = ((int)0X8184),
-        PixelTexGenQRoundSgix = ((int)0X8185),
-        PixelTexGenQFloorSgix = ((int)0X8186),
-        PixelTexGenAlphaReplaceSgix = ((int)0X8187),
-        PixelTexGenAlphaNoReplaceSgix = ((int)0X8188),
-        PixelTexGenAlphaLsSgix = ((int)0X8189),
-        PixelTexGenAlphaMsSgix = ((int)0X818a),
-    }
-
-    public enum SgixInstruments
-    {
-        InstrumentBufferPointerSgix = ((int)0X8180),
-        InstrumentMeasurementsSgix = ((int)0X8181),
-    }
-
-    public enum SgixInterlace
-    {
-        InterlaceSgix = ((int)0X8094),
-    }
-
-    public enum SgixIrInstrument1
-    {
-        IrInstrument1Sgix = ((int)0X817f),
-    }
-
-    public enum SgixListPriority
-    {
-        ListPrioritySgix = ((int)0X8182),
-    }
-
-    public enum SgixPixelTexture
-    {
-        PixelTexGenSgix = ((int)0X8139),
-        PixelTexGenModeSgix = ((int)0X832b),
-    }
-
-    public enum SgixPixelTiles
-    {
-        PixelTileBestAlignmentSgix = ((int)0X813e),
-        PixelTileCacheIncrementSgix = ((int)0X813f),
-        PixelTileWidthSgix = ((int)0X8140),
-        PixelTileHeightSgix = ((int)0X8141),
-        PixelTileGridWidthSgix = ((int)0X8142),
-        PixelTileGridHeightSgix = ((int)0X8143),
-        PixelTileGridDepthSgix = ((int)0X8144),
-        PixelTileCacheSizeSgix = ((int)0X8145),
-    }
-
-    public enum SgixPolynomialFfd
-    {
-        GeometryDeformationSgix = ((int)0X8194),
-        TextureDeformationSgix = ((int)0X8195),
-        DeformationsMaskSgix = ((int)0X8196),
-        MaxDeformationOrderSgix = ((int)0X8197),
-    }
-
-    public enum SgixReferencePlane
-    {
-        ReferencePlaneSgix = ((int)0X817d),
-        ReferencePlaneEquationSgix = ((int)0X817e),
-    }
-
-    public enum SgixResample
-    {
-        PackResampleSgix = ((int)0X842c),
-        UnpackResampleSgix = ((int)0X842d),
-        ResampleReplicateSgix = ((int)0X842e),
-        ResampleZeroFillSgix = ((int)0X842f),
-        ResampleDecimateSgix = ((int)0X8430),
-    }
-
-    public enum SgixScalebiasHint
-    {
-        ScalebiasHintSgix = ((int)0X8322),
-    }
-
-    public enum SgixShadow
-    {
-        TextureCompareSgix = ((int)0X819a),
-        TextureCompareOperatorSgix = ((int)0X819b),
-        TextureLequalRSgix = ((int)0X819c),
-        TextureGequalRSgix = ((int)0X819d),
-    }
-
-    public enum SgixShadowAmbient
-    {
-        ShadowAmbientSgix = ((int)0X80bf),
-    }
-
-    public enum SgixSprite
-    {
-        SpriteSgix = ((int)0X8148),
-        SpriteModeSgix = ((int)0X8149),
-        SpriteAxisSgix = ((int)0X814a),
-        SpriteTranslationSgix = ((int)0X814b),
-        SpriteAxialSgix = ((int)0X814c),
-        SpriteObjectAlignedSgix = ((int)0X814d),
-        SpriteEyeAlignedSgix = ((int)0X814e),
-    }
-
-    public enum SgixSubsample
-    {
-        PackSubsampleRateSgix = ((int)0X85a0),
-        UnpackSubsampleRateSgix = ((int)0X85a1),
-        PixelSubsample4444Sgix = ((int)0X85a2),
-        PixelSubsample2424Sgix = ((int)0X85a3),
-        PixelSubsample4242Sgix = ((int)0X85a4),
-    }
-
-    public enum SgixTagSampleBuffer
-    {
-    }
-
-    public enum SgixTextureAddEnv
-    {
-        TextureEnvBiasSgix = ((int)0X80be),
-    }
-
-    public enum SgixTextureCoordinateClamp
-    {
-        TextureMaxClampSSgix = ((int)0X8369),
-        TextureMaxClampTSgix = ((int)0X836a),
-        TextureMaxClampRSgix = ((int)0X836b),
-        FogFactorToAlphaSgix = ((int)0X836f),
-    }
-
-    public enum SgixTextureLodBias
-    {
-        TextureLodBiasSSgix = ((int)0X818e),
-        TextureLodBiasTSgix = ((int)0X818f),
-        TextureLodBiasRSgix = ((int)0X8190),
-    }
-
-    public enum SgixTextureMultiBuffer
-    {
-        TextureMultiBufferHintSgix = ((int)0X812e),
-    }
-
-    public enum SgixTextureScaleBias
-    {
-        PostTextureFilterBiasSgix = ((int)0X8179),
-        PostTextureFilterScaleSgix = ((int)0X817a),
-        PostTextureFilterBiasRangeSgix = ((int)0X817b),
-        PostTextureFilterScaleRangeSgix = ((int)0X817c),
-    }
-
-    public enum SgixVertexPreclip
-    {
-        VertexPreclipSgix = ((int)0X83ee),
-        VertexPreclipHintSgix = ((int)0X83ef),
-    }
-
-    public enum SgixYcrcb
-    {
-        Ycrcb422Sgix = ((int)0X81bb),
-        Ycrcb444Sgix = ((int)0X81bc),
-    }
-
-    public enum SgixYcrcba
-    {
-        YcrcbSgix = ((int)0X8318),
-        YcrcbaSgix = ((int)0X8319),
-    }
-
-    public enum SgixYcrcbSubsample
-    {
-        PackSubsampleRateSgix = ((int)0X85a0),
-        UnpackSubsampleRateSgix = ((int)0X85a1),
-        PixelSubsample4444Sgix = ((int)0X85a2),
-        PixelSubsample2424Sgix = ((int)0X85a3),
-        PixelSubsample4242Sgix = ((int)0X85a4),
-    }
-
-    public enum ShaderParameter
-    {
-        ShaderType = ((int)0X8b4f),
-        DeleteStatus = ((int)0X8b80),
-        CompileStatus = ((int)0X8b81),
-        InfoLogLength = ((int)0X8b84),
-        ShaderSourceLength = ((int)0X8b88),
-    }
-
-    public enum ShaderType
-    {
-        FragmentShader = ((int)0X8b30),
-        VertexShader = ((int)0X8b31),
-        GeometryShaderExt = ((int)0X8dd9),
-    }
-
-    public enum ShadingModel
-    {
-        Flat = ((int)0X1d00),
-        Smooth = ((int)0X1d01),
-    }
-
-    public enum SizedInternalFormat
-    {
-        Rgba8 = ((int)0X8058),
-        Rgba16 = ((int)0X805b),
-        R8 = ((int)0X8229),
-        R16 = ((int)0X822a),
-        Rg8 = ((int)0X822b),
-        Rg16 = ((int)0X822c),
-        R16f = ((int)0X822d),
-        R32f = ((int)0X822e),
-        Rg16f = ((int)0X822f),
-        Rg32f = ((int)0X8230),
-        R8i = ((int)0X8231),
-        R8ui = ((int)0X8232),
-        R16i = ((int)0X8233),
-        R16ui = ((int)0X8234),
-        R32i = ((int)0X8235),
-        R32ui = ((int)0X8236),
-        Rg8i = ((int)0X8237),
-        Rg8ui = ((int)0X8238),
-        Rg16i = ((int)0X8239),
-        Rg16ui = ((int)0X823a),
-        Rg32i = ((int)0X823b),
-        Rg32ui = ((int)0X823c),
-        Rgba32f = ((int)0X8814),
-        Rgba16f = ((int)0X881a),
-        Rgba32ui = ((int)0X8D70),
-        Rgba16ui = ((int)0X8D76),
-        Rgba8ui = ((int)0X8D7c),
-        Rgba32i = ((int)0X8D82),
-        Rgba16i = ((int)0X8D88),
-        Rgba8i = ((int)0X8D8e),
-    }
-
-    public enum StencilFace
-    {
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        FrontAndBack = ((int)0X0408),
-    }
-
-    public enum StencilFunction
-    {
-        Never = ((int)0X0200),
-        Less = ((int)0X0201),
-        Equal = ((int)0X0202),
-        Lequal = ((int)0X0203),
-        Greater = ((int)0X0204),
-        Notequal = ((int)0X0205),
-        Gequal = ((int)0X0206),
-        Always = ((int)0X0207),
-    }
-
-    public enum StencilOp
-    {
-        Zero = ((int)0),
-        Invert = ((int)0X150a),
-        Keep = ((int)0X1e00),
-        Replace = ((int)0X1e01),
-        Incr = ((int)0X1e02),
-        Decr = ((int)0X1e03),
-        IncrWrap = ((int)0X8507),
-        DecrWrap = ((int)0X8508),
-    }
-
-    public enum StringName
-    {
-        Vendor = ((int)0X1f00),
-        Renderer = ((int)0X1f01),
-        Version = ((int)0X1f02),
-        Extensions = ((int)0X1f03),
-        ShadingLanguageVersion = ((int)0X8b8c),
-    }
-
-    public enum SunConvolutionBorderModes
-    {
-        WrapBorderSun = ((int)0X81d4),
-    }
-
-    public enum SunGlobalAlpha
-    {
-        GlobalAlphaSun = ((int)0X81d9),
-        GlobalAlphaFactorSun = ((int)0X81da),
-    }
-
-    public enum SunMeshArray
-    {
-        QuadMeshSun = ((int)0X8614),
-        TriangleMeshSun = ((int)0X8615),
-    }
-
-    public enum SunSliceAccum
-    {
-        SliceAccumSun = ((int)0X85cc),
-    }
-
-    public enum SunTriangleList
-    {
-        RestartSun = ((int)0X0001),
-        ReplaceMiddleSun = ((int)0X0002),
-        ReplaceOldestSun = ((int)0X0003),
-        TriangleListSun = ((int)0X81d7),
-        ReplacementCodeSun = ((int)0X81d8),
-        ReplacementCodeArraySun = ((int)0X85c0),
-        ReplacementCodeArrayTypeSun = ((int)0X85c1),
-        ReplacementCodeArrayStrideSun = ((int)0X85c2),
-        ReplacementCodeArrayPointerSun = ((int)0X85c3),
-        R1uiV3fSun = ((int)0X85c4),
-        R1uiC4ubV3fSun = ((int)0X85c5),
-        R1uiC3fV3fSun = ((int)0X85c6),
-        R1uiN3fV3fSun = ((int)0X85c7),
-        R1uiC4fN3fV3fSun = ((int)0X85c8),
-        R1uiT2fV3fSun = ((int)0X85c9),
-        R1uiT2fN3fV3fSun = ((int)0X85ca),
-        R1uiT2fC4fN3fV3fSun = ((int)0X85cb),
-    }
-
-    public enum SunVertex
-    {
-    }
-
-    public enum SunxConstantData
-    {
-        UnpackConstantDataSunx = ((int)0X81d5),
-        TextureConstantDataSunx = ((int)0X81d6),
-    }
-
-    public enum TexCoordPointerType
-    {
-        Short = ((int)0X1402),
-        Int = ((int)0X1404),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum TextureBufferTarget
-    {
-        TextureBuffer = ((int)0X8c2a),
-    }
-
-    public enum TextureCompareMode
-    {
-        CompareRefToTexture = ((int)0X884e),
-        CompareRToTexture = ((int)0X884e),
-    }
-
-    public enum TextureCoordName
-    {
-        S = ((int)0X2000),
-        T = ((int)0X2001),
-        R = ((int)0X2002),
-        Q = ((int)0X2003),
-    }
-
-    public enum TextureEnvMode
-    {
-        Add = ((int)0X0104),
-        Blend = ((int)0X0be2),
-        Replace = ((int)0X1e01),
-        Modulate = ((int)0X2100),
-        Decal = ((int)0X2101),
-        ReplaceExt = ((int)0X8062),
-        TextureEnvBiasSgix = ((int)0X80be),
-        Combine = ((int)0X8570),
-    }
-
-    public enum TextureEnvModeCombine
-    {
-        Add = ((int)0X0104),
-        Replace = ((int)0X1e01),
-        Modulate = ((int)0X2100),
-        Subtract = ((int)0X84e7),
-        AddSigned = ((int)0X8574),
-        Interpolate = ((int)0X8575),
-        Dot3Rgb = ((int)0X86ae),
-        Dot3Rgba = ((int)0X86af),
-    }
-
-    public enum TextureEnvModeOperandAlpha
-    {
-        SrcAlpha = ((int)0X0302),
-        OneMinusSrcAlpha = ((int)0X0303),
-    }
-
-    public enum TextureEnvModeOperandRgb
-    {
-        SrcColor = ((int)0X0300),
-        OneMinusSrcColor = ((int)0X0301),
-        SrcAlpha = ((int)0X0302),
-        OneMinusSrcAlpha = ((int)0X0303),
-    }
-
-    public enum TextureEnvModePointSprite
-    {
-        False = ((int)0),
-        True = ((int)1),
-    }
-
-    public enum TextureEnvModeScale
-    {
-        One = ((int)1),
-        Two = ((int)2),
-        Four = ((int)4),
-    }
-
-    public enum TextureEnvModeSource
-    {
-        Texture = ((int)0X1702),
-        Texture0 = ((int)0X84c0),
-        Texture1 = ((int)0X84c1),
-        Texture2 = ((int)0X84c2),
-        Texture3 = ((int)0X84c3),
-        Texture4 = ((int)0X84c4),
-        Texture5 = ((int)0X84c5),
-        Texture6 = ((int)0X84c6),
-        Texture7 = ((int)0X84c7),
-        Texture8 = ((int)0X84c8),
-        Texture9 = ((int)0X84c9),
-        Texture10 = ((int)0X84ca),
-        Texture11 = ((int)0X84cb),
-        Texture12 = ((int)0X84cc),
-        Texture13 = ((int)0X84cd),
-        Texture14 = ((int)0X84ce),
-        Texture15 = ((int)0X84cf),
-        Texture16 = ((int)0X84d0),
-        Texture17 = ((int)0X84d1),
-        Texture18 = ((int)0X84d2),
-        Texture19 = ((int)0X84d3),
-        Texture20 = ((int)0X84d4),
-        Texture21 = ((int)0X84d5),
-        Texture22 = ((int)0X84d6),
-        Texture23 = ((int)0X84d7),
-        Texture24 = ((int)0X84d8),
-        Texture25 = ((int)0X84d9),
-        Texture26 = ((int)0X84da),
-        Texture27 = ((int)0X84db),
-        Texture28 = ((int)0X84dc),
-        Texture29 = ((int)0X84dd),
-        Texture30 = ((int)0X84de),
-        Texture31 = ((int)0X84df),
-        Constant = ((int)0X8576),
-        PrimaryColor = ((int)0X8577),
-        Previous = ((int)0X8578),
-    }
-
-    public enum TextureEnvParameter
-    {
-        AlphaScale = ((int)0X0D1c),
-        TextureEnvMode = ((int)0X2200),
-        TextureEnvColor = ((int)0X2201),
-        TextureLodBias = ((int)0X8501),
-        CombineRgb = ((int)0X8571),
-        CombineAlpha = ((int)0X8572),
-        RgbScale = ((int)0X8573),
-        Source0Rgb = ((int)0X8580),
-        Src1Rgb = ((int)0X8581),
-        Src2Rgb = ((int)0X8582),
-        Src0Alpha = ((int)0X8588),
-        Src1Alpha = ((int)0X8589),
-        Src2Alpha = ((int)0X858a),
-        Operand0Rgb = ((int)0X8590),
-        Operand1Rgb = ((int)0X8591),
-        Operand2Rgb = ((int)0X8592),
-        Operand0Alpha = ((int)0X8598),
-        Operand1Alpha = ((int)0X8599),
-        Operand2Alpha = ((int)0X859a),
-        CoordReplace = ((int)0X8862),
-    }
-
-    public enum TextureEnvTarget
-    {
-        TextureEnv = ((int)0X2300),
-        TextureFilterControl = ((int)0X8500),
-        PointSprite = ((int)0X8861),
-    }
-
-    public enum TextureFilterFuncSgis
-    {
-        Filter4Sgis = ((int)0X8146),
-    }
-
-    public enum TextureGenMode
-    {
-        EyeLinear = ((int)0X2400),
-        ObjectLinear = ((int)0X2401),
-        SphereMap = ((int)0X2402),
-        EyeDistanceToPointSgis = ((int)0X81f0),
-        ObjectDistanceToPointSgis = ((int)0X81f1),
-        EyeDistanceToLineSgis = ((int)0X81f2),
-        ObjectDistanceToLineSgis = ((int)0X81f3),
-        NormalMap = ((int)0X8511),
-        ReflectionMap = ((int)0X8512),
-    }
-
-    public enum TextureGenParameter
-    {
-        TextureGenMode = ((int)0X2500),
-        ObjectPlane = ((int)0X2501),
-        EyePlane = ((int)0X2502),
-        EyePointSgis = ((int)0X81f4),
-        ObjectPointSgis = ((int)0X81f5),
-        EyeLineSgis = ((int)0X81f6),
-        ObjectLineSgis = ((int)0X81f7),
-    }
-
-    public enum TextureMagFilter
-    {
-        Nearest = ((int)0X2600),
-        Linear = ((int)0X2601),
-        LinearDetailSgis = ((int)0X8097),
-        LinearDetailAlphaSgis = ((int)0X8098),
-        LinearDetailColorSgis = ((int)0X8099),
-        LinearSharpenSgis = ((int)0X80ad),
-        LinearSharpenAlphaSgis = ((int)0X80ae),
-        LinearSharpenColorSgis = ((int)0X80af),
-        Filter4Sgis = ((int)0X8146),
-        PixelTexGenQCeilingSgix = ((int)0X8184),
-        PixelTexGenQRoundSgix = ((int)0X8185),
-        PixelTexGenQFloorSgix = ((int)0X8186),
-    }
-
-    public enum TextureMinFilter
-    {
-        Nearest = ((int)0X2600),
-        Linear = ((int)0X2601),
-        NearestMipmapNearest = ((int)0X2700),
-        LinearMipmapNearest = ((int)0X2701),
-        NearestMipmapLinear = ((int)0X2702),
-        LinearMipmapLinear = ((int)0X2703),
-        Filter4Sgis = ((int)0X8146),
-        LinearClipmapLinearSgix = ((int)0X8170),
-        PixelTexGenQCeilingSgix = ((int)0X8184),
-        PixelTexGenQRoundSgix = ((int)0X8185),
-        PixelTexGenQFloorSgix = ((int)0X8186),
-        NearestClipmapNearestSgix = ((int)0X844D),
-        NearestClipmapLinearSgix = ((int)0X844e),
-        LinearClipmapNearestSgix = ((int)0X844f),
-    }
-
-    public enum TextureParameterName
-    {
-        TextureBorderColor = ((int)0X1004),
-        Red = ((int)0X1903),
-        TextureMagFilter = ((int)0X2800),
-        TextureMinFilter = ((int)0X2801),
-        TextureWrapS = ((int)0X2802),
-        TextureWrapT = ((int)0X2803),
-        TexturePriority = ((int)0X8066),
-        TextureDepth = ((int)0X8071),
-        TextureWrapR = ((int)0X8072),
-        TextureWrapRExt = ((int)0X8072),
-        DetailTextureLevelSgis = ((int)0X809a),
-        DetailTextureModeSgis = ((int)0X809b),
-        ShadowAmbientSgix = ((int)0X80bf),
-        TextureCompareFailValue = ((int)0X80bf),
-        DualTextureSelectSgis = ((int)0X8124),
-        QuadTextureSelectSgis = ((int)0X8125),
-        ClampToBorder = ((int)0X812d),
-        ClampToEdge = ((int)0X812f),
-        TextureWrapQSgis = ((int)0X8137),
-        TextureMinLod = ((int)0X813a),
-        TextureMaxLod = ((int)0X813b),
-        TextureBaseLevel = ((int)0X813c),
-        TextureMaxLevel = ((int)0X813D),
-        TextureClipmapCenterSgix = ((int)0X8171),
-        TextureClipmapFrameSgix = ((int)0X8172),
-        TextureClipmapOffsetSgix = ((int)0X8173),
-        TextureClipmapVirtualDepthSgix = ((int)0X8174),
-        TextureClipmapLodOffsetSgix = ((int)0X8175),
-        TextureClipmapDepthSgix = ((int)0X8176),
-        PostTextureFilterBiasSgix = ((int)0X8179),
-        PostTextureFilterScaleSgix = ((int)0X817a),
-        TextureLodBiasSSgix = ((int)0X818e),
-        TextureLodBiasTSgix = ((int)0X818f),
-        TextureLodBiasRSgix = ((int)0X8190),
-        GenerateMipmap = ((int)0X8191),
-        GenerateMipmapSgis = ((int)0X8191),
-        TextureCompareSgix = ((int)0X819a),
-        TextureCompareOperatorSgix = ((int)0X819b),
-        TextureMaxClampSSgix = ((int)0X8369),
-        TextureMaxClampTSgix = ((int)0X836a),
-        TextureMaxClampRSgix = ((int)0X836b),
-        DepthTextureMode = ((int)0X884b),
-        TextureCompareMode = ((int)0X884c),
-        TextureCompareFunc = ((int)0X884d),
-    }
-
-    public enum TextureTarget
-    {
-        Texture1D = ((int)0X0De0),
-        Texture2D = ((int)0X0De1),
-        ProxyTexture1D = ((int)0X8063),
-        ProxyTexture2D = ((int)0X8064),
-        Texture3D = ((int)0X806f),
-        ProxyTexture3D = ((int)0X8070),
-        DetailTexture2DSgis = ((int)0X8095),
-        Texture4DSgis = ((int)0X8134),
-        ProxyTexture4DSgis = ((int)0X8135),
-        TextureMinLod = ((int)0X813a),
-        TextureMaxLod = ((int)0X813b),
-        TextureBaseLevel = ((int)0X813c),
-        TextureMaxLevel = ((int)0X813d),
-        TextureRectangleArb = ((int)0X84f5),
-        TextureRectangleNv = ((int)0X84f5),
-        TextureCubeMap = ((int)0X8513),
-        TextureBindingCubeMap = ((int)0X8514),
-        TextureCubeMapPositiveX = ((int)0X8515),
-        TextureCubeMapNegativeX = ((int)0X8516),
-        TextureCubeMapPositiveY = ((int)0X8517),
-        TextureCubeMapNegativeY = ((int)0X8518),
-        TextureCubeMapPositiveZ = ((int)0X8519),
-        TextureCubeMapNegativeZ = ((int)0X851a),
-        ProxyTextureCubeMap = ((int)0X851b),
-        Texture1DArray = ((int)0X8c18),
-        ProxyTexture1DArray = ((int)0X8c19),
-        Texture2DArray = ((int)0X8c1a),
-        ProxyTexture2DArray = ((int)0X8c1b),
-    }
-
-    public enum TextureUnit
-    {
-        Texture0 = ((int)0X84c0),
-        Texture1 = ((int)0X84c1),
-        Texture2 = ((int)0X84c2),
-        Texture3 = ((int)0X84c3),
-        Texture4 = ((int)0X84c4),
-        Texture5 = ((int)0X84c5),
-        Texture6 = ((int)0X84c6),
-        Texture7 = ((int)0X84c7),
-        Texture8 = ((int)0X84c8),
-        Texture9 = ((int)0X84c9),
-        Texture10 = ((int)0X84ca),
-        Texture11 = ((int)0X84cb),
-        Texture12 = ((int)0X84cc),
-        Texture13 = ((int)0X84cd),
-        Texture14 = ((int)0X84ce),
-        Texture15 = ((int)0X84cf),
-        Texture16 = ((int)0X84d0),
-        Texture17 = ((int)0X84d1),
-        Texture18 = ((int)0X84d2),
-        Texture19 = ((int)0X84d3),
-        Texture20 = ((int)0X84d4),
-        Texture21 = ((int)0X84d5),
-        Texture22 = ((int)0X84d6),
-        Texture23 = ((int)0X84d7),
-        Texture24 = ((int)0X84d8),
-        Texture25 = ((int)0X84d9),
-        Texture26 = ((int)0X84da),
-        Texture27 = ((int)0X84db),
-        Texture28 = ((int)0X84dc),
-        Texture29 = ((int)0X84dd),
-        Texture30 = ((int)0X84de),
-        Texture31 = ((int)0X84df),
-    }
-
-    public enum TextureWrapMode
-    {
-        Clamp = ((int)0X2900),
-        Repeat = ((int)0X2901),
-        ClampToBorder = ((int)0X812d),
-        ClampToEdge = ((int)0X812f),
-        MirroredRepeat = ((int)0X8370),
-    }
-
-    public enum TransformFeedbackMode
-    {
-        InterleavedAttribs = ((int)0X8c8c),
-        SeparateAttribs = ((int)0X8c8d),
-    }
-
-    public enum Version11
-    {
-        False = ((int)0),
-        NoError = ((int)0),
-        None = ((int)0),
-        Zero = ((int)0),
-        Points = ((int)0X0000),
-        DepthBufferBit = ((int)0X00000100),
-        StencilBufferBit = ((int)0X00000400),
-        ColorBufferBit = ((int)0X00004000),
-        Lines = ((int)0X0001),
-        LineLoop = ((int)0X0002),
-        LineStrip = ((int)0X0003),
-        Triangles = ((int)0X0004),
-        TriangleStrip = ((int)0X0005),
-        TriangleFan = ((int)0X0006),
-        Never = ((int)0X0200),
-        Less = ((int)0X0201),
-        Equal = ((int)0X0202),
-        Lequal = ((int)0X0203),
-        Greater = ((int)0X0204),
-        Notequal = ((int)0X0205),
-        Gequal = ((int)0X0206),
-        Always = ((int)0X0207),
-        SrcColor = ((int)0X0300),
-        OneMinusSrcColor = ((int)0X0301),
-        SrcAlpha = ((int)0X0302),
-        OneMinusSrcAlpha = ((int)0X0303),
-        DstAlpha = ((int)0X0304),
-        OneMinusDstAlpha = ((int)0X0305),
-        DstColor = ((int)0X0306),
-        OneMinusDstColor = ((int)0X0307),
-        SrcAlphaSaturate = ((int)0X0308),
-        FrontLeft = ((int)0X0400),
-        FrontRight = ((int)0X0401),
-        BackLeft = ((int)0X0402),
-        BackRight = ((int)0X0403),
-        Front = ((int)0X0404),
-        Back = ((int)0X0405),
-        Left = ((int)0X0406),
-        Right = ((int)0X0407),
-        FrontAndBack = ((int)0X0408),
-        InvalidEnum = ((int)0X0500),
-        InvalidValue = ((int)0X0501),
-        InvalidOperation = ((int)0X0502),
-        OutOfMemory = ((int)0X0505),
-        Cw = ((int)0X0900),
-        Ccw = ((int)0X0901),
-        PointSize = ((int)0X0b11),
-        PointSizeRange = ((int)0X0b12),
-        PointSizeGranularity = ((int)0X0b13),
-        LineSmooth = ((int)0X0b20),
-        LineWidth = ((int)0X0b21),
-        LineWidthRange = ((int)0X0b22),
-        LineWidthGranularity = ((int)0X0b23),
-        PolygonSmooth = ((int)0X0b41),
-        CullFace = ((int)0X0b44),
-        CullFaceMode = ((int)0X0b45),
-        FrontFace = ((int)0X0b46),
-        DepthRange = ((int)0X0b70),
-        DepthTest = ((int)0X0b71),
-        DepthWritemask = ((int)0X0b72),
-        DepthClearValue = ((int)0X0b73),
-        DepthFunc = ((int)0X0b74),
-        StencilTest = ((int)0X0b90),
-        StencilClearValue = ((int)0X0b91),
-        StencilFunc = ((int)0X0b92),
-        StencilValueMask = ((int)0X0b93),
-        StencilFail = ((int)0X0b94),
-        StencilPassDepthFail = ((int)0X0b95),
-        StencilPassDepthPass = ((int)0X0b96),
-        StencilRef = ((int)0X0b97),
-        StencilWritemask = ((int)0X0b98),
-        Viewport = ((int)0X0ba2),
-        Dither = ((int)0X0bd0),
-        BlendDst = ((int)0X0be0),
-        BlendSrc = ((int)0X0be1),
-        Blend = ((int)0X0be2),
-        LogicOpMode = ((int)0X0bf0),
-        ColorLogicOp = ((int)0X0bf2),
-        DrawBuffer = ((int)0X0c01),
-        ReadBuffer = ((int)0X0c02),
-        ScissorBox = ((int)0X0c10),
-        ScissorTest = ((int)0X0c11),
-        ColorClearValue = ((int)0X0c22),
-        ColorWritemask = ((int)0X0c23),
-        Doublebuffer = ((int)0X0c32),
-        Stereo = ((int)0X0c33),
-        LineSmoothHint = ((int)0X0c52),
-        PolygonSmoothHint = ((int)0X0c53),
-        UnpackSwapBytes = ((int)0X0cf0),
-        UnpackLsbFirst = ((int)0X0cf1),
-        UnpackRowLength = ((int)0X0cf2),
-        UnpackSkipRows = ((int)0X0cf3),
-        UnpackSkipPixels = ((int)0X0cf4),
-        UnpackAlignment = ((int)0X0cf5),
-        PackSwapBytes = ((int)0X0d00),
-        PackLsbFirst = ((int)0X0d01),
-        PackRowLength = ((int)0X0d02),
-        PackSkipRows = ((int)0X0d03),
-        PackSkipPixels = ((int)0X0d04),
-        PackAlignment = ((int)0X0d05),
-        MaxTextureSize = ((int)0X0d33),
-        MaxViewportDims = ((int)0X0d3a),
-        SubpixelBits = ((int)0X0d50),
-        Texture1D = ((int)0X0de0),
-        Texture2D = ((int)0X0de1),
-        TextureWidth = ((int)0X1000),
-        TextureHeight = ((int)0X1001),
-        TextureInternalFormat = ((int)0X1003),
-        TextureBorderColor = ((int)0X1004),
-        TextureBorder = ((int)0X1005),
-        DontCare = ((int)0X1100),
-        Fastest = ((int)0X1101),
-        Nicest = ((int)0X1102),
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        Clear = ((int)0X1500),
-        And = ((int)0X1501),
-        AndReverse = ((int)0X1502),
-        Copy = ((int)0X1503),
-        AndInverted = ((int)0X1504),
-        Noop = ((int)0X1505),
-        Xor = ((int)0X1506),
-        Or = ((int)0X1507),
-        Nor = ((int)0X1508),
-        Equiv = ((int)0X1509),
-        Invert = ((int)0X150a),
-        OrReverse = ((int)0X150b),
-        CopyInverted = ((int)0X150c),
-        OrInverted = ((int)0X150d),
-        Nand = ((int)0X150e),
-        Set = ((int)0X150f),
-        Texture = ((int)0X1702),
-        Color = ((int)0X1800),
-        Depth = ((int)0X1801),
-        Stencil = ((int)0X1802),
-        StencilIndex = ((int)0X1901),
-        DepthComponent = ((int)0X1902),
-        Red = ((int)0X1903),
-        Green = ((int)0X1904),
-        Blue = ((int)0X1905),
-        Alpha = ((int)0X1906),
-        Rgb = ((int)0X1907),
-        Rgba = ((int)0X1908),
-        Point = ((int)0X1b00),
-        Line = ((int)0X1b01),
-        Fill = ((int)0X1b02),
-        Keep = ((int)0X1e00),
-        Replace = ((int)0X1e01),
-        Incr = ((int)0X1e02),
-        Decr = ((int)0X1e03),
-        Vendor = ((int)0X1f00),
-        Renderer = ((int)0X1f01),
-        Version = ((int)0X1f02),
-        Extensions = ((int)0X1f03),
-        Nearest = ((int)0X2600),
-        Linear = ((int)0X2601),
-        NearestMipmapNearest = ((int)0X2700),
-        LinearMipmapNearest = ((int)0X2701),
-        NearestMipmapLinear = ((int)0X2702),
-        LinearMipmapLinear = ((int)0X2703),
-        TextureMagFilter = ((int)0X2800),
-        TextureMinFilter = ((int)0X2801),
-        TextureWrapS = ((int)0X2802),
-        TextureWrapT = ((int)0X2803),
-        Repeat = ((int)0X2901),
-        PolygonOffsetUnits = ((int)0X2a00),
-        PolygonOffsetPoint = ((int)0X2a01),
-        PolygonOffsetLine = ((int)0X2a02),
-        R3G3B2 = ((int)0X2a10),
-        PolygonOffsetFill = ((int)0X8037),
-        PolygonOffsetFactor = ((int)0X8038),
-        Rgb4 = ((int)0X804f),
-        Rgb5 = ((int)0X8050),
-        Rgb8 = ((int)0X8051),
-        Rgb10 = ((int)0X8052),
-        Rgb12 = ((int)0X8053),
-        Rgb16 = ((int)0X8054),
-        Rgba2 = ((int)0X8055),
-        Rgba4 = ((int)0X8056),
-        Rgb5A1 = ((int)0X8057),
-        Rgba8 = ((int)0X8058),
-        Rgb10A2 = ((int)0X8059),
-        Rgba12 = ((int)0X805a),
-        Rgba16 = ((int)0X805b),
-        TextureRedSize = ((int)0X805c),
-        TextureGreenSize = ((int)0X805d),
-        TextureBlueSize = ((int)0X805e),
-        TextureAlphaSize = ((int)0X805f),
-        ProxyTexture1D = ((int)0X8063),
-        ProxyTexture2D = ((int)0X8064),
-        TextureBinding1D = ((int)0X8068),
-        TextureBinding2D = ((int)0X8069),
-        One = ((int)1),
-        True = ((int)1),
-    }
-
-    public enum Version11Deprecated
-    {
-        ClientPixelStoreBit = ((int)0X00000001),
-        CurrentBit = ((int)0X00000001),
-        ClientVertexArrayBit = ((int)0X00000002),
-        PointBit = ((int)0X00000002),
-        LineBit = ((int)0X00000004),
-        PolygonBit = ((int)0X00000008),
-        PolygonStippleBit = ((int)0X00000010),
-        PixelModeBit = ((int)0X00000020),
-        LightingBit = ((int)0X00000040),
-        FogBit = ((int)0X00000080),
-        AccumBufferBit = ((int)0X00000200),
-        ViewportBit = ((int)0X00000800),
-        TransformBit = ((int)0X00001000),
-        EnableBit = ((int)0X00002000),
-        HintBit = ((int)0X00008000),
-        EvalBit = ((int)0X00010000),
-        ListBit = ((int)0X00020000),
-        TextureBit = ((int)0X00040000),
-        Quads = ((int)0X0007),
-        QuadStrip = ((int)0X0008),
-        ScissorBit = ((int)0X00080000),
-        Polygon = ((int)0X0009),
-        Accum = ((int)0X0100),
-        Load = ((int)0X0101),
-        Return = ((int)0X0102),
-        Mult = ((int)0X0103),
-        Add = ((int)0X0104),
-        Aux0 = ((int)0X0409),
-        Aux1 = ((int)0X040a),
-        Aux2 = ((int)0X040b),
-        Aux3 = ((int)0X040c),
-        StackOverflow = ((int)0X0503),
-        StackUnderflow = ((int)0X0504),
-        Gl2D = ((int)0X0600),
-        Gl3D = ((int)0X0601),
-        Gl3DColor = ((int)0X0602),
-        Gl3DColorTexture = ((int)0X0603),
-        Gl4DColorTexture = ((int)0X0604),
-        PassThroughToken = ((int)0X0700),
-        PointToken = ((int)0X0701),
-        LineToken = ((int)0X0702),
-        PolygonToken = ((int)0X0703),
-        BitmapToken = ((int)0X0704),
-        DrawPixelToken = ((int)0X0705),
-        CopyPixelToken = ((int)0X0706),
-        LineResetToken = ((int)0X0707),
-        Exp = ((int)0X0800),
-        Exp2 = ((int)0X0801),
-        Coeff = ((int)0X0a00),
-        Order = ((int)0X0a01),
-        Domain = ((int)0X0a02),
-        CurrentColor = ((int)0X0b00),
-        CurrentIndex = ((int)0X0b01),
-        CurrentNormal = ((int)0X0b02),
-        CurrentTextureCoords = ((int)0X0b03),
-        CurrentRasterColor = ((int)0X0b04),
-        CurrentRasterIndex = ((int)0X0b05),
-        CurrentRasterTextureCoords = ((int)0X0b06),
-        CurrentRasterPosition = ((int)0X0b07),
-        CurrentRasterPositionValid = ((int)0X0b08),
-        CurrentRasterDistance = ((int)0X0b09),
-        PointSmooth = ((int)0X0b10),
-        LineStipple = ((int)0X0b24),
-        LineStipplePattern = ((int)0X0b25),
-        LineStippleRepeat = ((int)0X0b26),
-        ListMode = ((int)0X0b30),
-        MaxListNesting = ((int)0X0b31),
-        ListBase = ((int)0X0b32),
-        ListIndex = ((int)0X0b33),
-        PolygonMode = ((int)0X0b40),
-        PolygonStipple = ((int)0X0b42),
-        EdgeFlag = ((int)0X0b43),
-        Lighting = ((int)0X0b50),
-        LightModelLocalViewer = ((int)0X0b51),
-        LightModelTwoSide = ((int)0X0b52),
-        LightModelAmbient = ((int)0X0b53),
-        ShadeModel = ((int)0X0b54),
-        ColorMaterialFace = ((int)0X0b55),
-        ColorMaterialParameter = ((int)0X0b56),
-        ColorMaterial = ((int)0X0b57),
-        Fog = ((int)0X0b60),
-        FogIndex = ((int)0X0b61),
-        FogDensity = ((int)0X0b62),
-        FogStart = ((int)0X0b63),
-        FogEnd = ((int)0X0b64),
-        FogMode = ((int)0X0b65),
-        FogColor = ((int)0X0b66),
-        AccumClearValue = ((int)0X0b80),
-        MatrixMode = ((int)0X0ba0),
-        Normalize = ((int)0X0ba1),
-        ModelviewStackDepth = ((int)0X0ba3),
-        ProjectionStackDepth = ((int)0X0ba4),
-        TextureStackDepth = ((int)0X0ba5),
-        ModelviewMatrix = ((int)0X0ba6),
-        ProjectionMatrix = ((int)0X0ba7),
-        TextureMatrix = ((int)0X0ba8),
-        AttribStackDepth = ((int)0X0bb0),
-        ClientAttribStackDepth = ((int)0X0bb1),
-        AlphaTest = ((int)0X0bc0),
-        AlphaTestFunc = ((int)0X0bc1),
-        AlphaTestRef = ((int)0X0bc2),
-        IndexLogicOp = ((int)0X0bf1),
-        LogicOp = ((int)0X0bf1),
-        AuxBuffers = ((int)0X0c00),
-        IndexClearValue = ((int)0X0c20),
-        IndexWritemask = ((int)0X0c21),
-        IndexMode = ((int)0X0c30),
-        RgbaMode = ((int)0X0c31),
-        RenderMode = ((int)0X0c40),
-        PerspectiveCorrectionHint = ((int)0X0c50),
-        PointSmoothHint = ((int)0X0c51),
-        FogHint = ((int)0X0c54),
-        TextureGenS = ((int)0X0c60),
-        TextureGenT = ((int)0X0c61),
-        TextureGenR = ((int)0X0c62),
-        TextureGenQ = ((int)0X0c63),
-        PixelMapIToI = ((int)0X0c70),
-        PixelMapSToS = ((int)0X0c71),
-        PixelMapIToR = ((int)0X0c72),
-        PixelMapIToG = ((int)0X0c73),
-        PixelMapIToB = ((int)0X0c74),
-        PixelMapIToA = ((int)0X0c75),
-        PixelMapRToR = ((int)0X0c76),
-        PixelMapGToG = ((int)0X0c77),
-        PixelMapBToB = ((int)0X0c78),
-        PixelMapAToA = ((int)0X0c79),
-        PixelMapIToISize = ((int)0X0cb0),
-        PixelMapSToSSize = ((int)0X0cb1),
-        PixelMapIToRSize = ((int)0X0cb2),
-        PixelMapIToGSize = ((int)0X0cb3),
-        PixelMapIToBSize = ((int)0X0cb4),
-        PixelMapIToASize = ((int)0X0cb5),
-        PixelMapRToRSize = ((int)0X0cb6),
-        PixelMapGToGSize = ((int)0X0cb7),
-        PixelMapBToBSize = ((int)0X0cb8),
-        PixelMapAToASize = ((int)0X0cb9),
-        MapColor = ((int)0X0d10),
-        MapStencil = ((int)0X0d11),
-        IndexShift = ((int)0X0d12),
-        IndexOffset = ((int)0X0d13),
-        RedScale = ((int)0X0d14),
-        RedBias = ((int)0X0d15),
-        ZoomX = ((int)0X0d16),
-        ZoomY = ((int)0X0d17),
-        GreenScale = ((int)0X0d18),
-        GreenBias = ((int)0X0d19),
-        BlueScale = ((int)0X0d1a),
-        BlueBias = ((int)0X0d1b),
-        AlphaScale = ((int)0X0d1c),
-        AlphaBias = ((int)0X0d1d),
-        DepthScale = ((int)0X0d1e),
-        DepthBias = ((int)0X0d1f),
-        MaxEvalOrder = ((int)0X0d30),
-        MaxLights = ((int)0X0d31),
-        MaxClipPlanes = ((int)0X0d32),
-        MaxPixelMapTable = ((int)0X0d34),
-        MaxAttribStackDepth = ((int)0X0d35),
-        MaxModelviewStackDepth = ((int)0X0d36),
-        MaxNameStackDepth = ((int)0X0d37),
-        MaxProjectionStackDepth = ((int)0X0d38),
-        MaxTextureStackDepth = ((int)0X0d39),
-        MaxClientAttribStackDepth = ((int)0X0d3b),
-        IndexBits = ((int)0X0d51),
-        RedBits = ((int)0X0d52),
-        GreenBits = ((int)0X0d53),
-        BlueBits = ((int)0X0d54),
-        AlphaBits = ((int)0X0d55),
-        DepthBits = ((int)0X0d56),
-        StencilBits = ((int)0X0d57),
-        AccumRedBits = ((int)0X0d58),
-        AccumGreenBits = ((int)0X0d59),
-        AccumBlueBits = ((int)0X0d5a),
-        AccumAlphaBits = ((int)0X0d5b),
-        NameStackDepth = ((int)0X0d70),
-        AutoNormal = ((int)0X0d80),
-        Map1Color4 = ((int)0X0d90),
-        Map1Index = ((int)0X0d91),
-        Map1Normal = ((int)0X0d92),
-        Map1TextureCoord1 = ((int)0X0d93),
-        Map1TextureCoord2 = ((int)0X0d94),
-        Map1TextureCoord3 = ((int)0X0d95),
-        Map1TextureCoord4 = ((int)0X0d96),
-        Map1Vertex3 = ((int)0X0d97),
-        Map1Vertex4 = ((int)0X0d98),
-        Map2Color4 = ((int)0X0db0),
-        Map2Index = ((int)0X0db1),
-        Map2Normal = ((int)0X0db2),
-        Map2TextureCoord1 = ((int)0X0db3),
-        Map2TextureCoord2 = ((int)0X0db4),
-        Map2TextureCoord3 = ((int)0X0db5),
-        Map2TextureCoord4 = ((int)0X0db6),
-        Map2Vertex3 = ((int)0X0db7),
-        Map2Vertex4 = ((int)0X0db8),
-        Map1GridDomain = ((int)0X0dd0),
-        Map1GridSegments = ((int)0X0dd1),
-        Map2GridDomain = ((int)0X0dd2),
-        Map2GridSegments = ((int)0X0dd3),
-        FeedbackBufferPointer = ((int)0X0df0),
-        FeedbackBufferSize = ((int)0X0df1),
-        FeedbackBufferType = ((int)0X0df2),
-        SelectionBufferPointer = ((int)0X0df3),
-        SelectionBufferSize = ((int)0X0df4),
-        TextureComponents = ((int)0X1003),
-        Ambient = ((int)0X1200),
-        Diffuse = ((int)0X1201),
-        Specular = ((int)0X1202),
-        Position = ((int)0X1203),
-        SpotDirection = ((int)0X1204),
-        SpotExponent = ((int)0X1205),
-        SpotCutoff = ((int)0X1206),
-        ConstantAttenuation = ((int)0X1207),
-        LinearAttenuation = ((int)0X1208),
-        QuadraticAttenuation = ((int)0X1209),
-        Compile = ((int)0X1300),
-        CompileAndExecute = ((int)0X1301),
-        Gl2Bytes = ((int)0X1407),
-        Gl3Bytes = ((int)0X1408),
-        Gl4Bytes = ((int)0X1409),
-        Emission = ((int)0X1600),
-        Shininess = ((int)0X1601),
-        AmbientAndDiffuse = ((int)0X1602),
-        ColorIndexes = ((int)0X1603),
-        Modelview = ((int)0X1700),
-        Projection = ((int)0X1701),
-        ColorIndex = ((int)0X1900),
-        Luminance = ((int)0X1909),
-        LuminanceAlpha = ((int)0X190a),
-        Bitmap = ((int)0X1a00),
-        Render = ((int)0X1c00),
-        Feedback = ((int)0X1c01),
-        Select = ((int)0X1c02),
-        Flat = ((int)0X1d00),
-        Smooth = ((int)0X1d01),
-        S = ((int)0X2000),
-        T = ((int)0X2001),
-        R = ((int)0X2002),
-        Q = ((int)0X2003),
-        Modulate = ((int)0X2100),
-        Decal = ((int)0X2101),
-        TextureEnvMode = ((int)0X2200),
-        TextureEnvColor = ((int)0X2201),
-        TextureEnv = ((int)0X2300),
-        EyeLinear = ((int)0X2400),
-        ObjectLinear = ((int)0X2401),
-        SphereMap = ((int)0X2402),
-        TextureGenMode = ((int)0X2500),
-        ObjectPlane = ((int)0X2501),
-        EyePlane = ((int)0X2502),
-        Clamp = ((int)0X2900),
-        V2f = ((int)0X2a20),
-        V3f = ((int)0X2a21),
-        C4ubV2f = ((int)0X2a22),
-        C4ubV3f = ((int)0X2a23),
-        C3fV3f = ((int)0X2a24),
-        N3fV3f = ((int)0X2a25),
-        C4fN3fV3f = ((int)0X2a26),
-        T2fV3f = ((int)0X2a27),
-        T4fV4f = ((int)0X2a28),
-        T2fC4ubV3f = ((int)0X2a29),
-        T2fC3fV3f = ((int)0X2a2a),
-        T2fN3fV3f = ((int)0X2a2b),
-        T2fC4fN3fV3f = ((int)0X2a2c),
-        T4fC4fN3fV4f = ((int)0X2a2d),
-        ClipPlane0 = ((int)0X3000),
-        ClipPlane1 = ((int)0X3001),
-        ClipPlane2 = ((int)0X3002),
-        ClipPlane3 = ((int)0X3003),
-        ClipPlane4 = ((int)0X3004),
-        ClipPlane5 = ((int)0X3005),
-        Light0 = ((int)0X4000),
-        Light1 = ((int)0X4001),
-        Light2 = ((int)0X4002),
-        Light3 = ((int)0X4003),
-        Light4 = ((int)0X4004),
-        Light5 = ((int)0X4005),
-        Light6 = ((int)0X4006),
-        Light7 = ((int)0X4007),
-        Alpha4 = ((int)0X803b),
-        Alpha8 = ((int)0X803c),
-        Alpha12 = ((int)0X803d),
-        Alpha16 = ((int)0X803e),
-        Luminance4 = ((int)0X803f),
-        Luminance8 = ((int)0X8040),
-        Luminance12 = ((int)0X8041),
-        Luminance16 = ((int)0X8042),
-        Luminance4Alpha4 = ((int)0X8043),
-        Luminance6Alpha2 = ((int)0X8044),
-        Luminance8Alpha8 = ((int)0X8045),
-        Luminance12Alpha4 = ((int)0X8046),
-        Luminance12Alpha12 = ((int)0X8047),
-        Luminance16Alpha16 = ((int)0X8048),
-        Intensity = ((int)0X8049),
-        Intensity4 = ((int)0X804a),
-        Intensity8 = ((int)0X804b),
-        Intensity12 = ((int)0X804c),
-        Intensity16 = ((int)0X804d),
-        TextureLuminanceSize = ((int)0X8060),
-        TextureIntensitySize = ((int)0X8061),
-        TexturePriority = ((int)0X8066),
-        TextureResident = ((int)0X8067),
-        VertexArray = ((int)0X8074),
-        NormalArray = ((int)0X8075),
-        ColorArray = ((int)0X8076),
-        IndexArray = ((int)0X8077),
-        TextureCoordArray = ((int)0X8078),
-        EdgeFlagArray = ((int)0X8079),
-        VertexArraySize = ((int)0X807a),
-        VertexArrayType = ((int)0X807b),
-        VertexArrayStride = ((int)0X807c),
-        NormalArrayType = ((int)0X807e),
-        NormalArrayStride = ((int)0X807f),
-        ColorArraySize = ((int)0X8081),
-        ColorArrayType = ((int)0X8082),
-        ColorArrayStride = ((int)0X8083),
-        IndexArrayType = ((int)0X8085),
-        IndexArrayStride = ((int)0X8086),
-        TextureCoordArraySize = ((int)0X8088),
-        TextureCoordArrayType = ((int)0X8089),
-        TextureCoordArrayStride = ((int)0X808a),
-        EdgeFlagArrayStride = ((int)0X808c),
-        VertexArrayPointer = ((int)0X808e),
-        NormalArrayPointer = ((int)0X808f),
-        ColorArrayPointer = ((int)0X8090),
-        IndexArrayPointer = ((int)0X8091),
-        TextureCoordArrayPointer = ((int)0X8092),
-        EdgeFlagArrayPointer = ((int)0X8093),
-        AllAttribBits = unchecked((int)0Xffffffff),
-        ClientAllAttribBits = unchecked((int)0Xffffffff),
-    }
-
-    public enum Version12
-    {
-        SmoothPointSizeRange = ((int)0X0b12),
-        SmoothPointSizeGranularity = ((int)0X0b13),
-        SmoothLineWidthRange = ((int)0X0b22),
-        SmoothLineWidthGranularity = ((int)0X0b23),
-        ConstantColor = ((int)0X8001),
-        OneMinusConstantColor = ((int)0X8002),
-        ConstantAlpha = ((int)0X8003),
-        OneMinusConstantAlpha = ((int)0X8004),
-        BlendColor = ((int)0X8005),
-        Convolution1D = ((int)0X8010),
-        Convolution2D = ((int)0X8011),
-        Separable2D = ((int)0X8012),
-        ConvolutionBorderMode = ((int)0X8013),
-        ConvolutionFilterScale = ((int)0X8014),
-        ConvolutionFilterBias = ((int)0X8015),
-        Reduce = ((int)0X8016),
-        ConvolutionFormat = ((int)0X8017),
-        ConvolutionWidth = ((int)0X8018),
-        ConvolutionHeight = ((int)0X8019),
-        MaxConvolutionWidth = ((int)0X801a),
-        MaxConvolutionHeight = ((int)0X801b),
-        PostConvolutionRedScale = ((int)0X801c),
-        PostConvolutionGreenScale = ((int)0X801d),
-        PostConvolutionBlueScale = ((int)0X801e),
-        PostConvolutionAlphaScale = ((int)0X801f),
-        PostConvolutionRedBias = ((int)0X8020),
-        PostConvolutionGreenBias = ((int)0X8021),
-        PostConvolutionBlueBias = ((int)0X8022),
-        PostConvolutionAlphaBias = ((int)0X8023),
-        Histogram = ((int)0X8024),
-        ProxyHistogram = ((int)0X8025),
-        HistogramWidth = ((int)0X8026),
-        HistogramFormat = ((int)0X8027),
-        HistogramRedSize = ((int)0X8028),
-        HistogramGreenSize = ((int)0X8029),
-        HistogramBlueSize = ((int)0X802a),
-        HistogramAlphaSize = ((int)0X802b),
-        HistogramSink = ((int)0X802d),
-        Minmax = ((int)0X802e),
-        MinmaxFormat = ((int)0X802f),
-        MinmaxSink = ((int)0X8030),
-        TableTooLarge = ((int)0X8031),
-        UnsignedByte332 = ((int)0X8032),
-        UnsignedShort4444 = ((int)0X8033),
-        UnsignedShort5551 = ((int)0X8034),
-        UnsignedInt8888 = ((int)0X8035),
-        UnsignedInt1010102 = ((int)0X8036),
-        RescaleNormal = ((int)0X803a),
-        TextureBinding3D = ((int)0X806a),
-        PackSkipImages = ((int)0X806b),
-        PackImageHeight = ((int)0X806c),
-        UnpackSkipImages = ((int)0X806d),
-        UnpackImageHeight = ((int)0X806e),
-        Texture3D = ((int)0X806f),
-        ProxyTexture3D = ((int)0X8070),
-        TextureDepth = ((int)0X8071),
-        TextureWrapR = ((int)0X8072),
-        Max3DTextureSize = ((int)0X8073),
-        ColorMatrix = ((int)0X80b1),
-        ColorMatrixStackDepth = ((int)0X80b2),
-        MaxColorMatrixStackDepth = ((int)0X80b3),
-        PostColorMatrixRedScale = ((int)0X80b4),
-        PostColorMatrixGreenScale = ((int)0X80b5),
-        PostColorMatrixBlueScale = ((int)0X80b6),
-        PostColorMatrixAlphaScale = ((int)0X80b7),
-        PostColorMatrixRedBias = ((int)0X80b8),
-        PostColorMatrixGreenBias = ((int)0X80b9),
-        PostColorMatrixBlueBias = ((int)0X80ba),
-        PostColorMatrixAlphaBias = ((int)0X80bb),
-        ColorTable = ((int)0X80d0),
-        PostConvolutionColorTable = ((int)0X80d1),
-        PostColorMatrixColorTable = ((int)0X80d2),
-        ProxyColorTable = ((int)0X80d3),
-        ProxyPostConvolutionColorTable = ((int)0X80d4),
-        ProxyPostColorMatrixColorTable = ((int)0X80d5),
-        ColorTableScale = ((int)0X80d6),
-        ColorTableBias = ((int)0X80d7),
-        ColorTableFormat = ((int)0X80d8),
-        ColorTableWidth = ((int)0X80d9),
-        ColorTableRedSize = ((int)0X80da),
-        ColorTableGreenSize = ((int)0X80db),
-        ColorTableBlueSize = ((int)0X80dc),
-        ColorTableAlphaSize = ((int)0X80dd),
-        ColorTableLuminanceSize = ((int)0X80de),
-        ColorTableIntensitySize = ((int)0X80df),
-        Bgr = ((int)0X80e0),
-        Bgra = ((int)0X80e1),
-        MaxElementsVertices = ((int)0X80e8),
-        MaxElementsIndices = ((int)0X80e9),
-        ClampToEdge = ((int)0X812f),
-        TextureMinLod = ((int)0X813a),
-        TextureMaxLod = ((int)0X813b),
-        TextureBaseLevel = ((int)0X813c),
-        TextureMaxLevel = ((int)0X813d),
-        ConstantBorder = ((int)0X8151),
-        ReplicateBorder = ((int)0X8153),
-        ConvolutionBorderColor = ((int)0X8154),
-        LightModelColorControl = ((int)0X81f8),
-        SingleColor = ((int)0X81f9),
-        SeparateSpecularColor = ((int)0X81fa),
-        UnsignedByte233Rev = ((int)0X8362),
-        UnsignedShort565 = ((int)0X8363),
-        UnsignedShort565Rev = ((int)0X8364),
-        UnsignedShort4444Rev = ((int)0X8365),
-        UnsignedShort1555Rev = ((int)0X8366),
-        UnsignedInt8888Rev = ((int)0X8367),
-        UnsignedInt2101010Rev = ((int)0X8368),
-        AliasedPointSizeRange = ((int)0X846d),
-        AliasedLineWidthRange = ((int)0X846e),
-    }
-
-    public enum Version12Deprecated
-    {
-        RescaleNormal = ((int)0X803a),
-        LightModelColorControl = ((int)0X81f8),
-        SingleColor = ((int)0X81f9),
-        SeparateSpecularColor = ((int)0X81fa),
-        AliasedPointSizeRange = ((int)0X846d),
-    }
-
-    public enum Version13
-    {
-        Multisample = ((int)0X809d),
-        SampleAlphaToCoverage = ((int)0X809e),
-        SampleAlphaToOne = ((int)0X809f),
-        SampleCoverage = ((int)0X80a0),
-        SampleBuffers = ((int)0X80a8),
-        Samples = ((int)0X80a9),
-        SampleCoverageValue = ((int)0X80aa),
-        SampleCoverageInvert = ((int)0X80ab),
-        ClampToBorder = ((int)0X812d),
-        Texture0 = ((int)0X84c0),
-        Texture1 = ((int)0X84c1),
-        Texture2 = ((int)0X84c2),
-        Texture3 = ((int)0X84c3),
-        Texture4 = ((int)0X84c4),
-        Texture5 = ((int)0X84c5),
-        Texture6 = ((int)0X84c6),
-        Texture7 = ((int)0X84c7),
-        Texture8 = ((int)0X84c8),
-        Texture9 = ((int)0X84c9),
-        Texture10 = ((int)0X84ca),
-        Texture11 = ((int)0X84cb),
-        Texture12 = ((int)0X84cc),
-        Texture13 = ((int)0X84cd),
-        Texture14 = ((int)0X84ce),
-        Texture15 = ((int)0X84cf),
-        Texture16 = ((int)0X84d0),
-        Texture17 = ((int)0X84d1),
-        Texture18 = ((int)0X84d2),
-        Texture19 = ((int)0X84d3),
-        Texture20 = ((int)0X84d4),
-        Texture21 = ((int)0X84d5),
-        Texture22 = ((int)0X84d6),
-        Texture23 = ((int)0X84d7),
-        Texture24 = ((int)0X84d8),
-        Texture25 = ((int)0X84d9),
-        Texture26 = ((int)0X84da),
-        Texture27 = ((int)0X84db),
-        Texture28 = ((int)0X84dc),
-        Texture29 = ((int)0X84dd),
-        Texture30 = ((int)0X84de),
-        Texture31 = ((int)0X84df),
-        ActiveTexture = ((int)0X84e0),
-        CompressedRgb = ((int)0X84ed),
-        CompressedRgba = ((int)0X84ee),
-        TextureCompressionHint = ((int)0X84ef),
-        TextureCubeMap = ((int)0X8513),
-        TextureBindingCubeMap = ((int)0X8514),
-        TextureCubeMapPositiveX = ((int)0X8515),
-        TextureCubeMapNegativeX = ((int)0X8516),
-        TextureCubeMapPositiveY = ((int)0X8517),
-        TextureCubeMapNegativeY = ((int)0X8518),
-        TextureCubeMapPositiveZ = ((int)0X8519),
-        TextureCubeMapNegativeZ = ((int)0X851a),
-        ProxyTextureCubeMap = ((int)0X851b),
-        MaxCubeMapTextureSize = ((int)0X851c),
-        TextureCompressedImageSize = ((int)0X86a0),
-        TextureCompressed = ((int)0X86a1),
-        NumCompressedTextureFormats = ((int)0X86a2),
-        CompressedTextureFormats = ((int)0X86a3),
-    }
-
-    public enum Version13Deprecated
-    {
-        MultisampleBit = ((int)0X20000000),
-        ClientActiveTexture = ((int)0X84e1),
-        MaxTextureUnits = ((int)0X84e2),
-        TransposeModelviewMatrix = ((int)0X84e3),
-        TransposeProjectionMatrix = ((int)0X84e4),
-        TransposeTextureMatrix = ((int)0X84e5),
-        TransposeColorMatrix = ((int)0X84e6),
-        Subtract = ((int)0X84e7),
-        CompressedAlpha = ((int)0X84e9),
-        CompressedLuminance = ((int)0X84ea),
-        CompressedLuminanceAlpha = ((int)0X84eb),
-        CompressedIntensity = ((int)0X84ec),
-        NormalMap = ((int)0X8511),
-        ReflectionMap = ((int)0X8512),
-        Combine = ((int)0X8570),
-        CombineRgb = ((int)0X8571),
-        CombineAlpha = ((int)0X8572),
-        RgbScale = ((int)0X8573),
-        AddSigned = ((int)0X8574),
-        Interpolate = ((int)0X8575),
-        Constant = ((int)0X8576),
-        PrimaryColor = ((int)0X8577),
-        Previous = ((int)0X8578),
-        Source0Rgb = ((int)0X8580),
-        Source1Rgb = ((int)0X8581),
-        Source2Rgb = ((int)0X8582),
-        Source0Alpha = ((int)0X8588),
-        Source1Alpha = ((int)0X8589),
-        Source2Alpha = ((int)0X858a),
-        Operand0Rgb = ((int)0X8590),
-        Operand1Rgb = ((int)0X8591),
-        Operand2Rgb = ((int)0X8592),
-        Operand0Alpha = ((int)0X8598),
-        Operand1Alpha = ((int)0X8599),
-        Operand2Alpha = ((int)0X859a),
-        Dot3Rgb = ((int)0X86ae),
-        Dot3Rgba = ((int)0X86af),
-    }
-
-    public enum Version14
-    {
-        BlendDstRgb = ((int)0X80c8),
-        BlendSrcRgb = ((int)0X80c9),
-        BlendDstAlpha = ((int)0X80ca),
-        BlendSrcAlpha = ((int)0X80cb),
-        PointSizeMin = ((int)0X8126),
-        PointSizeMax = ((int)0X8127),
-        PointFadeThresholdSize = ((int)0X8128),
-        PointDistanceAttenuation = ((int)0X8129),
-        GenerateMipmap = ((int)0X8191),
-        GenerateMipmapHint = ((int)0X8192),
-        DepthComponent16 = ((int)0X81a5),
-        DepthComponent24 = ((int)0X81a6),
-        DepthComponent32 = ((int)0X81a7),
-        MirroredRepeat = ((int)0X8370),
-        MaxTextureLodBias = ((int)0X84fd),
-        TextureLodBias = ((int)0X8501),
-        IncrWrap = ((int)0X8507),
-        DecrWrap = ((int)0X8508),
-        TextureDepthSize = ((int)0X884a),
-        TextureCompareMode = ((int)0X884c),
-        TextureCompareFunc = ((int)0X884d),
-    }
-
-    public enum Version14Deprecated
-    {
-        PointSizeMin = ((int)0X8126),
-        PointSizeMax = ((int)0X8127),
-        PointDistanceAttenuation = ((int)0X8129),
-        GenerateMipmap = ((int)0X8191),
-        GenerateMipmapHint = ((int)0X8192),
-        FogCoordinateSource = ((int)0X8450),
-        FogCoordinate = ((int)0X8451),
-        FragmentDepth = ((int)0X8452),
-        CurrentFogCoordinate = ((int)0X8453),
-        FogCoordinateArrayType = ((int)0X8454),
-        FogCoordinateArrayStride = ((int)0X8455),
-        FogCoordinateArrayPointer = ((int)0X8456),
-        FogCoordinateArray = ((int)0X8457),
-        ColorSum = ((int)0X8458),
-        CurrentSecondaryColor = ((int)0X8459),
-        SecondaryColorArraySize = ((int)0X845a),
-        SecondaryColorArrayType = ((int)0X845b),
-        SecondaryColorArrayStride = ((int)0X845c),
-        SecondaryColorArrayPointer = ((int)0X845d),
-        SecondaryColorArray = ((int)0X845e),
-        TextureFilterControl = ((int)0X8500),
-        DepthTextureMode = ((int)0X884b),
-        CompareRToTexture = ((int)0X884e),
-    }
-
-    public enum Version15
-    {
-        BufferSize = ((int)0X8764),
-        BufferUsage = ((int)0X8765),
-        QueryCounterBits = ((int)0X8864),
-        CurrentQuery = ((int)0X8865),
-        QueryResult = ((int)0X8866),
-        QueryResultAvailable = ((int)0X8867),
-        ArrayBuffer = ((int)0X8892),
-        ElementArrayBuffer = ((int)0X8893),
-        ArrayBufferBinding = ((int)0X8894),
-        ElementArrayBufferBinding = ((int)0X8895),
-        VertexAttribArrayBufferBinding = ((int)0X889f),
-        ReadOnly = ((int)0X88b8),
-        WriteOnly = ((int)0X88b9),
-        ReadWrite = ((int)0X88ba),
-        BufferAccess = ((int)0X88bb),
-        BufferMapped = ((int)0X88bc),
-        BufferMapPointer = ((int)0X88bd),
-        StreamDraw = ((int)0X88e0),
-        StreamRead = ((int)0X88e1),
-        StreamCopy = ((int)0X88e2),
-        StaticDraw = ((int)0X88e4),
-        StaticRead = ((int)0X88e5),
-        StaticCopy = ((int)0X88e6),
-        DynamicDraw = ((int)0X88e8),
-        DynamicRead = ((int)0X88e9),
-        DynamicCopy = ((int)0X88ea),
-        SamplesPassed = ((int)0X8914),
-    }
-
-    public enum Version15Deprecated
-    {
-        FogCoordSrc = ((int)0X8450),
-        FogCoord = ((int)0X8451),
-        CurrentFogCoord = ((int)0X8453),
-        FogCoordArrayType = ((int)0X8454),
-        FogCoordArrayStride = ((int)0X8455),
-        FogCoordArrayPointer = ((int)0X8456),
-        FogCoordArray = ((int)0X8457),
-        Src0Rgb = ((int)0X8580),
-        Src1Rgb = ((int)0X8581),
-        Src2Rgb = ((int)0X8582),
-        Src0Alpha = ((int)0X8588),
-        Src1Alpha = ((int)0X8589),
-        Src2Alpha = ((int)0X858a),
-        VertexArrayBufferBinding = ((int)0X8896),
-        NormalArrayBufferBinding = ((int)0X8897),
-        ColorArrayBufferBinding = ((int)0X8898),
-        IndexArrayBufferBinding = ((int)0X8899),
-        TextureCoordArrayBufferBinding = ((int)0X889a),
-        EdgeFlagArrayBufferBinding = ((int)0X889b),
-        SecondaryColorArrayBufferBinding = ((int)0X889c),
-        FogCoordArrayBufferBinding = ((int)0X889d),
-        FogCoordinateArrayBufferBinding = ((int)0X889d),
-        WeightArrayBufferBinding = ((int)0X889e),
-    }
-
-    public enum Version20
-    {
-        BlendEquationRgb = ((int)0X8009),
-        VertexAttribArrayEnabled = ((int)0X8622),
-        VertexAttribArraySize = ((int)0X8623),
-        VertexAttribArrayStride = ((int)0X8624),
-        VertexAttribArrayType = ((int)0X8625),
-        CurrentVertexAttrib = ((int)0X8626),
-        VertexProgramPointSize = ((int)0X8642),
-        VertexAttribArrayPointer = ((int)0X8645),
-        StencilBackFunc = ((int)0X8800),
-        StencilBackFail = ((int)0X8801),
-        StencilBackPassDepthFail = ((int)0X8802),
-        StencilBackPassDepthPass = ((int)0X8803),
-        MaxDrawBuffers = ((int)0X8824),
-        DrawBuffer0 = ((int)0X8825),
-        DrawBuffer1 = ((int)0X8826),
-        DrawBuffer2 = ((int)0X8827),
-        DrawBuffer3 = ((int)0X8828),
-        DrawBuffer4 = ((int)0X8829),
-        DrawBuffer5 = ((int)0X882a),
-        DrawBuffer6 = ((int)0X882b),
-        DrawBuffer7 = ((int)0X882c),
-        DrawBuffer8 = ((int)0X882d),
-        DrawBuffer9 = ((int)0X882e),
-        DrawBuffer10 = ((int)0X882f),
-        DrawBuffer11 = ((int)0X8830),
-        DrawBuffer12 = ((int)0X8831),
-        DrawBuffer13 = ((int)0X8832),
-        DrawBuffer14 = ((int)0X8833),
-        DrawBuffer15 = ((int)0X8834),
-        BlendEquationAlpha = ((int)0X883d),
-        MaxVertexAttribs = ((int)0X8869),
-        VertexAttribArrayNormalized = ((int)0X886a),
-        MaxTextureImageUnits = ((int)0X8872),
-        FragmentShader = ((int)0X8b30),
-        VertexShader = ((int)0X8b31),
-        MaxFragmentUniformComponents = ((int)0X8b49),
-        MaxVertexUniformComponents = ((int)0X8b4a),
-        MaxVaryingFloats = ((int)0X8b4b),
-        MaxVertexTextureImageUnits = ((int)0X8b4c),
-        MaxCombinedTextureImageUnits = ((int)0X8b4d),
-        ShaderType = ((int)0X8b4f),
-        FloatVec2 = ((int)0X8b50),
-        FloatVec3 = ((int)0X8b51),
-        FloatVec4 = ((int)0X8b52),
-        IntVec2 = ((int)0X8b53),
-        IntVec3 = ((int)0X8b54),
-        IntVec4 = ((int)0X8b55),
-        Bool = ((int)0X8b56),
-        BoolVec2 = ((int)0X8b57),
-        BoolVec3 = ((int)0X8b58),
-        BoolVec4 = ((int)0X8b59),
-        FloatMat2 = ((int)0X8b5a),
-        FloatMat3 = ((int)0X8b5b),
-        FloatMat4 = ((int)0X8b5c),
-        Sampler1D = ((int)0X8b5d),
-        Sampler2D = ((int)0X8b5e),
-        Sampler3D = ((int)0X8b5f),
-        SamplerCube = ((int)0X8b60),
-        Sampler1DShadow = ((int)0X8b61),
-        Sampler2DShadow = ((int)0X8b62),
-        DeleteStatus = ((int)0X8b80),
-        CompileStatus = ((int)0X8b81),
-        LinkStatus = ((int)0X8b82),
-        ValidateStatus = ((int)0X8b83),
-        InfoLogLength = ((int)0X8b84),
-        AttachedShaders = ((int)0X8b85),
-        ActiveUniforms = ((int)0X8b86),
-        ActiveUniformMaxLength = ((int)0X8b87),
-        ShaderSourceLength = ((int)0X8b88),
-        ActiveAttributes = ((int)0X8b89),
-        ActiveAttributeMaxLength = ((int)0X8b8a),
-        FragmentShaderDerivativeHint = ((int)0X8b8b),
-        ShadingLanguageVersion = ((int)0X8b8c),
-        CurrentProgram = ((int)0X8b8d),
-        PointSpriteCoordOrigin = ((int)0X8ca0),
-        LowerLeft = ((int)0X8ca1),
-        UpperLeft = ((int)0X8ca2),
-        StencilBackRef = ((int)0X8ca3),
-        StencilBackValueMask = ((int)0X8ca4),
-        StencilBackWritemask = ((int)0X8ca5),
-    }
-
-    public enum Version20Deprecated
-    {
-        VertexProgramTwoSide = ((int)0X8643),
-        PointSprite = ((int)0X8861),
-        CoordReplace = ((int)0X8862),
-        MaxTextureCoords = ((int)0X8871),
-    }
-
-    public enum Version21
-    {
-        PixelPackBuffer = ((int)0X88eb),
-        PixelUnpackBuffer = ((int)0X88ec),
-        PixelPackBufferBinding = ((int)0X88ed),
-        PixelUnpackBufferBinding = ((int)0X88ef),
-        FloatMat2x3 = ((int)0X8b65),
-        FloatMat2x4 = ((int)0X8b66),
-        FloatMat3x2 = ((int)0X8b67),
-        FloatMat3x4 = ((int)0X8b68),
-        FloatMat4x2 = ((int)0X8b69),
-        FloatMat4x3 = ((int)0X8b6a),
-        Srgb = ((int)0X8c40),
-        Srgb8 = ((int)0X8c41),
-        SrgbAlpha = ((int)0X8c42),
-        Srgb8Alpha8 = ((int)0X8c43),
-        CompressedSrgb = ((int)0X8c48),
-        CompressedSrgbAlpha = ((int)0X8c49),
-    }
-
-    public enum Version21Deprecated
-    {
-        CurrentRasterSecondaryColor = ((int)0X845f),
-        SluminanceAlpha = ((int)0X8c44),
-        Sluminance8Alpha8 = ((int)0X8c45),
-        Sluminance = ((int)0X8c46),
-        Sluminance8 = ((int)0X8c47),
-        CompressedSluminance = ((int)0X8c4a),
-        CompressedSluminanceAlpha = ((int)0X8c4b),
-    }
-
-    public enum Version30
-    {
-        ContextFlagForwardCompatibleBit = ((int)0X0001),
-        MapReadBit = ((int)0X0001),
-        MapWriteBit = ((int)0X0002),
-        MapInvalidateRangeBit = ((int)0X0004),
-        MapInvalidateBufferBit = ((int)0X0008),
-        MapFlushExplicitBit = ((int)0X0010),
-        MapUnsynchronizedBit = ((int)0X0020),
-        InvalidFramebufferOperation = ((int)0X0506),
-        MaxClipDistances = ((int)0X0d32),
-        HalfFloat = ((int)0X140b),
-        ClipDistance0 = ((int)0X3000),
-        ClipDistance1 = ((int)0X3001),
-        ClipDistance2 = ((int)0X3002),
-        ClipDistance3 = ((int)0X3003),
-        ClipDistance4 = ((int)0X3004),
-        ClipDistance5 = ((int)0X3005),
-        ClipDistance6 = ((int)0X3006),
-        ClipDistance7 = ((int)0X3007),
-        FramebufferAttachmentColorEncoding = ((int)0X8210),
-        FramebufferAttachmentComponentType = ((int)0X8211),
-        FramebufferAttachmentRedSize = ((int)0X8212),
-        FramebufferAttachmentGreenSize = ((int)0X8213),
-        FramebufferAttachmentBlueSize = ((int)0X8214),
-        FramebufferAttachmentAlphaSize = ((int)0X8215),
-        FramebufferAttachmentDepthSize = ((int)0X8216),
-        FramebufferAttachmentStencilSize = ((int)0X8217),
-        FramebufferDefault = ((int)0X8218),
-        FramebufferUndefined = ((int)0X8219),
-        DepthStencilAttachment = ((int)0X821a),
-        MajorVersion = ((int)0X821b),
-        MinorVersion = ((int)0X821c),
-        NumExtensions = ((int)0X821d),
-        ContextFlags = ((int)0X821e),
-        DepthBuffer = ((int)0X8223),
-        StencilBuffer = ((int)0X8224),
-        CompressedRed = ((int)0X8225),
-        CompressedRg = ((int)0X8226),
-        Rg = ((int)0X8227),
-        RgInteger = ((int)0X8228),
-        R8 = ((int)0X8229),
-        R16 = ((int)0X822a),
-        Rg8 = ((int)0X822b),
-        Rg16 = ((int)0X822c),
-        R16f = ((int)0X822D),
-        R32f = ((int)0X822e),
-        Rg16f = ((int)0X822f),
-        Rg32f = ((int)0X8230),
-        R8i = ((int)0X8231),
-        R8ui = ((int)0X8232),
-        R16i = ((int)0X8233),
-        R16ui = ((int)0X8234),
-        R32i = ((int)0X8235),
-        R32ui = ((int)0X8236),
-        Rg8i = ((int)0X8237),
-        Rg8ui = ((int)0X8238),
-        Rg16i = ((int)0X8239),
-        Rg16ui = ((int)0X823a),
-        Rg32i = ((int)0X823b),
-        Rg32ui = ((int)0X823c),
-        MaxRenderbufferSize = ((int)0X84e8),
-        DepthStencil = ((int)0X84f9),
-        UnsignedInt248 = ((int)0X84fa),
-        VertexArrayBinding = ((int)0X85b5),
-        Rgba32f = ((int)0X8814),
-        Rgb32f = ((int)0X8815),
-        Rgba16f = ((int)0X881a),
-        Rgb16f = ((int)0X881b),
-        CompareRefToTexture = ((int)0X884e),
-        Depth24Stencil8 = ((int)0X88f0),
-        TextureStencilSize = ((int)0X88f1),
-        VertexAttribArrayInteger = ((int)0X88fd),
-        MaxArrayTextureLayers = ((int)0X88ff),
-        MinProgramTexelOffset = ((int)0X8904),
-        MaxProgramTexelOffset = ((int)0X8905),
-        ClampReadColor = ((int)0X891c),
-        FixedOnly = ((int)0X891d),
-        MaxVaryingComponents = ((int)0X8b4b),
-        TextureRedType = ((int)0X8c10),
-        TextureGreenType = ((int)0X8c11),
-        TextureBlueType = ((int)0X8c12),
-        TextureAlphaType = ((int)0X8c13),
-        TextureDepthType = ((int)0X8c16),
-        UnsignedNormalized = ((int)0X8c17),
-        Texture1DArray = ((int)0X8c18),
-        ProxyTexture1DArray = ((int)0X8c19),
-        Texture2DArray = ((int)0X8c1a),
-        ProxyTexture2DArray = ((int)0X8c1b),
-        TextureBinding1DArray = ((int)0X8c1c),
-        TextureBinding2DArray = ((int)0X8c1d),
-        R11fG11fB10f = ((int)0X8c3a),
-        UnsignedInt10F11F11FRev = ((int)0X8c3b),
-        Rgb9E5 = ((int)0X8c3d),
-        UnsignedInt5999Rev = ((int)0X8c3e),
-        TextureSharedSize = ((int)0X8c3f),
-        TransformFeedbackVaryingMaxLength = ((int)0X8c76),
-        TransformFeedbackBufferMode = ((int)0X8c7f),
-        MaxTransformFeedbackSeparateComponents = ((int)0X8c80),
-        TransformFeedbackVaryings = ((int)0X8c83),
-        TransformFeedbackBufferStart = ((int)0X8c84),
-        TransformFeedbackBufferSize = ((int)0X8c85),
-        PrimitivesGenerated = ((int)0X8c87),
-        TransformFeedbackPrimitivesWritten = ((int)0X8c88),
-        RasterizerDiscard = ((int)0X8c89),
-        MaxTransformFeedbackInterleavedComponents = ((int)0X8c8a),
-        MaxTransformFeedbackSeparateAttribs = ((int)0X8c8b),
-        InterleavedAttribs = ((int)0X8c8c),
-        SeparateAttribs = ((int)0X8c8d),
-        TransformFeedbackBuffer = ((int)0X8c8e),
-        TransformFeedbackBufferBinding = ((int)0X8c8f),
-        DrawFramebufferBinding = ((int)0X8ca6),
-        FramebufferBinding = ((int)0X8ca6),
-        RenderbufferBinding = ((int)0X8ca7),
-        ReadFramebuffer = ((int)0X8ca8),
-        DrawFramebuffer = ((int)0X8ca9),
-        ReadFramebufferBinding = ((int)0X8caa),
-        RenderbufferSamples = ((int)0X8cab),
-        DepthComponent32f = ((int)0X8cac),
-        Depth32fStencil8 = ((int)0X8cad),
-        FramebufferAttachmentObjectType = ((int)0X8cd0),
-        FramebufferAttachmentObjectName = ((int)0X8cd1),
-        FramebufferAttachmentTextureLevel = ((int)0X8cd2),
-        FramebufferAttachmentTextureCubeMapFace = ((int)0X8cd3),
-        FramebufferAttachmentTextureLayer = ((int)0X8cd4),
-        FramebufferComplete = ((int)0X8cd5),
-        FramebufferIncompleteAttachment = ((int)0X8cd6),
-        FramebufferIncompleteMissingAttachment = ((int)0X8cd7),
-        FramebufferIncompleteDrawBuffer = ((int)0X8cdb),
-        FramebufferIncompleteReadBuffer = ((int)0X8cdc),
-        FramebufferUnsupported = ((int)0X8cdd),
-        MaxColorAttachments = ((int)0X8cdf),
-        ColorAttachment0 = ((int)0X8ce0),
-        ColorAttachment1 = ((int)0X8ce1),
-        ColorAttachment2 = ((int)0X8ce2),
-        ColorAttachment3 = ((int)0X8ce3),
-        ColorAttachment4 = ((int)0X8ce4),
-        ColorAttachment5 = ((int)0X8ce5),
-        ColorAttachment6 = ((int)0X8ce6),
-        ColorAttachment7 = ((int)0X8ce7),
-        ColorAttachment8 = ((int)0X8ce8),
-        ColorAttachment9 = ((int)0X8ce9),
-        ColorAttachment10 = ((int)0X8cea),
-        ColorAttachment11 = ((int)0X8ceb),
-        ColorAttachment12 = ((int)0X8cec),
-        ColorAttachment13 = ((int)0X8ced),
-        ColorAttachment14 = ((int)0X8cee),
-        ColorAttachment15 = ((int)0X8cef),
-        DepthAttachment = ((int)0X8D00),
-        StencilAttachment = ((int)0X8D20),
-        Framebuffer = ((int)0X8D40),
-        Renderbuffer = ((int)0X8D41),
-        RenderbufferWidth = ((int)0X8D42),
-        RenderbufferHeight = ((int)0X8D43),
-        RenderbufferInternalFormat = ((int)0X8D44),
-        StencilIndex1 = ((int)0X8D46),
-        StencilIndex4 = ((int)0X8D47),
-        StencilIndex8 = ((int)0X8D48),
-        StencilIndex16 = ((int)0X8D49),
-        RenderbufferRedSize = ((int)0X8D50),
-        RenderbufferGreenSize = ((int)0X8D51),
-        RenderbufferBlueSize = ((int)0X8D52),
-        RenderbufferAlphaSize = ((int)0X8D53),
-        RenderbufferDepthSize = ((int)0X8D54),
-        RenderbufferStencilSize = ((int)0X8D55),
-        FramebufferIncompleteMultisample = ((int)0X8D56),
-        MaxSamples = ((int)0X8D57),
-        Rgba32ui = ((int)0X8d70),
-        Rgb32ui = ((int)0X8d71),
-        Rgba16ui = ((int)0X8d76),
-        Rgb16ui = ((int)0X8d77),
-        Rgba8ui = ((int)0X8d7c),
-        Rgb8ui = ((int)0X8d7d),
-        Rgba32i = ((int)0X8d82),
-        Rgb32i = ((int)0X8d83),
-        Rgba16i = ((int)0X8d88),
-        Rgb16i = ((int)0X8d89),
-        Rgba8i = ((int)0X8d8e),
-        Rgb8i = ((int)0X8d8f),
-        RedInteger = ((int)0X8d94),
-        GreenInteger = ((int)0X8d95),
-        BlueInteger = ((int)0X8d96),
-        RgbInteger = ((int)0X8d98),
-        RgbaInteger = ((int)0X8d99),
-        BgrInteger = ((int)0X8d9a),
-        BgraInteger = ((int)0X8d9b),
-        Float32UnsignedInt248Rev = ((int)0X8Dad),
-        FramebufferSrgb = ((int)0X8Db9),
-        CompressedRedRgtc1 = ((int)0X8Dbb),
-        CompressedSignedRedRgtc1 = ((int)0X8Dbc),
-        CompressedRgRgtc2 = ((int)0X8Dbd),
-        CompressedSignedRgRgtc2 = ((int)0X8Dbe),
-        Sampler1DArray = ((int)0X8dc0),
-        Sampler2DArray = ((int)0X8dc1),
-        Sampler1DArrayShadow = ((int)0X8dc3),
-        Sampler2DArrayShadow = ((int)0X8dc4),
-        SamplerCubeShadow = ((int)0X8dc5),
-        UnsignedIntVec2 = ((int)0X8dc6),
-        UnsignedIntVec3 = ((int)0X8dc7),
-        UnsignedIntVec4 = ((int)0X8dc8),
-        IntSampler1D = ((int)0X8dc9),
-        IntSampler2D = ((int)0X8dca),
-        IntSampler3D = ((int)0X8dcb),
-        IntSamplerCube = ((int)0X8dcc),
-        IntSampler1DArray = ((int)0X8dce),
-        IntSampler2DArray = ((int)0X8dcf),
-        UnsignedIntSampler1D = ((int)0X8dd1),
-        UnsignedIntSampler2D = ((int)0X8dd2),
-        UnsignedIntSampler3D = ((int)0X8dd3),
-        UnsignedIntSamplerCube = ((int)0X8dd4),
-        UnsignedIntSampler1DArray = ((int)0X8dd6),
-        UnsignedIntSampler2DArray = ((int)0X8dd7),
-        QueryWait = ((int)0X8e13),
-        QueryNoWait = ((int)0X8e14),
-        QueryByRegionWait = ((int)0X8e15),
-        QueryByRegionNoWait = ((int)0X8e16),
-        BufferAccessFlags = ((int)0X911f),
-        BufferMapLength = ((int)0X9120),
-        BufferMapOffset = ((int)0X9121),
-    }
-
-    public enum Version30Deprecated
-    {
-        ClampVertexColor = ((int)0X891a),
-        ClampFragmentColor = ((int)0X891b),
-        AlphaInteger = ((int)0X8d97),
-    }
-
-    public enum Version31
-    {
-        TextureRectangle = ((int)0X84f5),
-        TextureBindingRectangle = ((int)0X84f6),
-        ProxyTextureRectangle = ((int)0X84f7),
-        MaxRectangleTextureSize = ((int)0X84f8),
-        UniformBuffer = ((int)0X8a11),
-        UniformBufferBinding = ((int)0X8a28),
-        UniformBufferStart = ((int)0X8a29),
-        UniformBufferSize = ((int)0X8a2a),
-        MaxVertexUniformBlocks = ((int)0X8a2b),
-        MaxFragmentUniformBlocks = ((int)0X8a2D),
-        MaxCombinedUniformBlocks = ((int)0X8a2e),
-        MaxUniformBufferBindings = ((int)0X8a2f),
-        MaxUniformBlockSize = ((int)0X8a30),
-        MaxCombinedVertexUniformComponents = ((int)0X8a31),
-        MaxCombinedFragmentUniformComponents = ((int)0X8a33),
-        UniformBufferOffsetAlignment = ((int)0X8a34),
-        ActiveUniformBlockMaxNameLength = ((int)0X8a35),
-        ActiveUniformBlocks = ((int)0X8a36),
-        UniformType = ((int)0X8a37),
-        UniformSize = ((int)0X8a38),
-        UniformNameLength = ((int)0X8a39),
-        UniformBlockIndex = ((int)0X8a3a),
-        UniformOffset = ((int)0X8a3b),
-        UniformArrayStride = ((int)0X8a3c),
-        UniformMatrixStride = ((int)0X8a3D),
-        UniformIsRowMajor = ((int)0X8a3e),
-        UniformBlockBinding = ((int)0X8a3f),
-        UniformBlockDataSize = ((int)0X8a40),
-        UniformBlockNameLength = ((int)0X8a41),
-        UniformBlockActiveUniforms = ((int)0X8a42),
-        UniformBlockActiveUniformIndices = ((int)0X8a43),
-        UniformBlockReferencedByVertexShader = ((int)0X8a44),
-        UniformBlockReferencedByFragmentShader = ((int)0X8a46),
-        Sampler2DRect = ((int)0X8b63),
-        Sampler2DRectShadow = ((int)0X8b64),
-        TextureBuffer = ((int)0X8c2a),
-        MaxTextureBufferSize = ((int)0X8c2b),
-        TextureBindingBuffer = ((int)0X8c2c),
-        TextureBufferDataStoreBinding = ((int)0X8c2d),
-        TextureBufferFormat = ((int)0X8c2e),
-        SamplerBuffer = ((int)0X8dc2),
-        IntSampler2DRect = ((int)0X8dcd),
-        IntSamplerBuffer = ((int)0X8dd0),
-        UnsignedIntSampler2DRect = ((int)0X8dd5),
-        UnsignedIntSamplerBuffer = ((int)0X8dd8),
-        CopyReadBuffer = ((int)0X8f36),
-        CopyWriteBuffer = ((int)0X8f37),
-        RedSnorm = ((int)0X8f90),
-        RgSnorm = ((int)0X8f91),
-        RgbSnorm = ((int)0X8f92),
-        RgbaSnorm = ((int)0X8f93),
-        R8Snorm = ((int)0X8f94),
-        Rg8Snorm = ((int)0X8f95),
-        Rgb8Snorm = ((int)0X8f96),
-        Rgba8Snorm = ((int)0X8f97),
-        R16Snorm = ((int)0X8f98),
-        Rg16Snorm = ((int)0X8f99),
-        Rgb16Snorm = ((int)0X8f9a),
-        Rgba16Snorm = ((int)0X8f9b),
-        SignedNormalized = ((int)0X8f9c),
-        PrimitiveRestart = ((int)0X8f9d),
-        PrimitiveRestartIndex = ((int)0X8f9e),
-        InvalidIndex = unchecked((int)0Xffffffff),
-    }
-
-    public enum Version32
-    {
-        ContextCoreProfileBit = ((int)0X00000001),
-        SyncFlushCommandsBit = ((int)0X00000001),
-        ContextCompatibilityProfileBit = ((int)0X00000002),
-        LinesAdjacency = ((int)0X000a),
-        LineStripAdjacency = ((int)0X000b),
-        TrianglesAdjacency = ((int)0X000c),
-        TriangleStripAdjacency = ((int)0X000d),
-        ProgramPointSize = ((int)0X8642),
-        DepthClamp = ((int)0X864f),
-        TextureCubeMapSeamless = ((int)0X884f),
-        GeometryVerticesOut = ((int)0X8916),
-        GeometryInputType = ((int)0X8917),
-        GeometryOutputType = ((int)0X8918),
-        MaxVaryingComponents = ((int)0X8b4b),
-        MaxGeometryTextureImageUnits = ((int)0X8c29),
-        FramebufferAttachmentTextureLayer = ((int)0X8cd4),
-        FramebufferAttachmentLayered = ((int)0X8da7),
-        FramebufferIncompleteLayerTargets = ((int)0X8da8),
-        GeometryShader = ((int)0X8dd9),
-        MaxGeometryUniformComponents = ((int)0X8ddf),
-        MaxGeometryOutputVertices = ((int)0X8de0),
-        MaxGeometryTotalOutputComponents = ((int)0X8de1),
-        QuadsFollowProvokingVertexConvention = ((int)0X8e4c),
-        FirstVertexConvention = ((int)0X8e4D),
-        LastVertexConvention = ((int)0X8e4e),
-        ProvokingVertex = ((int)0X8e4f),
-        SamplePosition = ((int)0X8e50),
-        SampleMask = ((int)0X8e51),
-        SampleMaskValue = ((int)0X8e52),
-        MaxSampleMaskWords = ((int)0X8e59),
-        Texture2DMultisample = ((int)0X9100),
-        ProxyTexture2DMultisample = ((int)0X9101),
-        Texture2DMultisampleArray = ((int)0X9102),
-        ProxyTexture2DMultisampleArray = ((int)0X9103),
-        TextureBinding2DMultisample = ((int)0X9104),
-        TextureBinding2DMultisampleArray = ((int)0X9105),
-        TextureSamples = ((int)0X9106),
-        TextureFixedSampleLocations = ((int)0X9107),
-        Sampler2DMultisample = ((int)0X9108),
-        IntSampler2DMultisample = ((int)0X9109),
-        UnsignedIntSampler2DMultisample = ((int)0X910a),
-        Sampler2DMultisampleArray = ((int)0X910b),
-        IntSampler2DMultisampleArray = ((int)0X910c),
-        UnsignedIntSampler2DMultisampleArray = ((int)0X910D),
-        MaxColorTextureSamples = ((int)0X910e),
-        MaxDepthTextureSamples = ((int)0X910f),
-        MaxIntegerSamples = ((int)0X9110),
-        MaxServerWaitTimeout = ((int)0X9111),
-        ObjectType = ((int)0X9112),
-        SyncCondition = ((int)0X9113),
-        SyncStatus = ((int)0X9114),
-        SyncFlags = ((int)0X9115),
-        SyncFence = ((int)0X9116),
-        SyncGpuCommandsComplete = ((int)0X9117),
-        Unsignaled = ((int)0X9118),
-        Signaled = ((int)0X9119),
-        AlreadySignaled = ((int)0X911a),
-        TimeoutExpired = ((int)0X911b),
-        ConditionSatisfied = ((int)0X911c),
-        WaitFailed = ((int)0X911D),
-        MaxVertexOutputComponents = ((int)0X9122),
-        MaxGeometryInputComponents = ((int)0X9123),
-        MaxGeometryOutputComponents = ((int)0X9124),
-        MaxFragmentInputComponents = ((int)0X9125),
-        ContextProfileMask = ((int)0X9126),
-        TimeoutIgnored = unchecked((int)0Xffffffffffffffff),
-    }
-
-    public enum VertexAttribParameter
-    {
-        ArrayEnabled = ((int)0X8622),
-        ArraySize = ((int)0X8623),
-        ArrayStride = ((int)0X8624),
-        ArrayType = ((int)0X8625),
-        CurrentVertexAttrib = ((int)0X8626),
-        ArrayNormalized = ((int)0X886a),
-        VertexAttribArrayInteger = ((int)0X88fd),
-    }
-
-    public enum VertexAttribParameterArb
-    {
-        ArrayEnabled = ((int)0X8622),
-        ArraySize = ((int)0X8623),
-        ArrayStride = ((int)0X8624),
-        ArrayType = ((int)0X8625),
-        CurrentVertexAttrib = ((int)0X8626),
-        ArrayNormalized = ((int)0X886a),
-        ArrayDivisor = ((int)0X88fe),
-    }
-
-    public enum VertexAttribPointerParameter
-    {
-        ArrayPointer = ((int)0X8645),
-    }
-
-    public enum VertexAttribPointerParameterArb
-    {
-        ArrayPointer = ((int)0X8645),
-    }
-
-    public enum VertexAttribPointerType
-    {
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum VertexAttribPointerTypeArb
-    {
-        Byte = ((int)0X1400),
-        UnsignedByte = ((int)0X1401),
-        Short = ((int)0X1402),
-        UnsignedShort = ((int)0X1403),
-        Int = ((int)0X1404),
-        UnsignedInt = ((int)0X1405),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-    }
-
-    public enum VertexPointerType
-    {
-        Short = ((int)0X1402),
-        Int = ((int)0X1404),
-        Float = ((int)0X1406),
-        Double = ((int)0X140a),
-        HalfFloat = ((int)0X140b),
-    }
-
-    public enum WinPhongShading
-    {
-        PhongWin = ((int)0X80ea),
-        PhongHintWin = ((int)0X80eb),
-    }
-
-    public enum WinSpecularFog
-    {
-        FogSpecularTextureWin = ((int)0X80ec),
-    }
-
-}
diff --git a/Source/Compatibility/Graphics/GL/GLHelper.cs b/Source/Compatibility/Graphics/GL/GLHelper.cs
deleted file mode 100644 (file)
index 0a1d954..0000000
+++ /dev/null
@@ -1,1317 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006-2008 the OpenTK team.
- * See license.txt for license info
- * 
- * Contributions by Andy Gill.
- */
-#endregion
-
-#region --- Using Directives ---
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Runtime.InteropServices;
-using System.Reflection;
-using System.Diagnostics;
-using System.Reflection.Emit;
-
-
-#endregion
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// OpenGL bindings for .NET, implementing OpenGL 3.1, plus extensions.
-    /// </summary>
-    /// <remarks>
-    /// <para>
-    /// This class contains all OpenGL enums and functions defined in the 3.1 specification.
-    /// The official .spec files can be found at: http://opengl.org/registry/.
-    /// </para>
-    /// <para> A valid OpenGL context must be created before calling any OpenGL function.</para>
-    /// <para>
-    /// Use the GL.Load and GL.LoadAll methods to prepare function entry points prior to use. To maintain
-    /// cross-platform compatibility, this must be done for both core and extension functions. The GameWindow
-    /// and the GLControl class will take care of this automatically.
-    /// </para>
-    /// <para>
-    /// You can use the GL.SupportsExtension method to check whether any given category of extension functions
-    /// exists in the current OpenGL context. Keep in mind that different OpenGL contexts may support different
-    /// extensions, and under different entry points. Always check if all required extensions are still supported
-    /// when changing visuals or pixel formats.
-    /// </para>
-    /// <para>
-    /// You may retrieve the entry point for an OpenGL function using the GL.GetDelegate method.
-    /// </para>
-    /// </remarks>
-    /// <see href="http://opengl.org/registry/"/>
-    /// <seealso cref="GL.SupportsExtension"/>
-    /// <seealso cref="GL.GetDelegate(string)"/>
-    /// <seealso cref="GL.LoadAll"/>
-    /// <seealso cref="GL.Load"/>
-    [Obsolete("Use OpenTK.Graphics.OpenGL or one of the specific profiles instead.")]
-    public static partial class GL
-    {
-        delegate void VoidGLDelegate(object @class, object[] parameters);
-        delegate object ObjectGLDelegate(object @class, object[] parameters);
-
-        #region --- Fields ---
-
-        internal const string Library = "opengl32.dll";
-
-        static StringBuilder sb = new StringBuilder();
-        static object gl_lock = new object();
-
-        private static SortedList<string, bool> AvailableExtensions = new SortedList<string, bool>();
-        private static bool rebuildExtensionList;
-
-        private static Type glClass;
-        private static Type delegatesClass;
-        private static Type importsClass;
-
-        #endregion
-
-        #region --- Constructor ---
-
-        static GL()
-        {
-            glClass = typeof(GL);
-            delegatesClass = glClass.GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic);
-            importsClass = glClass.GetNestedType("Imports", BindingFlags.Static | BindingFlags.NonPublic);
-
-            LoadAll();   // Ensure this class is loaded, since it is no longer visible to the GraphicsContext.LoadAll() method.
-        }
-
-        #endregion
-
-        #region --- Imports ---
-
-        internal static partial class Imports
-        {
-            internal static SortedList<string, MethodInfo> FunctionMap;  // This is faster than either Dictionary or SortedDictionary
-            static Imports()
-            {
-                MethodInfo[] methods = importsClass.GetMethods(BindingFlags.Static | BindingFlags.NonPublic);
-                FunctionMap = new SortedList<string, MethodInfo>(methods.Length);
-                foreach (MethodInfo m in methods)
-                {
-                    FunctionMap.Add(m.Name, m);
-                }
-            }
-        }
-
-        #endregion
-
-        #region --- Public Members ---
-
-        #region public static bool SupportsExtension(string name)
-
-        /// <summary>
-        /// Determines whether the specified OpenGL extension category is available in
-        /// the current OpenGL context. Equivalent to IsExtensionSupported(name, true)
-        /// </summary>
-        /// <param name="name">The string for the OpenGL extension category (eg. "GL_ARB_multitexture")</param>
-        /// <returns>True if the specified extension is available, false otherwise.</returns>
-        public static bool SupportsExtension(string name)
-        {
-            if (rebuildExtensionList)
-                BuildExtensionList();
-
-            lock (gl_lock)
-            {
-                sb.Remove(0, sb.Length);
-                if (!name.StartsWith("GL_"))
-                    sb.Append("gl_");
-                sb.Append(name.ToLower());
-                sb.Replace("_", String.Empty);
-
-                // Search the cache for the string.
-                return AvailableExtensions.ContainsKey(sb.ToString());
-            }
-        }
-
-        #endregion
-
-        #region public static Delegate GetDelegate(string name)
-
-        /// <summary>
-        /// Returns a System.Delegate wrapping the specified OpenGL function. You must use the
-        /// base OpenGL name of the function (e.g. "glVertex3fv" instead of "Vertex3").
-        /// </summary>
-        /// <param name="name">The name of the OpenGL function (eg. "glNewList")</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenGL function or null, if the specified
-        /// function name does not correspond to an OpenGL function or if the function is not
-        /// supported by the video drivers.
-        /// </returns>
-        public static Delegate GetDelegate(string name)
-        {
-            FieldInfo info = typeof(Delegates).GetField(name, BindingFlags.Static | BindingFlags.NonPublic);
-            if (info == null)
-                return null;
-            return (Delegate)info.GetValue(null);
-        }
-
-        #endregion
-
-        #region public static Delegate GetDelegate(string name, Type signature)
-
-        /// <summary>
-        /// Returns a System.Delegate wrapping an OpenGL function.
-        /// </summary>
-        /// <param name="name">The name of the OpenGL function (eg. "glNewList")</param>
-        /// <param name="signature">The signature of the OpenGL function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenGL function, or null if the specified
-        /// function name did not correspond to an OpenGL function.
-        /// </returns>
-        [Obsolete("Use GetDelegate(string name) instead.")]
-        public static Delegate GetDelegate(string name, Type signature)
-        {
-            return LoadDelegate(name, signature);
-        }
-
-        #endregion
-
-        #region public static void LoadAll()
-
-        /// <summary>
-        /// Loads all OpenGL functions (core and extensions).
-        /// </summary>
-        /// <remarks>
-        /// <para>
-        /// This function will be automatically called the first time you use any opengl function. There is 
-        /// </para>
-        /// <para>
-        /// Call this function manually whenever you need to update OpenGL entry points.
-        /// This need may arise if you change the pixelformat/visual, or in case you cannot
-        /// (or do not want) to use the automatic initialization of the GL class.
-        /// </para>
-        /// </remarks>
-        public static void LoadAll()
-        {
-            //TODO: Route GameWindow context creation through GraphicsContext.
-            //if (GraphicsContext.CurrentContext == null)
-            //    throw new InvalidOperationException("You must create an OpenGL context before using the GL class.");
-            if (GraphicsContext.CurrentContext == null)
-            {
-                throw new InvalidOperationException("No GraphicsContext available in the calling thread.");
-            }
-            else
-            {
-                int supported = 0;
-                Type extensions_class = typeof(GL).GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
-                if (extensions_class == null)
-                    throw new InvalidOperationException("The specified type does not have any loadable extensions.");
-                FieldInfo[] delegates = extensions_class.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
-                if (delegates == null)
-                    throw new InvalidOperationException("The specified type does not have any loadable extensions.");
-
-                foreach (FieldInfo f in delegates)
-                {
-                    Delegate d = LoadDelegate(f.Name, f.FieldType);
-                    if (d != null)
-                        ++supported;
-
-                    f.SetValue(null, d);
-                }
-
-                rebuildExtensionList = true;
-            }
-        }
-
-        #endregion
-
-        #region public static bool Load(string function)
-
-        /// <summary>
-        /// Tries to reload the given OpenGL function (core or extension).
-        /// </summary>
-        /// <param name="function">The name of the OpenGL function (i.e. glShaderSource)</param>
-        /// <returns>True if the function was found and reloaded, false otherwise.</returns>
-        /// <remarks>
-        /// <para>
-        /// Use this function if you require greater granularity when loading OpenGL entry points.
-        /// </para>
-        /// <para>
-        /// While the automatic initialisation will load all OpenGL entry points, in some cases
-        /// the initialisation can take place before an OpenGL Context has been established.
-        /// In this case, use this function to load the entry points for the OpenGL functions
-        /// you will need, or use ReloadFunctions() to load all available entry points.
-        /// </para>
-        /// <para>
-        /// This function returns true if the given OpenGL function is supported, false otherwise.
-        /// </para>
-        /// <para>
-        /// To query for supported extensions use the IsExtensionSupported() function instead.
-        /// </para>
-        /// </remarks>
-        public static bool Load(string function)
-        {
-            FieldInfo f = delegatesClass.GetField(function, BindingFlags.Static | BindingFlags.NonPublic);
-            if (f == null)
-                return false;
-
-            Delegate old = f.GetValue(null) as Delegate;
-            Delegate @new = LoadDelegate(f.Name, f.FieldType);
-            if (old.Target != @new.Target)
-            {
-                f.SetValue(null, @new);
-                rebuildExtensionList = true;
-            }
-            return @new != null;
-        }
-
-        #endregion
-
-        #region static Delegate LoadDelegate(string name, Type signature)
-
-        /// <private />
-        /// <summary>
-        /// Loads an OpenGL function into a type-safe System.Delegate.
-        /// </summary>
-        /// <param name="name">The name of the OpenGL function (eg. "glNewList")</param>
-        /// <param name="signature">The signature of the OpenGL function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenGL function, or null if the specified
-        /// function name did not correspond to an OpenGL function.
-        /// </returns>
-        static Delegate LoadDelegate(string name, Type signature)
-        {
-            MethodInfo m;
-            return
-                GetExtensionDelegate(name, signature) ??
-                (Imports.FunctionMap.TryGetValue((name.Substring(2)), out m) ?
-                Delegate.CreateDelegate(signature, m) : null);
-        }
-
-        #endregion
-
-        #region public static bool SupportsFunction(string function)
-
-        /// <summary>
-        /// Checks if a given OpenGL function is supported by the current context
-        /// </summary>
-        /// <param name="function">The name of the OpenGL function (i.e. glShaderSource)</param>
-        /// <returns>True if the function is supported, false otherwise</returns>
-        public static bool SupportsFunction(string function)
-        {
-            lock (gl_lock)
-            {
-                if (function == null)
-                    throw new ArgumentNullException("function");
-
-                sb.Remove(0, sb.Length);
-                if (!function.StartsWith("gl"))
-                    sb.Append("gl");
-                sb.Append(function);
-                FieldInfo f = delegatesClass.GetField(sb.ToString(), BindingFlags.Static | BindingFlags.NonPublic);
-                if (f == null)
-                    return false;
-
-                return f.GetValue(null) != null;
-            }
-        }
-
-        #endregion
-
-        #region public static bool SupportsFunction(string function, string extension)
-
-        /// <summary>
-        /// Checks if a given OpenGL function is supported by the current context
-        /// </summary>
-        /// <param name="function">The name of the OpenGL function (e.g. glShaderSource)</param>
-        /// <param name="extension">The name of the extension catagory (e.g. ARB, EXT, ATI, ...)</param>
-        /// <returns>True if the function is supported, false otherwise</returns>
-        public static bool SupportsFunction(string function, string extension)
-        {
-            lock (gl_lock)
-            {
-                if (function == null)
-                    throw new ArgumentNullException("function");
-                if (extension == null)
-                    throw new ArgumentNullException("extension");
-
-                sb.Remove(0, sb.Length);
-                if (!function.StartsWith("gl"))
-                    sb.Append("gl");
-                sb.Append(function);
-                if (!function.EndsWith(extension))
-                    sb.Append(extension);
-
-                FieldInfo f = delegatesClass.GetField(sb.ToString(), BindingFlags.Static | BindingFlags.NonPublic);
-                if (f == null)
-                    return false;
-
-                return f.GetValue(null) != null;
-            }
-        }
-
-        #endregion
-
-        #region static bool SupportsFunction(MethodInfo function)
-
-        /// <summary>
-        /// Checks if a given OpenGL function is supported by the current context.
-        /// </summary>
-        /// <param name="function">The System.Reflection.MethodInfo for the OpenGL function.</param>
-        /// <returns>True if the function is supported, false otherwise.</returns>
-        static bool SupportsFunction(MethodInfo function)
-        {
-            if (function == null)
-                throw new ArgumentNullException("function");
-
-            AutoGeneratedAttribute[] attr = (AutoGeneratedAttribute[])
-                function.GetCustomAttributes(typeof(AutoGeneratedAttribute), false);
-            if (attr.Length == 0)
-                return false;
-
-            return SupportsFunction(attr[0].EntryPoint);
-        }
-
-        #endregion
-
-        #region private static void BuildExtensionList()
-
-        /// <summary>
-        /// Builds a cache of the supported extensions to speed up searches.
-        /// </summary>
-        private static void BuildExtensionList()
-        {
-            // Assumes there is an opengl context current.
-            AvailableExtensions.Clear();
-            string version_string = GL.GetString(StringName.Version);
-            if (String.IsNullOrEmpty(version_string))
-            {
-                throw new ApplicationException("Failed to build extension list. Is there an opengl context current?");
-            }
-
-            string version;
-
-            // Most drivers return the version in the 3 first characters of the version string,
-            // (e.g. on Ati X1950 with Catalyst 7.10 -> "2.0.6956 Release"). However, Mesa seems
-            // to do something strange: "1.4 (2.1 Mesa 7.0.1).".
-            // Update: this seems to occur with indirect rendering. E.g. Ati 8.2: 1.4 (2.1.7281 ...)
-            // We'll do some trickery to get the second number (2.1), but this may break on
-            // some implementations...
-            //if (version_string.ToLower().Contains("mesa"))
-            {
-                int index = version_string.IndexOf('(');
-                if (index != -1)
-                    version = version_string.Substring(index + 1, 3);
-                else
-                    version = version_string.TrimStart(' ');
-            }
-            //else
-            //    version = version_string.TrimStart(' ');
-
-            if (version.StartsWith("1.1"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-            }
-            else if (version.StartsWith("1.2"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-            }
-            else if (version.StartsWith("1.3"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-            }
-            else if (version.StartsWith("1.4"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-                AvailableExtensions.Add("glversion14", true);
-            }
-            else if (version.StartsWith("1.5"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-                AvailableExtensions.Add("glversion14", true);
-                AvailableExtensions.Add("glversion15", true);
-            }
-            else if (version.StartsWith("2.0"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-                AvailableExtensions.Add("glversion14", true);
-                AvailableExtensions.Add("glversion15", true);
-                AvailableExtensions.Add("glversion20", true);
-            }
-            else if (version.StartsWith("2.1"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-                AvailableExtensions.Add("glversion14", true);
-                AvailableExtensions.Add("glversion15", true);
-                AvailableExtensions.Add("glversion20", true);
-                AvailableExtensions.Add("glversion21", true);
-            }
-            else if (version.StartsWith("3.0"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-                AvailableExtensions.Add("glversion14", true);
-                AvailableExtensions.Add("glversion15", true);
-                AvailableExtensions.Add("glversion20", true);
-                AvailableExtensions.Add("glversion21", true);
-                AvailableExtensions.Add("glversion30", true);
-            }
-            else if (version.StartsWith("3.1"))
-            {
-                AvailableExtensions.Add("glversion11", true);
-                AvailableExtensions.Add("glversion12", true);
-                AvailableExtensions.Add("glversion13", true);
-                AvailableExtensions.Add("glversion14", true);
-                AvailableExtensions.Add("glversion15", true);
-                AvailableExtensions.Add("glversion20", true);
-                AvailableExtensions.Add("glversion21", true);
-                AvailableExtensions.Add("glversion30", true);
-                AvailableExtensions.Add("glversion31", true);
-            }
-
-            string extension_string = GL.GetString(StringName.Extensions);
-            if (String.IsNullOrEmpty(extension_string))
-                return;               // no extensions are available
-
-            string[] extensions = extension_string.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
-            foreach (string ext in extensions)
-                AvailableExtensions.Add(ext.Replace("_", String.Empty).ToLower(), true);
-
-            rebuildExtensionList = false;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- GetProcAddress ---
-
-        private static IGetProcAddress getProcAddress;
-
-        internal interface IGetProcAddress
-        {
-            IntPtr GetProcAddress(string function);
-        }
-
-        internal class GetProcAddressWindows : IGetProcAddress
-        {
-            [System.Runtime.InteropServices.DllImport(Library, EntryPoint = "wglGetProcAddress", ExactSpelling = true)]
-            private static extern IntPtr wglGetProcAddress(String lpszProc);
-
-            public IntPtr GetProcAddress(string function)
-            {
-                return wglGetProcAddress(function);
-            }
-        }
-
-        internal class GetProcAddressX11 : IGetProcAddress
-        {
-            [DllImport(Library, EntryPoint = "glXGetProcAddress")]
-            private static extern IntPtr glxGetProcAddress([MarshalAs(UnmanagedType.LPTStr)] string procName);
-
-            public IntPtr GetProcAddress(string function)
-            {
-                return glxGetProcAddress(function);
-            }
-        }
-
-        internal class GetProcAddressOSX : IGetProcAddress
-        {
-            private const string Library = "libdl.dylib";
-
-            [DllImport(Library, EntryPoint = "NSIsSymbolNameDefined")]
-            private static extern bool NSIsSymbolNameDefined(string s);
-            [DllImport(Library, EntryPoint = "NSLookupAndBindSymbol")]
-            private static extern IntPtr NSLookupAndBindSymbol(string s);
-            [DllImport(Library, EntryPoint = "NSAddressOfSymbol")]
-            private static extern IntPtr NSAddressOfSymbol(IntPtr symbol);
-
-            public IntPtr GetProcAddress(string function)
-            {
-                string fname = "_" + function;
-                if (!NSIsSymbolNameDefined(fname))
-                    return IntPtr.Zero;
-
-                IntPtr symbol = NSLookupAndBindSymbol(fname);
-                if (symbol != IntPtr.Zero)
-                    symbol = NSAddressOfSymbol(symbol);
-
-                return symbol;
-            }
-        }
-
-        #region private static IntPtr GetAddress(string function)
-
-        /// <summary>
-        /// Retrieves the entry point for a dynamically exported OpenGL function.
-        /// </summary>
-        /// <param name="function">The function string for the OpenGL function (eg. "glNewList")</param>
-        /// <returns>
-        /// An IntPtr contaning the address for the entry point, or IntPtr.Zero if the specified
-        /// OpenGL function is not dynamically exported.
-        /// </returns>
-        /// <remarks>
-        /// <para>
-        /// The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value
-        /// into a call-able delegate.
-        /// </para>
-        /// <para>
-        /// This function is cross-platform. It determines the underlying platform and uses the
-        /// correct wgl, glx or agl GetAddress function to retrieve the function pointer.
-        /// </para>
-        /// </remarks>
-        private static IntPtr GetAddress(string function)
-        {
-            if (getProcAddress == null)
-            {
-                if (Configuration.RunningOnWindows)
-                {
-                    getProcAddress = new GetProcAddressWindows();
-                }
-                else if (Configuration.RunningOnMacOS)
-                {
-                    getProcAddress = new GetProcAddressOSX();
-                }
-                else if (Configuration.RunningOnX11)
-                {
-                    getProcAddress = new GetProcAddressX11();
-                }
-                else
-                {
-                    throw new PlatformNotSupportedException(
-                        "Extension loading is only supported under Mac OS X, X11 and Windows. We are sorry for the inconvience.");
-                }
-            }
-
-            return getProcAddress.GetProcAddress(function);
-        }
-
-        #endregion
-
-        #region internal static Delegate GetExtensionDelegate(string name, Type signature)
-
-        /// <summary>
-        /// Creates a System.Delegate that can be used to call a dynamically exported OpenGL function.
-        /// </summary>
-        /// <param name="name">The name of the OpenGL function (eg. "glNewList")</param>
-        /// <param name="signature">The signature of the OpenGL function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenGL function or null
-        /// if the function is not available in the current OpenGL context.
-        /// </returns>
-        internal static Delegate GetExtensionDelegate(string name, Type signature)
-        {
-            IntPtr address = GetAddress(name);
-
-            if (address == IntPtr.Zero ||
-                address == new IntPtr(1) ||     // Workaround for buggy nvidia drivers which return
-                address == new IntPtr(2))       // 1 or 2 instead of IntPtr.Zero for some extensions.
-            {
-                return null;
-            }
-            else
-            {
-                return Marshal.GetDelegateForFunctionPointer(address, signature);
-            }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- GL Overloads ---
-
-#pragma warning disable 3019
-#pragma warning disable 1591
-#pragma warning disable 1572
-#pragma warning disable 1573
-        
-        #region public static void Color[34]() overloads
-
-        public static void Color3(System.Drawing.Color color)
-        {
-            GL.Color3(color.R, color.G, color.B);
-        }
-
-        public static void Color4(System.Drawing.Color color)
-        {
-            GL.Color4(color.R, color.G, color.B, color.A);
-        }
-
-        public static void Color3(Vector3 color)
-        {
-            GL.Color3(color.X, color.Y, color.Z);
-        }
-
-        public static void Color4(Vector4 color)
-        {
-            GL.Color4(color.X, color.Y, color.Z, color.W);
-        }
-
-
-        #endregion
-
-        #region public static void ClearColor() overloads
-
-        public static void ClearColor(System.Drawing.Color color)
-        {
-            GL.ClearColor(color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, color.A / 255.0f);
-        }
-
-        #endregion
-
-        #region public static void BlendColor() overloads
-
-        public static void BlendColor(System.Drawing.Color color)
-        {
-            GL.BlendColor(color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, color.A / 255.0f);
-        }
-
-        #endregion
-
-        #region public static void Material() overloads
-
-        public static void Material(MaterialFace face, MaterialParameter pname, Vector4 @params)
-        {
-            unsafe { Material(face, pname, (float*)&@params.X); }
-        }
-
-        public static void Material(MaterialFace face, MaterialParameter pname, Color4 @params)
-        {
-            unsafe { GL.Material(face, pname, (float*)&@params); }
-        }
-
-        #endregion
-
-        #region public static void Light() overloads
-
-        public static void Light(LightName name, LightParameter pname, Vector4 @params)
-        {
-            unsafe { GL.Light(name, pname, (float*)&@params.X); }
-        }
-
-        public static void Light(LightName name, LightParameter pname, Color4 @params)
-        {
-            unsafe { GL.Light(name, pname, (float*)&@params); }
-        }
-
-        #endregion
-
-        #region --- Overloads for OpenTK.Math ---
-
-        public static void Normal3(Vector3 normal)
-        {
-            Delegates.glNormal3f(normal.X, normal.Y, normal.Z);
-        }
-
-        public static void RasterPos2(Vector2 pos)
-        {
-            Delegates.glRasterPos2f(pos.X, pos.Y);
-        }
-
-        public static void RasterPos3(Vector3 pos)
-        {
-            Delegates.glRasterPos3f(pos.X, pos.Y, pos.Z);
-        }
-
-        public static void RasterPos4(Vector4 pos)
-        {
-            Delegates.glRasterPos4f(pos.X, pos.Y, pos.Z, pos.W);
-        }
-
-        public static void Vertex2(Vector2 v)
-        {
-            Delegates.glVertex2f(v.X, v.Y);
-        }
-
-        public static void Vertex3(Vector3 v)
-        {
-            Delegates.glVertex3f(v.X, v.Y, v.Z);
-        }
-
-        public static void Vertex4(Vector4 v)
-        {
-            Delegates.glVertex4f(v.X, v.Y, v.Z, v.W);
-        }
-
-        public static void TexCoord2(Vector2 v)
-        {
-            Delegates.glTexCoord2f(v.X, v.Y);
-        }
-
-        public static void TexCoord3(Vector3 v)
-        {
-            Delegates.glTexCoord3f(v.X, v.Y, v.Z);
-        }
-
-        public static void TexCoord4(Vector4 v)
-        {
-            Delegates.glTexCoord4f(v.X, v.Y, v.Z, v.W);
-        }
-
-        public static void Rotate(Single angle, Vector3 axis)
-        {
-            Delegates.glRotatef((Single)angle, axis.X, axis.Y, axis.Z);
-        }
-
-        public static void Scale(Vector3 scale)
-        {
-            Delegates.glScalef(scale.X, scale.Y, scale.Z);
-        }
-
-        public static void Translate(Vector3 trans)
-        {
-            Delegates.glTranslatef(trans.X, trans.Y, trans.Z);
-        }
-
-        public static void MultMatrix(ref Matrix4 mat)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glMultMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static void LoadMatrix(ref Matrix4 mat)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glLoadMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static void LoadTransposeMatrix(ref Matrix4 mat)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glLoadTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static void MultTransposeMatrix(ref Matrix4 mat)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glMultTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static void MultMatrix(ref Matrix4d mat)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glMultMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static void LoadMatrix(ref Matrix4d mat)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glLoadMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static void LoadTransposeMatrix(ref Matrix4d mat)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glLoadTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static void MultTransposeMatrix(ref Matrix4d mat)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &mat.Row0.X)
-                {
-                    Delegates.glMultTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static void UniformMatrix4(int location, bool transpose, ref Matrix4 matrix)
-        {
-            unsafe
-            {
-                fixed (float* matrix_ptr = &matrix.Row0.X)
-                {
-                    GL.UniformMatrix4(location, 1, transpose, matrix_ptr);
-                }
-            }
-        }
-
-        #region Uniform
-
-        [CLSCompliant(false)]
-        public static void Uniform2(int location, ref Vector2 vector)
-        {
-            GL.Uniform2(location, vector.X, vector.Y);
-        }
-
-        [CLSCompliant(false)]
-        public static void Uniform3(int location, ref Vector3 vector)
-        {
-            GL.Uniform3(location, vector.X, vector.Y, vector.Z);
-        }
-
-        [CLSCompliant(false)]
-        public static void Uniform4(int location, ref Vector4 vector)
-        {
-            GL.Uniform4(location, vector.X, vector.Y, vector.Z, vector.W);
-        }
-
-        public static void Uniform2(int location, Vector2 vector)
-        {
-            GL.Uniform2(location, vector.X, vector.Y);
-        }
-
-        public static void Uniform3(int location, Vector3 vector)
-        {
-            GL.Uniform3(location, vector.X, vector.Y, vector.Z);
-        }
-
-        public static void Uniform4(int location, Vector4 vector)
-        {
-            GL.Uniform4(location, vector.X, vector.Y, vector.Z, vector.W);
-        }
-        
-        public static void Uniform4(int location, Color4 color)
-        {
-            GL.Uniform4(location, color.R, color.G, color.B, color.A);
-        }
-
-        public static void Uniform4(int location, Quaternion quaternion)
-        {
-            GL.Uniform4(location, quaternion.X, quaternion.Y, quaternion.Z, quaternion.W);
-        }
-        
-        #endregion
-
-        #endregion
-
-        #region public static void ShaderSource(Int32 shader, System.String @string)
-
-        public static void ShaderSource(Int32 shader, System.String @string)
-        {
-            unsafe
-            {
-                int length = @string.Length;
-                Delegates.glShaderSource((UInt32)shader, 1, new string[] { @string }, &length);
-            }
-        }
-
-        #endregion
-
-        #region public static string GetShaderInfoLog(Int32 shader)
-
-        public static string GetShaderInfoLog(Int32 shader)
-        {
-            string info;
-            GetShaderInfoLog(shader, out info);
-            return info;        
-        }
-
-        #endregion
-
-        #region public static void GetShaderInfoLog(Int32 shader, out string info)
-
-        public static void GetShaderInfoLog(Int32 shader, out string info)
-        {
-            unsafe
-            {
-                int length;
-                GL.GetShader(shader, ShaderParameter.InfoLogLength, out length);
-                if (length == 0)
-                {
-                    info = String.Empty;
-                    return;
-                }
-                StringBuilder sb = new StringBuilder(length);
-                Delegates.glGetShaderInfoLog((UInt32)shader, sb.Capacity, &length, sb);
-                info = sb.ToString();
-            }
-        }
-
-        #endregion
-
-        #region public static string GetProgramInfoLog(Int32 program)
-        
-        public static string GetProgramInfoLog(Int32 program)
-        {
-            string info;
-            GetProgramInfoLog(program, out info);
-            return info;
-        }
-        
-        #endregion
-        
-        #region public static void GetProgramInfoLog(Int32 program, out string info)
-
-        public static void GetProgramInfoLog(Int32 program, out string info)
-        {
-            unsafe
-            {
-                int length;
-                GL.GetProgram(program, OpenTK.Graphics.ProgramParameter.InfoLogLength, out length);
-                if (length == 0)
-                {
-                    info = String.Empty;
-                    return;
-                }
-                StringBuilder sb = new StringBuilder(length);
-                Delegates.glGetProgramInfoLog((UInt32)program, sb.Capacity, &length, sb);
-                info = sb.ToString();
-            }
-        }
-
-        #endregion
-
-        #region public static void PointParameter(PointSpriteCoordOriginParameter param)
-
-        /// <summary>
-        /// Helper function that defines the coordinate origin of the Point Sprite.
-        /// </summary>
-        /// <param name="param">
-        /// A OpenTK.Graphics.OpenGL.GL.PointSpriteCoordOriginParameter token,
-        /// denoting the origin of the Point Sprite.
-        /// </param>
-        public static void PointParameter(PointSpriteCoordOriginParameter param)
-        {
-            GL.PointParameter(PointParameterName.PointSpriteCoordOrigin, (int)param);
-        }
-
-        #endregion
-
-        #region public static void VertexAttrib2(Int32 index, ref Vector2 v)
-
-        [CLSCompliant(false)]
-        public static void VertexAttrib2(Int32 index, ref Vector2 v)
-        {
-            GL.VertexAttrib2(index, v.X, v.Y);
-        }
-
-        #endregion
-
-        #region public static void VertexAttrib3(Int32 index, ref Vector3 v)
-
-        [CLSCompliant(false)]
-        public static void VertexAttrib3(Int32 index, ref Vector3 v)
-        {
-            GL.VertexAttrib3(index, v.X, v.Y, v.Z);
-        }
-
-        #endregion
-
-        #region public static void VertexAttrib4(Int32 index, ref Vector4 v)
-
-        [CLSCompliant(false)]
-        public static void VertexAttrib4(Int32 index, ref Vector4 v)
-        {
-            GL.VertexAttrib4(index, v.X, v.Y, v.Z, v.W);
-        }
-
-        #endregion
-
-        #region public static void VertexAttrib2(Int32 index, Vector2 v)
-
-        public static void VertexAttrib2(Int32 index, Vector2 v)
-        {
-            GL.VertexAttrib2(index, v.X, v.Y);
-        }
-
-        #endregion
-
-        #region public static void VertexAttrib3(Int32 index, Vector3 v)
-
-        public static void VertexAttrib3(Int32 index, Vector3 v)
-        {
-            GL.VertexAttrib3(index, v.X, v.Y, v.Z);
-        }
-
-        #endregion
-
-        #region public static void VertexAttrib4(Int32 index, Vector4 v)
-
-        public static void VertexAttrib4(Int32 index, Vector4 v)
-        {
-            GL.VertexAttrib4(index, v.X, v.Y, v.Z, v.W);
-        }
-
-        #endregion
-
-        #region public static void MultiTexCoord2(TextureUnit target, ref Vector2 v)
-
-        public static void MultiTexCoord2(TextureUnit target, ref Vector2 v)
-        {
-            GL.MultiTexCoord2(target, v.X, v.Y);
-        }
-
-        #endregion
-
-        #region public static void MultiTexCoord3(TextureUnit target, ref Vector3 v)
-
-        public static void MultiTexCoord3(TextureUnit target, ref Vector3 v)
-        {
-            GL.MultiTexCoord3(target, v.X, v.Y, v.Z);
-        }
-
-        #endregion
-
-        #region public static void MultiTexCoord4(TextureUnit target, ref Vector4 v)
-
-        public static void MultiTexCoord4(TextureUnit target, ref Vector4 v)
-        {
-            GL.MultiTexCoord4(target, v.X, v.Y, v.Z, v.W);
-        }
-
-        #endregion
-
-        #region public static void Rect(System.Drawing.RectangleF rect)
-
-        public static void Rect(System.Drawing.RectangleF rect)
-        {
-            GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom);
-        }
-
-        #endregion
-
-        #region public static void Rect(ref System.Drawing.RectangleF rect)
-
-        [CLSCompliant(false)]
-        public static void Rect(ref System.Drawing.RectangleF rect)
-        {
-            GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom);
-        }
-
-        #endregion
-
-        #region public static void Rect(System.Drawing.Rectangle rect)
-
-        public static void Rect(System.Drawing.Rectangle rect)
-        {
-            GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom);
-        }
-
-        #endregion
-
-        #region public static void Rect(ref System.Drawing.Rectangle rect)
-
-        [CLSCompliant(false)]
-        public static void Rect(ref System.Drawing.Rectangle rect)
-        {
-            GL.Rect(rect.Left, rect.Top, rect.Right, rect.Bottom);
-        }
-
-        #endregion
-
-        #region public static int GenTexture()
-
-        public static int GenTexture()
-        {
-            int id;
-            GenTextures(1, out id);
-            return id;
-        }
-
-        #endregion
-
-        #region public static void DeleteTexture(int id)
-
-        public static void DeleteTexture(int id)
-        {
-            DeleteTextures(1, ref id);
-        }
-
-        #endregion
-
-        #region [Vertex|Normal|Index|Color|FogCoord|VertexAttrib]Pointer
-
-        public static void VertexPointer(int size, VertexPointerType type, int stride, int pointer)
-        {
-            VertexPointer(size, type, stride, (IntPtr)pointer);
-        }
-
-        public static void NormalPointer(int size, NormalPointerType type, int stride, int pointer)
-        {
-            NormalPointer(type, stride, (IntPtr)pointer);
-        }
-
-        public static void IndexPointer(IndexPointerType type, int stride, int pointer)
-        {
-            IndexPointer(type, stride, (IntPtr)pointer);
-        }
-
-        public static void ColorPointer(int size, ColorPointerType type, int stride, int pointer)
-        {
-            ColorPointer(size, type, stride, (IntPtr)pointer);
-        }
-
-        public static void FogCoordPointer(int size, FogPointerType type, int stride, int pointer)
-        {
-            FogCoordPointer(type, stride, (IntPtr)pointer);
-        }
-
-        public static void EdgeFlagPointer(int stride, int pointer)
-        {
-            EdgeFlagPointer(stride, (IntPtr)pointer);
-        }
-
-        public static void VertexAttribPointer(int index, int size, VertexAttribPointerType type, bool normalized, int stride, int pointer)
-        {
-            VertexAttribPointer(index, size, type, normalized, stride, (IntPtr)pointer);
-        }
-
-        #endregion
-
-        #region Get[Float|Double]
-
-        public static void GetFloat(GetPName pname, out Vector2 vector)
-        {
-            unsafe
-            {
-                fixed (Vector2* ptr = &vector)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetFloat(GetPName pname, out Vector3 vector)
-        {
-            unsafe
-            {
-                fixed (Vector3* ptr = &vector)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetFloat(GetPName pname, out Vector4 vector)
-        {
-            unsafe
-            {
-                fixed (Vector4* ptr = &vector)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetFloat(GetPName pname, out Matrix4 matrix)
-        {
-            unsafe
-            {
-                fixed (Matrix4* ptr = &matrix)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetDouble(GetPName pname, out Vector2d vector)
-        {
-            unsafe
-            {
-                fixed (Vector2d* ptr = &vector)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetDouble(GetPName pname, out Vector3d vector)
-        {
-            unsafe
-            {
-                fixed (Vector3d* ptr = &vector)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetDouble(GetPName pname, out Vector4d vector)
-        {
-            unsafe
-            {
-                fixed (Vector4d* ptr = &vector)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        public static void GetDouble(GetPName pname, out Matrix4d matrix)
-        {
-            unsafe
-            {
-                fixed (Matrix4d* ptr = &matrix)
-                    GetFloat(pname, (float*)ptr);
-            }
-        }
-
-        #endregion
-
-        #region Viewport
-
-        public static void Viewport(System.Drawing.Size size)
-        {
-            GL.Viewport(0, 0, size.Width, size.Height);
-        }
-
-        public static void Viewport(System.Drawing.Point location, System.Drawing.Size size)
-        {
-            GL.Viewport(location.X, location.Y, size.Width, size.Height);
-        }
-
-        public static void Viewport(System.Drawing.Rectangle rectangle)
-        {
-            GL.Viewport(rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height);
-        }
-
-        #endregion
-
-        #region TexEnv
-
-        public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, System.Drawing.Color color)
-        {
-            Color4 c = new Color4(color);
-            unsafe
-            {
-                TexEnv(target, pname, &c.R);
-            }
-        }
-
-        public static void TexEnv(TextureEnvTarget target, TextureEnvParameter pname, Color4 color)
-        {
-            unsafe
-            {
-                TexEnv(target, pname, &color.R);
-            }
-        }
-
-        #endregion
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Glu/Glu.cs b/Source/Compatibility/Graphics/Glu/Glu.cs
deleted file mode 100644 (file)
index 7279884..0000000
+++ /dev/null
@@ -1,1021 +0,0 @@
-namespace OpenTK.Graphics
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 3019
-    #pragma warning disable 1591
-
-    static partial class Glu
-    {
-
-        public static 
-        void BeginCurve(IntPtr nurb)
-        {
-            Delegates.gluBeginCurve((IntPtr)nurb);
-        }
-
-        public static 
-        void BeginPolygon(IntPtr tess)
-        {
-            Delegates.gluBeginPolygon((IntPtr)tess);
-        }
-
-        public static 
-        void BeginSurface(IntPtr nurb)
-        {
-            Delegates.gluBeginSurface((IntPtr)nurb);
-        }
-
-        public static 
-        void BeginTrim(IntPtr nurb)
-        {
-            Delegates.gluBeginTrim((IntPtr)nurb);
-        }
-
-        public static 
-        Int32 Build1DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data)
-        {
-            unsafe
-            {
-                return Delegates.gluBuild1DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data);
-            }
-        }
-
-        public static 
-        Int32 Build1DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluBuild1DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 Build1DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr data)
-        {
-            unsafe
-            {
-                return Delegates.gluBuild1DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)data);
-            }
-        }
-
-        public static 
-        Int32 Build1DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluBuild1DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 Build2DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data)
-        {
-            unsafe
-            {
-                return Delegates.gluBuild2DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data);
-            }
-        }
-
-        public static 
-        Int32 Build2DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluBuild2DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 Build2DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr data)
-        {
-            unsafe
-            {
-                return Delegates.gluBuild2DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)data);
-            }
-        }
-
-        public static 
-        Int32 Build2DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluBuild2DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 Build3DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data)
-        {
-            unsafe
-            {
-                return Delegates.gluBuild3DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data);
-            }
-        }
-
-        public static 
-        Int32 Build3DMipmapLevel(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluBuild3DMipmapLevels((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (Int32)level, (Int32)@base, (Int32)max, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 Build3DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr data)
-        {
-            unsafe
-            {
-                return Delegates.gluBuild3DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)data);
-            }
-        }
-
-        public static 
-        Int32 Build3DMipmap(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluBuild3DMipmaps((TextureTarget)target, (Int32)internalFormat, (Int32)width, (Int32)height, (Int32)depth, (PixelFormat)format, (PixelType)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        bool CheckExtension(Byte[] extName, Byte[] extString)
-        {
-            unsafe
-            {
-                fixed (Byte* extName_ptr = extName)
-                fixed (Byte* extString_ptr = extString)
-                {
-                    return Delegates.gluCheckExtension((Byte*)extName_ptr, (Byte*)extString_ptr);
-                }
-            }
-        }
-
-        public static 
-        bool CheckExtension(ref Byte extName, ref Byte extString)
-        {
-            unsafe
-            {
-                fixed (Byte* extName_ptr = &extName)
-                fixed (Byte* extString_ptr = &extString)
-                {
-                    return Delegates.gluCheckExtension((Byte*)extName_ptr, (Byte*)extString_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe bool CheckExtension(Byte* extName, Byte* extString)
-        {
-            return Delegates.gluCheckExtension((Byte*)extName, (Byte*)extString);
-        }
-
-        public static 
-        void Cylinder(IntPtr quad, double @base, double top, double height, Int32 slices, Int32 stacks)
-        {
-            Delegates.gluCylinder((IntPtr)quad, (double)@base, (double)top, (double)height, (Int32)slices, (Int32)stacks);
-        }
-
-        public static 
-        void DeleteNurbsRenderer(IntPtr nurb)
-        {
-            Delegates.gluDeleteNurbsRenderer((IntPtr)nurb);
-        }
-
-        public static 
-        void DeleteQuadric(IntPtr quad)
-        {
-            Delegates.gluDeleteQuadric((IntPtr)quad);
-        }
-
-        public static 
-        void DeleteTess(IntPtr tess)
-        {
-            Delegates.gluDeleteTess((IntPtr)tess);
-        }
-
-        public static 
-        void Disk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops)
-        {
-            Delegates.gluDisk((IntPtr)quad, (double)inner, (double)outer, (Int32)slices, (Int32)loops);
-        }
-
-        public static 
-        void EndCurve(IntPtr nurb)
-        {
-            Delegates.gluEndCurve((IntPtr)nurb);
-        }
-
-        public static 
-        void EndPolygon(IntPtr tess)
-        {
-            Delegates.gluEndPolygon((IntPtr)tess);
-        }
-
-        public static 
-        void EndSurface(IntPtr nurb)
-        {
-            Delegates.gluEndSurface((IntPtr)nurb);
-        }
-
-        public static 
-        void EndTrim(IntPtr nurb)
-        {
-            Delegates.gluEndTrim((IntPtr)nurb);
-        }
-
-        public static 
-        string ErrorString(OpenTK.Graphics.GluErrorCode error)
-        {
-            unsafe
-            {
-                return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.gluErrorString((OpenTK.Graphics.GluErrorCode)error));
-            }
-        }
-
-        public static 
-        string GetString(OpenTK.Graphics.GluStringName name)
-        {
-            unsafe
-            {
-                return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.gluGetString((OpenTK.Graphics.GluStringName)name));
-            }
-        }
-
-        public static 
-        void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float[] data)
-        {
-            unsafe
-            {
-                fixed (float* data_ptr = data)
-                {
-                    Delegates.gluGetNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] out float data)
-        {
-            unsafe
-            {
-                fixed (float* data_ptr = &data)
-                {
-                    Delegates.gluGetNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float* data)
-        {
-            Delegates.gluGetNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float*)data);
-        }
-
-        public static 
-        void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double[] data)
-        {
-            unsafe
-            {
-                fixed (double* data_ptr = data)
-                {
-                    Delegates.gluGetTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] out double data)
-        {
-            unsafe
-            {
-                fixed (double* data_ptr = &data)
-                {
-                    Delegates.gluGetTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double* data)
-        {
-            Delegates.gluGetTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double*)data);
-        }
-
-        public static 
-        void LoadSamplingMatrices(IntPtr nurb, float[] model, float[] perspective, Int32[] view)
-        {
-            unsafe
-            {
-                fixed (float* model_ptr = model)
-                fixed (float* perspective_ptr = perspective)
-                fixed (Int32* view_ptr = view)
-                {
-                    Delegates.gluLoadSamplingMatrices((IntPtr)nurb, (float*)model_ptr, (float*)perspective_ptr, (Int32*)view_ptr);
-                }
-            }
-        }
-
-        public static 
-        void LoadSamplingMatrices(IntPtr nurb, ref float model, ref float perspective, ref Int32 view)
-        {
-            unsafe
-            {
-                fixed (float* model_ptr = &model)
-                fixed (float* perspective_ptr = &perspective)
-                fixed (Int32* view_ptr = &view)
-                {
-                    Delegates.gluLoadSamplingMatrices((IntPtr)nurb, (float*)model_ptr, (float*)perspective_ptr, (Int32*)view_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void LoadSamplingMatrices(IntPtr nurb, float* model, float* perspective, Int32* view)
-        {
-            Delegates.gluLoadSamplingMatrices((IntPtr)nurb, (float*)model, (float*)perspective, (Int32*)view);
-        }
-
-        public static 
-        void LookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
-        {
-            Delegates.gluLookAt((double)eyeX, (double)eyeY, (double)eyeZ, (double)centerX, (double)centerY, (double)centerZ, (double)upX, (double)upY, (double)upZ);
-        }
-
-        public static 
-        IntPtr NewNurbsRenderer()
-        {
-            return Delegates.gluNewNurbsRenderer();
-        }
-
-        public static 
-        IntPtr NewQuadric()
-        {
-            return Delegates.gluNewQuadric();
-        }
-
-        public static 
-        IntPtr NewTess()
-        {
-            return Delegates.gluNewTess();
-        }
-
-        public static 
-        void NextContour(IntPtr tess, OpenTK.Graphics.TessContour type)
-        {
-            Delegates.gluNextContour((IntPtr)tess, (OpenTK.Graphics.TessContour)type);
-        }
-
-        public static 
-        void NurbsCallback(IntPtr nurb, OpenTK.Graphics.NurbsCallback which, Delegate CallBackFunc)
-        {
-            Delegates.gluNurbsCallback((IntPtr)nurb, (OpenTK.Graphics.NurbsCallback)which, (Delegate)CallBackFunc);
-        }
-
-        public static 
-        void NurbsCallbackData(IntPtr nurb, IntPtr userData)
-        {
-            unsafe
-            {
-                Delegates.gluNurbsCallbackData((IntPtr)nurb, (IntPtr)userData);
-            }
-        }
-
-        public static 
-        void NurbsCallbackData(IntPtr nurb, [In, Out] object userData)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle userData_ptr = System.Runtime.InteropServices.GCHandle.Alloc(userData, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.gluNurbsCallbackData((IntPtr)nurb, (IntPtr)userData_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    userData_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float[] knots, Int32 stride, [Out] float[] control, Int32 order, MapTarget type)
-        {
-            unsafe
-            {
-                fixed (float* knots_ptr = knots)
-                fixed (float* control_ptr = control)
-                {
-                    Delegates.gluNurbsCurve((IntPtr)nurb, (Int32)knotCount, (float*)knots_ptr, (Int32)stride, (float*)control_ptr, (Int32)order, (MapTarget)type);
-                }
-            }
-        }
-
-        public static 
-        void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] out float knots, Int32 stride, [Out] out float control, Int32 order, MapTarget type)
-        {
-            unsafe
-            {
-                fixed (float* knots_ptr = &knots)
-                fixed (float* control_ptr = &control)
-                {
-                    Delegates.gluNurbsCurve((IntPtr)nurb, (Int32)knotCount, (float*)knots_ptr, (Int32)stride, (float*)control_ptr, (Int32)order, (MapTarget)type);
-                    knots = *knots_ptr;
-                    control = *control_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float* knots, Int32 stride, [Out] float* control, Int32 order, MapTarget type)
-        {
-            Delegates.gluNurbsCurve((IntPtr)nurb, (Int32)knotCount, (float*)knots, (Int32)stride, (float*)control, (Int32)order, (MapTarget)type);
-        }
-
-        public static 
-        void NurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, float value)
-        {
-            Delegates.gluNurbsProperty((IntPtr)nurb, (OpenTK.Graphics.NurbsProperty)property, (float)value);
-        }
-
-        public static 
-        void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float[] sKnots, Int32 tKnotCount, float[] tKnots, Int32 sStride, Int32 tStride, float[] control, Int32 sOrder, Int32 tOrder, MapTarget type)
-        {
-            unsafe
-            {
-                fixed (float* sKnots_ptr = sKnots)
-                fixed (float* tKnots_ptr = tKnots)
-                fixed (float* control_ptr = control)
-                {
-                    Delegates.gluNurbsSurface((IntPtr)nurb, (Int32)sKnotCount, (float*)sKnots_ptr, (Int32)tKnotCount, (float*)tKnots_ptr, (Int32)sStride, (Int32)tStride, (float*)control_ptr, (Int32)sOrder, (Int32)tOrder, (MapTarget)type);
-                }
-            }
-        }
-
-        public static 
-        void NurbsSurface(IntPtr nurb, Int32 sKnotCount, ref float sKnots, Int32 tKnotCount, ref float tKnots, Int32 sStride, Int32 tStride, ref float control, Int32 sOrder, Int32 tOrder, MapTarget type)
-        {
-            unsafe
-            {
-                fixed (float* sKnots_ptr = &sKnots)
-                fixed (float* tKnots_ptr = &tKnots)
-                fixed (float* control_ptr = &control)
-                {
-                    Delegates.gluNurbsSurface((IntPtr)nurb, (Int32)sKnotCount, (float*)sKnots_ptr, (Int32)tKnotCount, (float*)tKnots_ptr, (Int32)sStride, (Int32)tStride, (float*)control_ptr, (Int32)sOrder, (Int32)tOrder, (MapTarget)type);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float* sKnots, Int32 tKnotCount, float* tKnots, Int32 sStride, Int32 tStride, float* control, Int32 sOrder, Int32 tOrder, MapTarget type)
-        {
-            Delegates.gluNurbsSurface((IntPtr)nurb, (Int32)sKnotCount, (float*)sKnots, (Int32)tKnotCount, (float*)tKnots, (Int32)sStride, (Int32)tStride, (float*)control, (Int32)sOrder, (Int32)tOrder, (MapTarget)type);
-        }
-
-        public static 
-        void Ortho2D(double left, double right, double bottom, double top)
-        {
-            Delegates.gluOrtho2D((double)left, (double)right, (double)bottom, (double)top);
-        }
-
-        public static 
-        void PartialDisk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops, double start, double sweep)
-        {
-            Delegates.gluPartialDisk((IntPtr)quad, (double)inner, (double)outer, (Int32)slices, (Int32)loops, (double)start, (double)sweep);
-        }
-
-        public static 
-        void Perspective(double fovy, double aspect, double zNear, double zFar)
-        {
-            Delegates.gluPerspective((double)fovy, (double)aspect, (double)zNear, (double)zFar);
-        }
-
-        public static 
-        void PickMatrix(double x, double y, double delX, double delY, [Out] Int32[] viewport)
-        {
-            unsafe
-            {
-                fixed (Int32* viewport_ptr = viewport)
-                {
-                    Delegates.gluPickMatrix((double)x, (double)y, (double)delX, (double)delY, (Int32*)viewport_ptr);
-                }
-            }
-        }
-
-        public static 
-        void PickMatrix(double x, double y, double delX, double delY, [Out] out Int32 viewport)
-        {
-            unsafe
-            {
-                fixed (Int32* viewport_ptr = &viewport)
-                {
-                    Delegates.gluPickMatrix((double)x, (double)y, (double)delX, (double)delY, (Int32*)viewport_ptr);
-                    viewport = *viewport_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void PickMatrix(double x, double y, double delX, double delY, [Out] Int32* viewport)
-        {
-            Delegates.gluPickMatrix((double)x, (double)y, (double)delX, (double)delY, (Int32*)viewport);
-        }
-
-        public static 
-        Int32 Project(double objX, double objY, double objZ, double[] model, double[] proj, Int32[] view, double[] winX, double[] winY, double[] winZ)
-        {
-            unsafe
-            {
-                fixed (double* model_ptr = model)
-                fixed (double* proj_ptr = proj)
-                fixed (Int32* view_ptr = view)
-                fixed (double* winX_ptr = winX)
-                fixed (double* winY_ptr = winY)
-                fixed (double* winZ_ptr = winZ)
-                {
-                    return Delegates.gluProject((double)objX, (double)objY, (double)objZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)winX_ptr, (double*)winY_ptr, (double*)winZ_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 Project(double objX, double objY, double objZ, ref double model, ref double proj, ref Int32 view, ref double winX, ref double winY, ref double winZ)
-        {
-            unsafe
-            {
-                fixed (double* model_ptr = &model)
-                fixed (double* proj_ptr = &proj)
-                fixed (Int32* view_ptr = &view)
-                fixed (double* winX_ptr = &winX)
-                fixed (double* winY_ptr = &winY)
-                fixed (double* winZ_ptr = &winZ)
-                {
-                    return Delegates.gluProject((double)objX, (double)objY, (double)objZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)winX_ptr, (double*)winY_ptr, (double*)winZ_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe Int32 Project(double objX, double objY, double objZ, double* model, double* proj, Int32* view, double* winX, double* winY, double* winZ)
-        {
-            return Delegates.gluProject((double)objX, (double)objY, (double)objZ, (double*)model, (double*)proj, (Int32*)view, (double*)winX, (double*)winY, (double*)winZ);
-        }
-
-        public static 
-        void PwlCurve(IntPtr nurb, Int32 count, float[] data, Int32 stride, OpenTK.Graphics.NurbsTrim type)
-        {
-            unsafe
-            {
-                fixed (float* data_ptr = data)
-                {
-                    Delegates.gluPwlCurve((IntPtr)nurb, (Int32)count, (float*)data_ptr, (Int32)stride, (OpenTK.Graphics.NurbsTrim)type);
-                }
-            }
-        }
-
-        public static 
-        void PwlCurve(IntPtr nurb, Int32 count, ref float data, Int32 stride, OpenTK.Graphics.NurbsTrim type)
-        {
-            unsafe
-            {
-                fixed (float* data_ptr = &data)
-                {
-                    Delegates.gluPwlCurve((IntPtr)nurb, (Int32)count, (float*)data_ptr, (Int32)stride, (OpenTK.Graphics.NurbsTrim)type);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void PwlCurve(IntPtr nurb, Int32 count, float* data, Int32 stride, OpenTK.Graphics.NurbsTrim type)
-        {
-            Delegates.gluPwlCurve((IntPtr)nurb, (Int32)count, (float*)data, (Int32)stride, (OpenTK.Graphics.NurbsTrim)type);
-        }
-
-        public static 
-        void QuadricCallback(IntPtr quad, OpenTK.Graphics.QuadricCallback which, Delegate CallBackFunc)
-        {
-            Delegates.gluQuadricCallback((IntPtr)quad, (OpenTK.Graphics.QuadricCallback)which, (Delegate)CallBackFunc);
-        }
-
-        public static 
-        void QuadricDrawStyle(IntPtr quad, OpenTK.Graphics.QuadricDrawStyle draw)
-        {
-            Delegates.gluQuadricDrawStyle((IntPtr)quad, (OpenTK.Graphics.QuadricDrawStyle)draw);
-        }
-
-        public static 
-        void QuadricNormal(IntPtr quad, OpenTK.Graphics.QuadricNormal normal)
-        {
-            Delegates.gluQuadricNormals((IntPtr)quad, (OpenTK.Graphics.QuadricNormal)normal);
-        }
-
-        public static 
-        void QuadricOrientation(IntPtr quad, OpenTK.Graphics.QuadricOrientation orientation)
-        {
-            Delegates.gluQuadricOrientation((IntPtr)quad, (OpenTK.Graphics.QuadricOrientation)orientation);
-        }
-
-        public static 
-        void QuadricTexture(IntPtr quad, bool texture)
-        {
-            Delegates.gluQuadricTexture((IntPtr)quad, (bool)texture);
-        }
-
-        public static 
-        Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, IntPtr dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [Out] IntPtr dataOut)
-        {
-            unsafe
-            {
-                return Delegates.gluScaleImage((PixelFormat)format, (Int32)wIn, (Int32)hIn, (PixelType)typeIn, (IntPtr)dataIn, (Int32)wOut, (Int32)hOut, (PixelType)typeOut, (IntPtr)dataOut);
-            }
-        }
-
-        public static 
-        Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, [In, Out] object dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [In, Out] object dataOut)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle dataIn_ptr = System.Runtime.InteropServices.GCHandle.Alloc(dataIn, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle dataOut_ptr = System.Runtime.InteropServices.GCHandle.Alloc(dataOut, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.gluScaleImage((PixelFormat)format, (Int32)wIn, (Int32)hIn, (PixelType)typeIn, (IntPtr)dataIn_ptr.AddrOfPinnedObject(), (Int32)wOut, (Int32)hOut, (PixelType)typeOut, (IntPtr)dataOut_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    dataIn_ptr.Free();
-                    dataOut_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void Sphere(IntPtr quad, double radius, Int32 slices, Int32 stacks)
-        {
-            Delegates.gluSphere((IntPtr)quad, (double)radius, (Int32)slices, (Int32)stacks);
-        }
-
-        public static 
-        void TessBeginContour(IntPtr tess)
-        {
-            Delegates.gluTessBeginContour((IntPtr)tess);
-        }
-
-        public static 
-        void TessBeginPolygon(IntPtr tess, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.gluTessBeginPolygon((IntPtr)tess, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void TessBeginPolygon(IntPtr tess, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.gluTessBeginPolygon((IntPtr)tess, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void TessCallback(IntPtr tess, OpenTK.Graphics.TessCallback which, Delegate CallBackFunc)
-        {
-            Delegates.gluTessCallback((IntPtr)tess, (OpenTK.Graphics.TessCallback)which, (Delegate)CallBackFunc);
-        }
-
-        public static 
-        void TessEndContour(IntPtr tess)
-        {
-            Delegates.gluTessEndContour((IntPtr)tess);
-        }
-
-        public static 
-        void TessEndPolygon(IntPtr tess)
-        {
-            Delegates.gluTessEndPolygon((IntPtr)tess);
-        }
-
-        public static 
-        void TessNormal(IntPtr tess, double valueX, double valueY, double valueZ)
-        {
-            Delegates.gluTessNormal((IntPtr)tess, (double)valueX, (double)valueY, (double)valueZ);
-        }
-
-        public static 
-        void TessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, double data)
-        {
-            Delegates.gluTessProperty((IntPtr)tess, (OpenTK.Graphics.TessParameter)which, (double)data);
-        }
-
-        public static 
-        void TessVertex(IntPtr tess, double[] location, IntPtr data)
-        {
-            unsafe
-            {
-                fixed (double* location_ptr = location)
-                {
-                    Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data);
-                }
-            }
-        }
-
-        public static 
-        void TessVertex(IntPtr tess, double[] location, [In, Out] object data)
-        {
-            unsafe
-            {
-                fixed (double* location_ptr = location)
-                {
-                    System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data_ptr.AddrOfPinnedObject());
-                    }
-                    finally
-                    {
-                        data_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void TessVertex(IntPtr tess, ref double location, IntPtr data)
-        {
-            unsafe
-            {
-                fixed (double* location_ptr = &location)
-                {
-                    Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data);
-                }
-            }
-        }
-
-        public static 
-        void TessVertex(IntPtr tess, ref double location, [In, Out] object data)
-        {
-            unsafe
-            {
-                fixed (double* location_ptr = &location)
-                {
-                    System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.gluTessVertex((IntPtr)tess, (double*)location_ptr, (IntPtr)data_ptr.AddrOfPinnedObject());
-                    }
-                    finally
-                    {
-                        data_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void TessVertex(IntPtr tess, double* location, IntPtr data)
-        {
-            Delegates.gluTessVertex((IntPtr)tess, (double*)location, (IntPtr)data);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe void TessVertex(IntPtr tess, double* location, [In, Out] object data)
-        {
-            System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-            try
-            {
-                Delegates.gluTessVertex((IntPtr)tess, (double*)location, (IntPtr)data_ptr.AddrOfPinnedObject());
-            }
-            finally
-            {
-                data_ptr.Free();
-            }
-        }
-
-        public static 
-        Int32 UnProject(double winX, double winY, double winZ, double[] model, double[] proj, Int32[] view, double[] objX, double[] objY, double[] objZ)
-        {
-            unsafe
-            {
-                fixed (double* model_ptr = model)
-                fixed (double* proj_ptr = proj)
-                fixed (Int32* view_ptr = view)
-                fixed (double* objX_ptr = objX)
-                fixed (double* objY_ptr = objY)
-                fixed (double* objZ_ptr = objZ)
-                {
-                    return Delegates.gluUnProject((double)winX, (double)winY, (double)winZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 UnProject(double winX, double winY, double winZ, ref double model, ref double proj, ref Int32 view, ref double objX, ref double objY, ref double objZ)
-        {
-            unsafe
-            {
-                fixed (double* model_ptr = &model)
-                fixed (double* proj_ptr = &proj)
-                fixed (Int32* view_ptr = &view)
-                fixed (double* objX_ptr = &objX)
-                fixed (double* objY_ptr = &objY)
-                fixed (double* objZ_ptr = &objZ)
-                {
-                    return Delegates.gluUnProject((double)winX, (double)winY, (double)winZ, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe Int32 UnProject(double winX, double winY, double winZ, double* model, double* proj, Int32* view, double* objX, double* objY, double* objZ)
-        {
-            return Delegates.gluUnProject((double)winX, (double)winY, (double)winZ, (double*)model, (double*)proj, (Int32*)view, (double*)objX, (double*)objY, (double*)objZ);
-        }
-
-        public static 
-        Int32 UnProject4(double winX, double winY, double winZ, double clipW, double[] model, double[] proj, Int32[] view, double near, double far, double[] objX, double[] objY, double[] objZ, double[] objW)
-        {
-            unsafe
-            {
-                fixed (double* model_ptr = model)
-                fixed (double* proj_ptr = proj)
-                fixed (Int32* view_ptr = view)
-                fixed (double* objX_ptr = objX)
-                fixed (double* objY_ptr = objY)
-                fixed (double* objZ_ptr = objZ)
-                fixed (double* objW_ptr = objW)
-                {
-                    return Delegates.gluUnProject4((double)winX, (double)winY, (double)winZ, (double)clipW, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double)near, (double)far, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr, (double*)objW_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 UnProject4(double winX, double winY, double winZ, double clipW, ref double model, ref double proj, ref Int32 view, double near, double far, ref double objX, ref double objY, ref double objZ, ref double objW)
-        {
-            unsafe
-            {
-                fixed (double* model_ptr = &model)
-                fixed (double* proj_ptr = &proj)
-                fixed (Int32* view_ptr = &view)
-                fixed (double* objX_ptr = &objX)
-                fixed (double* objY_ptr = &objY)
-                fixed (double* objZ_ptr = &objZ)
-                fixed (double* objW_ptr = &objW)
-                {
-                    return Delegates.gluUnProject4((double)winX, (double)winY, (double)winZ, (double)clipW, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double)near, (double)far, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr, (double*)objW_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        unsafe Int32 UnProject4(double winX, double winY, double winZ, double clipW, double* model, double* proj, Int32* view, double near, double far, double* objX, double* objY, double* objZ, double* objW)
-        {
-            return Delegates.gluUnProject4((double)winX, (double)winY, (double)winZ, (double)clipW, (double*)model, (double*)proj, (Int32*)view, (double)near, (double)far, (double*)objX, (double*)objY, (double*)objZ, (double*)objW);
-        }
-
-        public static partial class Ext
-        {
-            public static 
-            void NurbsCallbackData(IntPtr nurb, IntPtr userData)
-            {
-                unsafe
-                {
-                    Delegates.gluNurbsCallbackDataEXT((IntPtr)nurb, (IntPtr)userData);
-                }
-            }
-
-            public static 
-            void NurbsCallbackData(IntPtr nurb, [In, Out] object userData)
-            {
-                unsafe
-                {
-                    System.Runtime.InteropServices.GCHandle userData_ptr = System.Runtime.InteropServices.GCHandle.Alloc(userData, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.gluNurbsCallbackDataEXT((IntPtr)nurb, (IntPtr)userData_ptr.AddrOfPinnedObject());
-                    }
-                    finally
-                    {
-                        userData_ptr.Free();
-                    }
-                }
-            }
-
-        }
-
-        public static partial class Sgi
-        {
-            public static 
-            Int32 TexFilterFunc(TextureTarget target, SgisTextureFilter4 filtertype, float[] parms, Int32 n, [Out] float[] weights)
-            {
-                unsafe
-                {
-                    fixed (float* parms_ptr = parms)
-                    fixed (float* weights_ptr = weights)
-                    {
-                        return Delegates.gluTexFilterFuncSGI((TextureTarget)target, (SgisTextureFilter4)filtertype, (float*)parms_ptr, (Int32)n, (float*)weights_ptr);
-                    }
-                }
-            }
-
-            public static 
-            Int32 TexFilterFunc(TextureTarget target, SgisTextureFilter4 filtertype, ref float parms, Int32 n, [Out] out float weights)
-            {
-                unsafe
-                {
-                    fixed (float* parms_ptr = &parms)
-                    fixed (float* weights_ptr = &weights)
-                    {
-                        Int32 retval = Delegates.gluTexFilterFuncSGI((TextureTarget)target, (SgisTextureFilter4)filtertype, (float*)parms_ptr, (Int32)n, (float*)weights_ptr);
-                        weights = *weights_ptr;
-                        return retval;
-                    }
-                }
-            }
-
-            [System.CLSCompliant(false)]
-            public static 
-            unsafe Int32 TexFilterFunc(TextureTarget target, SgisTextureFilter4 filtertype, float* parms, Int32 n, [Out] float* weights)
-            {
-                return Delegates.gluTexFilterFuncSGI((TextureTarget)target, (SgisTextureFilter4)filtertype, (float*)parms, (Int32)n, (float*)weights);
-            }
-
-        }
-
-    }
-}
diff --git a/Source/Compatibility/Graphics/Glu/GluCore.cs b/Source/Compatibility/Graphics/Glu/GluCore.cs
deleted file mode 100644 (file)
index ed86799..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-namespace OpenTK.Graphics
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 3019
-    #pragma warning disable 1591
-
-    partial class Glu
-    {
-        [Obsolete]        
-        internal static partial class Imports
-        {
-
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginCurve", ExactSpelling = true)]
-            internal extern static void BeginCurve(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginPolygon", ExactSpelling = true)]
-            internal extern static void BeginPolygon(IntPtr tess);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginSurface", ExactSpelling = true)]
-            internal extern static void BeginSurface(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBeginTrim", ExactSpelling = true)]
-            internal extern static void BeginTrim(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild1DMipmapLevels", ExactSpelling = true)]
-            internal extern static Int32 Build1DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild1DMipmaps", ExactSpelling = true)]
-            internal extern static Int32 Build1DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild2DMipmapLevels", ExactSpelling = true)]
-            internal extern static Int32 Build2DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild2DMipmaps", ExactSpelling = true)]
-            internal extern static Int32 Build2DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild3DMipmapLevels", ExactSpelling = true)]
-            internal extern static Int32 Build3DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluBuild3DMipmaps", ExactSpelling = true)]
-            internal extern static Int32 Build3DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluCheckExtension", ExactSpelling = true)]
-            internal extern static unsafe bool CheckExtension(Byte* extName, Byte* extString);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluCylinder", ExactSpelling = true)]
-            internal extern static void Cylinder(IntPtr quad, double @base, double top, double height, Int32 slices, Int32 stacks);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDeleteNurbsRenderer", ExactSpelling = true)]
-            internal extern static void DeleteNurbsRenderer(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDeleteQuadric", ExactSpelling = true)]
-            internal extern static void DeleteQuadric(IntPtr quad);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDeleteTess", ExactSpelling = true)]
-            internal extern static void DeleteTess(IntPtr tess);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluDisk", ExactSpelling = true)]
-            internal extern static void Disk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndCurve", ExactSpelling = true)]
-            internal extern static void EndCurve(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndPolygon", ExactSpelling = true)]
-            internal extern static void EndPolygon(IntPtr tess);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndSurface", ExactSpelling = true)]
-            internal extern static void EndSurface(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluEndTrim", ExactSpelling = true)]
-            internal extern static void EndTrim(IntPtr nurb);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluErrorString", ExactSpelling = true)]
-            internal extern static IntPtr ErrorString(OpenTK.Graphics.GluErrorCode error);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluGetString", ExactSpelling = true)]
-            internal extern static IntPtr GetString(OpenTK.Graphics.GluStringName name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluGetNurbsProperty", ExactSpelling = true)]
-            internal extern static unsafe void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluGetTessProperty", ExactSpelling = true)]
-            internal extern static unsafe void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double* data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluLoadSamplingMatrices", ExactSpelling = true)]
-            internal extern static unsafe void LoadSamplingMatrices(IntPtr nurb, float* model, float* perspective, Int32* view);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluLookAt", ExactSpelling = true)]
-            internal extern static void LookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNewNurbsRenderer", ExactSpelling = true)]
-            internal extern static IntPtr NewNurbsRenderer();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNewQuadric", ExactSpelling = true)]
-            internal extern static IntPtr NewQuadric();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNewTess", ExactSpelling = true)]
-            internal extern static IntPtr NewTess();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNextContour", ExactSpelling = true)]
-            internal extern static void NextContour(IntPtr tess, OpenTK.Graphics.TessContour type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsCallback", ExactSpelling = true)]
-            internal extern static void NurbsCallback(IntPtr nurb, OpenTK.Graphics.NurbsCallback which, Delegate CallBackFunc);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsCallbackData", ExactSpelling = true)]
-            internal extern static void NurbsCallbackData(IntPtr nurb, IntPtr userData);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsCurve", ExactSpelling = true)]
-            internal extern static unsafe void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float* knots, Int32 stride, [Out] float* control, Int32 order, MapTarget type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsProperty", ExactSpelling = true)]
-            internal extern static void NurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, float value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluNurbsSurface", ExactSpelling = true)]
-            internal extern static unsafe void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float* sKnots, Int32 tKnotCount, float* tKnots, Int32 sStride, Int32 tStride, float* control, Int32 sOrder, Int32 tOrder, MapTarget type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluOrtho2D", ExactSpelling = true)]
-            internal extern static void Ortho2D(double left, double right, double bottom, double top);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPartialDisk", ExactSpelling = true)]
-            internal extern static void PartialDisk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops, double start, double sweep);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPerspective", ExactSpelling = true)]
-            internal extern static void Perspective(double fovy, double aspect, double zNear, double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPickMatrix", ExactSpelling = true)]
-            internal extern static unsafe void PickMatrix(double x, double y, double delX, double delY, [Out] Int32* viewport);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluProject", ExactSpelling = true)]
-            internal extern static unsafe Int32 Project(double objX, double objY, double objZ, double* model, double* proj, Int32* view, double* winX, double* winY, double* winZ);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluPwlCurve", ExactSpelling = true)]
-            internal extern static unsafe void PwlCurve(IntPtr nurb, Int32 count, float* data, Int32 stride, OpenTK.Graphics.NurbsTrim type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricCallback", ExactSpelling = true)]
-            internal extern static void QuadricCallback(IntPtr quad, OpenTK.Graphics.QuadricCallback which, Delegate CallBackFunc);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricDrawStyle", ExactSpelling = true)]
-            internal extern static void QuadricDrawStyle(IntPtr quad, OpenTK.Graphics.QuadricDrawStyle draw);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricNormals", ExactSpelling = true)]
-            internal extern static void QuadricNormals(IntPtr quad, OpenTK.Graphics.QuadricNormal normal);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricOrientation", ExactSpelling = true)]
-            internal extern static void QuadricOrientation(IntPtr quad, OpenTK.Graphics.QuadricOrientation orientation);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluQuadricTexture", ExactSpelling = true)]
-            internal extern static void QuadricTexture(IntPtr quad, bool texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluScaleImage", ExactSpelling = true)]
-            internal extern static Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, IntPtr dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [Out] IntPtr dataOut);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluSphere", ExactSpelling = true)]
-            internal extern static void Sphere(IntPtr quad, double radius, Int32 slices, Int32 stacks);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessBeginContour", ExactSpelling = true)]
-            internal extern static void TessBeginContour(IntPtr tess);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessBeginPolygon", ExactSpelling = true)]
-            internal extern static void TessBeginPolygon(IntPtr tess, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessCallback", ExactSpelling = true)]
-            internal extern static void TessCallback(IntPtr tess, OpenTK.Graphics.TessCallback which, Delegate CallBackFunc);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessEndContour", ExactSpelling = true)]
-            internal extern static void TessEndContour(IntPtr tess);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessEndPolygon", ExactSpelling = true)]
-            internal extern static void TessEndPolygon(IntPtr tess);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessNormal", ExactSpelling = true)]
-            internal extern static void TessNormal(IntPtr tess, double valueX, double valueY, double valueZ);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessProperty", ExactSpelling = true)]
-            internal extern static void TessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, double data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluTessVertex", ExactSpelling = true)]
-            internal extern static unsafe void TessVertex(IntPtr tess, double* location, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluUnProject", ExactSpelling = true)]
-            internal extern static unsafe Int32 UnProject(double winX, double winY, double winZ, double* model, double* proj, Int32* view, double* objX, double* objY, double* objZ);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Glu.Library, EntryPoint = "gluUnProject4", ExactSpelling = true)]
-            internal extern static unsafe Int32 UnProject4(double winX, double winY, double winZ, double clipW, double* model, double* proj, Int32* view, double near, double far, double* objX, double* objY, double* objZ, double* objW);
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/Glu/GluDelegates.cs b/Source/Compatibility/Graphics/Glu/GluDelegates.cs
deleted file mode 100644 (file)
index 0ebbe3b..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-namespace OpenTK.Graphics
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 0649
-    #pragma warning disable 3019
-    #pragma warning disable 1591
-
-    partial class Glu
-    {
-        internal static partial class Delegates
-        {
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginCurve(IntPtr nurb);
-            internal static BeginCurve gluBeginCurve;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginPolygon(IntPtr tess);
-            internal static BeginPolygon gluBeginPolygon;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginSurface(IntPtr nurb);
-            internal static BeginSurface gluBeginSurface;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginTrim(IntPtr nurb);
-            internal static BeginTrim gluBeginTrim;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 Build1DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data);
-            internal static Build1DMipmapLevels gluBuild1DMipmapLevels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 Build1DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, PixelFormat format, PixelType type, IntPtr data);
-            internal static Build1DMipmaps gluBuild1DMipmaps;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 Build2DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data);
-            internal static Build2DMipmapLevels gluBuild2DMipmapLevels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 Build2DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, PixelFormat format, PixelType type, IntPtr data);
-            internal static Build2DMipmaps gluBuild2DMipmaps;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 Build3DMipmapLevels(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, Int32 level, Int32 @base, Int32 max, IntPtr data);
-            internal static Build3DMipmapLevels gluBuild3DMipmapLevels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 Build3DMipmaps(TextureTarget target, Int32 internalFormat, Int32 width, Int32 height, Int32 depth, PixelFormat format, PixelType type, IntPtr data);
-            internal static Build3DMipmaps gluBuild3DMipmaps;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate bool CheckExtension(Byte* extName, Byte* extString);
-            internal unsafe static CheckExtension gluCheckExtension;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Cylinder(IntPtr quad, double @base, double top, double height, Int32 slices, Int32 stacks);
-            internal static Cylinder gluCylinder;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteNurbsRenderer(IntPtr nurb);
-            internal static DeleteNurbsRenderer gluDeleteNurbsRenderer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteQuadric(IntPtr quad);
-            internal static DeleteQuadric gluDeleteQuadric;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteTess(IntPtr tess);
-            internal static DeleteTess gluDeleteTess;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Disk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops);
-            internal static Disk gluDisk;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndCurve(IntPtr nurb);
-            internal static EndCurve gluEndCurve;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndPolygon(IntPtr tess);
-            internal static EndPolygon gluEndPolygon;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndSurface(IntPtr nurb);
-            internal static EndSurface gluEndSurface;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndTrim(IntPtr nurb);
-            internal static EndTrim gluEndTrim;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr ErrorString(OpenTK.Graphics.GluErrorCode error);
-            internal static ErrorString gluErrorString;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr GetString(OpenTK.Graphics.GluStringName name);
-            internal static GetString gluGetString;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetNurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, [Out] float* data);
-            internal unsafe static GetNurbsProperty gluGetNurbsProperty;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, [Out] double* data);
-            internal unsafe static GetTessProperty gluGetTessProperty;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadSamplingMatrices(IntPtr nurb, float* model, float* perspective, Int32* view);
-            internal unsafe static LoadSamplingMatrices gluLoadSamplingMatrices;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ);
-            internal static LookAt gluLookAt;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr NewNurbsRenderer();
-            internal static NewNurbsRenderer gluNewNurbsRenderer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr NewQuadric();
-            internal static NewQuadric gluNewQuadric;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr NewTess();
-            internal static NewTess gluNewTess;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NextContour(IntPtr tess, OpenTK.Graphics.TessContour type);
-            internal static NextContour gluNextContour;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NurbsCallback(IntPtr nurb, OpenTK.Graphics.NurbsCallback which, Delegate CallBackFunc);
-            internal static NurbsCallback gluNurbsCallback;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NurbsCallbackData(IntPtr nurb, IntPtr userData);
-            internal static NurbsCallbackData gluNurbsCallbackData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NurbsCallbackDataEXT(IntPtr nurb, IntPtr userData);
-            internal static NurbsCallbackDataEXT gluNurbsCallbackDataEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NurbsCurve(IntPtr nurb, Int32 knotCount, [Out] float* knots, Int32 stride, [Out] float* control, Int32 order, MapTarget type);
-            internal unsafe static NurbsCurve gluNurbsCurve;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NurbsProperty(IntPtr nurb, OpenTK.Graphics.NurbsProperty property, float value);
-            internal static NurbsProperty gluNurbsProperty;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NurbsSurface(IntPtr nurb, Int32 sKnotCount, float* sKnots, Int32 tKnotCount, float* tKnots, Int32 sStride, Int32 tStride, float* control, Int32 sOrder, Int32 tOrder, MapTarget type);
-            internal unsafe static NurbsSurface gluNurbsSurface;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Ortho2D(double left, double right, double bottom, double top);
-            internal static Ortho2D gluOrtho2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PartialDisk(IntPtr quad, double inner, double outer, Int32 slices, Int32 loops, double start, double sweep);
-            internal static PartialDisk gluPartialDisk;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Perspective(double fovy, double aspect, double zNear, double zFar);
-            internal static Perspective gluPerspective;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PickMatrix(double x, double y, double delX, double delY, [Out] Int32* viewport);
-            internal unsafe static PickMatrix gluPickMatrix;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 Project(double objX, double objY, double objZ, double* model, double* proj, Int32* view, double* winX, double* winY, double* winZ);
-            internal unsafe static Project gluProject;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PwlCurve(IntPtr nurb, Int32 count, float* data, Int32 stride, OpenTK.Graphics.NurbsTrim type);
-            internal unsafe static PwlCurve gluPwlCurve;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void QuadricCallback(IntPtr quad, OpenTK.Graphics.QuadricCallback which, Delegate CallBackFunc);
-            internal static QuadricCallback gluQuadricCallback;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void QuadricDrawStyle(IntPtr quad, OpenTK.Graphics.QuadricDrawStyle draw);
-            internal static QuadricDrawStyle gluQuadricDrawStyle;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void QuadricNormals(IntPtr quad, OpenTK.Graphics.QuadricNormal normal);
-            internal static QuadricNormals gluQuadricNormals;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void QuadricOrientation(IntPtr quad, OpenTK.Graphics.QuadricOrientation orientation);
-            internal static QuadricOrientation gluQuadricOrientation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void QuadricTexture(IntPtr quad, bool texture);
-            internal static QuadricTexture gluQuadricTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 ScaleImage(PixelFormat format, Int32 wIn, Int32 hIn, PixelType typeIn, IntPtr dataIn, Int32 wOut, Int32 hOut, PixelType typeOut, [Out] IntPtr dataOut);
-            internal static ScaleImage gluScaleImage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Sphere(IntPtr quad, double radius, Int32 slices, Int32 stacks);
-            internal static Sphere gluSphere;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessBeginContour(IntPtr tess);
-            internal static TessBeginContour gluTessBeginContour;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessBeginPolygon(IntPtr tess, IntPtr data);
-            internal static TessBeginPolygon gluTessBeginPolygon;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessCallback(IntPtr tess, OpenTK.Graphics.TessCallback which, Delegate CallBackFunc);
-            internal static TessCallback gluTessCallback;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessEndContour(IntPtr tess);
-            internal static TessEndContour gluTessEndContour;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessEndPolygon(IntPtr tess);
-            internal static TessEndPolygon gluTessEndPolygon;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessNormal(IntPtr tess, double valueX, double valueY, double valueZ);
-            internal static TessNormal gluTessNormal;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TessProperty(IntPtr tess, OpenTK.Graphics.TessParameter which, double data);
-            internal static TessProperty gluTessProperty;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TessVertex(IntPtr tess, double* location, IntPtr data);
-            internal unsafe static TessVertex gluTessVertex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 TexFilterFuncSGI(TextureTarget target, SgisTextureFilter4 filtertype, float* parms, Int32 n, [Out] float* weights);
-            internal unsafe static TexFilterFuncSGI gluTexFilterFuncSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 UnProject(double winX, double winY, double winZ, double* model, double* proj, Int32* view, double* objX, double* objY, double* objZ);
-            internal unsafe static UnProject gluUnProject;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 UnProject4(double winX, double winY, double winZ, double clipW, double* model, double* proj, Int32* view, double near, double far, double* objX, double* objY, double* objZ, double* objW);
-            internal unsafe static UnProject4 gluUnProject4;
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/Glu/GluEnums.cs b/Source/Compatibility/Graphics/Glu/GluEnums.cs
deleted file mode 100644 (file)
index 8c7996b..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-namespace OpenTK.Graphics
-{
-    #pragma warning disable 1591
-
-    public enum GluVersion
-    {
-        Version11 = ((int)1),
-        Version13 = ((int)1),
-        Version12 = ((int)1),
-    }
-
-    public enum GluStringName
-    {
-        Version = ((int)100800),
-        Extensions = ((int)100801),
-    }
-
-    public enum GluErrorCode
-    {
-        OutOfMemory = ((int)100902),
-        InvalidEnum = ((int)100900),
-        InvalidValue = ((int)100901),
-        InvalidOperation = ((int)100904),
-    }
-
-    public enum Filter4TypeSGIS
-    {
-        MitchellNetravaliSgi = ((int)100301),
-        LagrangianSgi = ((int)100300),
-    }
-
-    public enum NurbsDisplay
-    {
-        OutlinePolygon = ((int)100240),
-        OutlinePatch = ((int)100241),
-        Fill = ((int)QuadricDrawStyle.Fill),
-    }
-
-    public enum NurbsCallback
-    {
-        NurbsColorData = ((int)100173),
-        NurbsVertexData = ((int)100171),
-        NurbsNormal = ((int)100166),
-        NurbsError = ((int)100103),
-        NurbsTextureCoordExt = ((int)100168),
-        Error = ((int)100103),
-        NurbsEndDataExt = ((int)100175),
-        NurbsEnd = ((int)100169),
-        NurbsTextureCoord = ((int)100168),
-        NurbsEndExt = ((int)100169),
-        NurbsNormalDataExt = ((int)100172),
-        NurbsColor = ((int)100167),
-        NurbsColorExt = ((int)100167),
-        NurbsVertexExt = ((int)100165),
-        NurbsBeginExt = ((int)100164),
-        NurbsTextureCoordData = ((int)100174),
-        NurbsBeginData = ((int)100170),
-        NurbsColorDataExt = ((int)100173),
-        NurbsBeginDataExt = ((int)100170),
-        NurbsVertex = ((int)100165),
-        NurbsTextureCoordDataExt = ((int)100174),
-        NurbsNormalExt = ((int)100166),
-        NurbsVertexDataExt = ((int)100171),
-        NurbsBegin = ((int)100164),
-        NurbsEndData = ((int)100175),
-        NurbsNormalData = ((int)100172),
-    }
-
-    public enum NurbsError
-    {
-        NurbsError37 = ((int)100287),
-        NurbsError16 = ((int)100266),
-        NurbsError26 = ((int)100276),
-        NurbsError36 = ((int)100286),
-        NurbsError19 = ((int)100269),
-        NurbsError29 = ((int)100279),
-        NurbsError8 = ((int)100258),
-        NurbsError12 = ((int)100262),
-        NurbsError9 = ((int)100259),
-        NurbsError1 = ((int)100251),
-        NurbsError18 = ((int)100268),
-        NurbsError28 = ((int)100278),
-        NurbsError4 = ((int)100254),
-        NurbsError5 = ((int)100255),
-        NurbsError6 = ((int)100256),
-        NurbsError7 = ((int)100257),
-        NurbsError3 = ((int)100253),
-        NurbsError22 = ((int)100272),
-        NurbsError32 = ((int)100282),
-        NurbsError2 = ((int)100252),
-        NurbsError11 = ((int)100261),
-        NurbsError21 = ((int)100271),
-        NurbsError31 = ((int)100281),
-        NurbsError10 = ((int)100260),
-        NurbsError20 = ((int)100270),
-        NurbsError30 = ((int)100280),
-        NurbsError15 = ((int)100265),
-        NurbsError25 = ((int)100275),
-        NurbsError35 = ((int)100285),
-        NurbsError14 = ((int)100264),
-        NurbsError24 = ((int)100274),
-        NurbsError34 = ((int)100284),
-        NurbsError13 = ((int)100263),
-        NurbsError23 = ((int)100273),
-        NurbsError33 = ((int)100283),
-        NurbsError17 = ((int)100267),
-        NurbsError27 = ((int)100277),
-    }
-
-    public enum NurbsProperty
-    {
-        DisplayMode = ((int)100204),
-        ParametricTolerance = ((int)100202),
-        NurbsRenderer = ((int)100162),
-        NurbsTessellator = ((int)100161),
-        NurbsTessellatorExt = ((int)100161),
-        NurbsModeExt = ((int)100160),
-        UStep = ((int)100206),
-        SamplingMethod = ((int)100205),
-        AutoLoadMatrix = ((int)100200),
-        VStep = ((int)100207),
-        Culling = ((int)100201),
-        NurbsRendererExt = ((int)100162),
-        NurbsMode = ((int)100160),
-        SamplingTolerance = ((int)100203),
-    }
-
-    public enum NurbsSampling
-    {
-        ObjectParametricError = ((int)100208),
-        ObjectPathLength = ((int)100209),
-        PathLength = ((int)100215),
-        DomainDistance = ((int)100217),
-        ObjectPathLengthExt = ((int)100209),
-        ObjectParametricErrorExt = ((int)100208),
-        ParametricError = ((int)100216),
-    }
-
-    public enum NurbsTrim
-    {
-        Map1Trim3 = ((int)100211),
-        Map1Trim2 = ((int)100210),
-    }
-
-    public enum QuadricDrawStyle
-    {
-        Line = ((int)100011),
-        Silhouette = ((int)100013),
-        Point = ((int)100010),
-        Fill = ((int)100012),
-    }
-
-    public enum QuadricCallback
-    {
-        Error = ((int)NurbsCallback.Error),
-    }
-
-    public enum QuadricNormal
-    {
-        None = ((int)100002),
-        Flat = ((int)100001),
-        Smooth = ((int)100000),
-    }
-
-    public enum QuadricOrientation
-    {
-        Outside = ((int)100020),
-        Inside = ((int)100021),
-    }
-
-    public enum TessCallback
-    {
-        TessEdgeFlagData = ((int)100110),
-        Begin = ((int)100100),
-        TessError = ((int)100103),
-        EdgeFlag = ((int)100104),
-        End = ((int)100102),
-        TessCombine = ((int)100105),
-        Error = ((int)100103),
-        TessEndData = ((int)100108),
-        TessBeginData = ((int)100106),
-        TessErrorData = ((int)100109),
-        Vertex = ((int)100101),
-        TessVertexData = ((int)100107),
-        TessVertex = ((int)100101),
-        TessEdgeFlag = ((int)100104),
-        TessEnd = ((int)100102),
-        TessBegin = ((int)100100),
-        TessCombineData = ((int)100111),
-    }
-
-    public enum TessContour
-    {
-        Exterior = ((int)100123),
-        Ccw = ((int)100121),
-        Interior = ((int)100122),
-        Unknown = ((int)100124),
-        Cw = ((int)100120),
-    }
-
-    public enum TessParameter
-    {
-        TessWindingRule = ((int)100140),
-        TessBoundaryOnly = ((int)100141),
-        TessTolerance = ((int)100142),
-    }
-
-    public enum TessError
-    {
-        TessMissingBeginPolygon = ((int)100151),
-        TessMissingEndPolygon = ((int)100153),
-        TessError1 = ((int)100151),
-        TessMissingBeginContour = ((int)100152),
-        TessCoordTooLarge = ((int)100155),
-        TessError7 = ((int)100157),
-        TessError2 = ((int)100152),
-        TessError4 = ((int)100154),
-        TessNeedCombineCallback = ((int)100156),
-        TessError3 = ((int)100153),
-        TessError6 = ((int)100156),
-        TessError5 = ((int)100155),
-        TessError8 = ((int)100158),
-        TessMissingEndContour = ((int)100154),
-    }
-
-    public enum TessWinding
-    {
-        TessWindingNonzero = ((int)100131),
-        TessWindingOdd = ((int)100130),
-        TessWindingPositive = ((int)100132),
-        TessWindingAbsGeqTwo = ((int)100134),
-        TessWindingNegative = ((int)100133),
-    }
-
-    public enum AllGlu
-    {
-        None = ((int)100002),
-        TessWindingRule = ((int)100140),
-        TessWindingPositive = ((int)100132),
-        ObjectPathLength = ((int)100209),
-        NurbsTextureCoordExt = ((int)100168),
-        Vertex = ((int)100101),
-        TessCombine = ((int)100105),
-        AutoLoadMatrix = ((int)100200),
-        TessBoundaryOnly = ((int)100141),
-        NurbsEndExt = ((int)100169),
-        NurbsError17 = ((int)100267),
-        NurbsError27 = ((int)100277),
-        NurbsError37 = ((int)100287),
-        Interior = ((int)100122),
-        TessWindingOdd = ((int)100130),
-        InvalidValue = ((int)100901),
-        ParametricError = ((int)100216),
-        TessError8 = ((int)100158),
-        NurbsError14 = ((int)100264),
-        NurbsError24 = ((int)100274),
-        NurbsError34 = ((int)100284),
-        NurbsTextureCoordDataExt = ((int)100174),
-        TessMissingBeginContour = ((int)100152),
-        Silhouette = ((int)100013),
-        TessError7 = ((int)100157),
-        NurbsNormalDataExt = ((int)100172),
-        NurbsError21 = ((int)100271),
-        NurbsError31 = ((int)100281),
-        PathLength = ((int)100215),
-        OutlinePolygon = ((int)100240),
-        TessVertex = ((int)100101),
-        TessWindingAbsGeqTwo = ((int)100134),
-        Extensions = ((int)100801),
-        TessEdgeFlagData = ((int)100110),
-        EdgeFlag = ((int)100104),
-        TessError1 = ((int)100151),
-        Line = ((int)100011),
-        NurbsBeginExt = ((int)100164),
-        Point = ((int)100010),
-        Begin = ((int)100100),
-        Inside = ((int)100021),
-        Flat = ((int)100001),
-        TessBegin = ((int)100100),
-        NurbsNormal = ((int)100166),
-        NurbsColorData = ((int)100173),
-        NurbsBeginDataExt = ((int)100170),
-        NurbsRenderer = ((int)100162),
-        NurbsBeginData = ((int)100170),
-        Outside = ((int)100020),
-        DisplayMode = ((int)100204),
-        NurbsError15 = ((int)100265),
-        NurbsError25 = ((int)100275),
-        NurbsError35 = ((int)100285),
-        NurbsVertexExt = ((int)100165),
-        TessError5 = ((int)100155),
-        Unknown = ((int)100124),
-        NurbsEndDataExt = ((int)100175),
-        NurbsError12 = ((int)100262),
-        NurbsError22 = ((int)100272),
-        NurbsError32 = ((int)100282),
-        ObjectParametricErrorExt = ((int)100208),
-        NurbsRendererExt = ((int)100162),
-        TessError3 = ((int)100153),
-        Fill = ((int)100012),
-        TessError = ((int)100103),
-        ObjectPathLengthExt = ((int)100209),
-        TessWindingNegative = ((int)100133),
-        NurbsTessellator = ((int)100161),
-        NurbsColor = ((int)100167),
-        NurbsModeExt = ((int)100160),
-        SamplingTolerance = ((int)100203),
-        NurbsColorDataExt = ((int)100173),
-        Exterior = ((int)100123),
-        Ccw = ((int)100121),
-        Cw = ((int)100120),
-        NurbsNormalExt = ((int)100166),
-        NurbsError18 = ((int)100268),
-        NurbsError28 = ((int)100278),
-        LagrangianSgi = ((int)100300),
-        TessEnd = ((int)100102),
-        NurbsTessellatorExt = ((int)100161),
-        NurbsEnd = ((int)100169),
-        TessWindingNonzero = ((int)100131),
-        OutOfMemory = ((int)100902),
-        TessBeginData = ((int)100106),
-        Error = ((int)100103),
-        ObjectParametricError = ((int)100208),
-        NurbsBegin = ((int)100164),
-        TessCombineData = ((int)100111),
-        TessMissingEndPolygon = ((int)100153),
-        NurbsTextureCoord = ((int)100168),
-        Smooth = ((int)100000),
-        TessMissingBeginPolygon = ((int)100151),
-        NurbsEndData = ((int)100175),
-        NurbsVertexData = ((int)100171),
-        TessEndData = ((int)100108),
-        NurbsError11 = ((int)100261),
-        NurbsVertex = ((int)100165),
-        NurbsError30 = ((int)100280),
-        Version11 = ((int)1),
-        TessError6 = ((int)100156),
-        Version13 = ((int)1),
-        Version12 = ((int)1),
-        TessErrorData = ((int)100109),
-        NurbsError36 = ((int)100286),
-        End = ((int)100102),
-        SamplingMethod = ((int)100205),
-        TessNeedCombineCallback = ((int)100156),
-        UStep = ((int)100206),
-        DomainDistance = ((int)100217),
-        TessEdgeFlag = ((int)100104),
-        NurbsColorExt = ((int)100167),
-        NurbsError19 = ((int)100269),
-        NurbsError29 = ((int)100279),
-        InvalidOperation = ((int)100904),
-        TessCoordTooLarge = ((int)100155),
-        TessVertexData = ((int)100107),
-        NurbsMode = ((int)100160),
-        ParametricTolerance = ((int)100202),
-        NurbsError2 = ((int)100252),
-        VStep = ((int)100207),
-        TessMissingEndContour = ((int)100154),
-        Map1Trim2 = ((int)100210),
-        Map1Trim3 = ((int)100211),
-        Culling = ((int)100201),
-        NurbsError16 = ((int)100266),
-        NurbsError26 = ((int)100276),
-        NurbsVertexDataExt = ((int)100171),
-        NurbsNormalData = ((int)100172),
-        TessError2 = ((int)100152),
-        NurbsError13 = ((int)100263),
-        NurbsError23 = ((int)100273),
-        NurbsError33 = ((int)100283),
-        NurbsError8 = ((int)100258),
-        NurbsError9 = ((int)100259),
-        TessError4 = ((int)100154),
-        NurbsError10 = ((int)100260),
-        NurbsError20 = ((int)100270),
-        OutlinePatch = ((int)100241),
-        NurbsError = ((int)100103),
-        NurbsTextureCoordData = ((int)100174),
-        NurbsError1 = ((int)100251),
-        InvalidEnum = ((int)100900),
-        NurbsError3 = ((int)100253),
-        NurbsError4 = ((int)100254),
-        NurbsError5 = ((int)100255),
-        NurbsError6 = ((int)100256),
-        NurbsError7 = ((int)100257),
-        MitchellNetravaliSgi = ((int)100301),
-        Version = ((int)100800),
-        TessTolerance = ((int)100142),
-    }
-
-}
diff --git a/Source/Compatibility/Graphics/Glu/GluHelper.cs b/Source/Compatibility/Graphics/Glu/GluHelper.cs
deleted file mode 100644 (file)
index dc84185..0000000
+++ /dev/null
@@ -1,446 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * Contributions by Andy Gill.
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Reflection.Emit;
-
-using OpenTK.Platform;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Provides access to the OpenGL Utilities library.
-    /// Methods i this library are considered deprecated and should be avoided.
-    /// </summary>
-    [Obsolete("Use OpenTK math functions instead.")]
-    public static partial class Glu
-    {
-        private const string Library = "glu32.dll";
-
-        private static Dictionary<string, bool> AvailableExtensions = new Dictionary<string, bool>();
-        private static bool rebuildExtensionList = true;
-
-         private static Type importsClass = typeof(Imports);
-
-        static Glu()
-        {
-            // Glu doesn't have any extensions, so this is safe to call once and be done with it.
-            LoadAll();
-        }
-
-        #region private static Delegate LoadDelegate(string name, Type signature)
-
-        /// <summary>
-        /// Creates a System.Delegate that can be used to call a GLU function, core or extension.
-        /// </summary>
-        /// <param name="name">The name of the GLU function (eg. "gluBuild2DMipmaps")</param>
-        /// <param name="signature">The signature of the GLU function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this GLU function, or null if the specified
-        /// function name did not correspond to an GLU function.
-        /// </returns>
-        private static Delegate LoadDelegate(string name, Type signature)
-        {
-            MethodInfo m = importsClass.GetMethod(name.Substring(3), BindingFlags.Static | BindingFlags.NonPublic);
-            return
-                GL.GetExtensionDelegate(name, signature) ??
-                (m != null ? Delegate.CreateDelegate(signature, m) : null);
-        }
-
-        #endregion
-
-        #region public static void LoadAll()
-
-        /// <summary>
-        /// Loads all GLU functions (core and extensions).
-        /// </summary>
-        /// <remarks>
-        /// <para>
-        /// Call this function manually whenever you need to update GLU entry points.
-        /// This need will never arise under normal usage patterns.
-        /// </para>
-        /// </remarks>
-        public static void LoadAll()
-        {
-            int supported = 0;
-            Type extensions_class = typeof(Glu).GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
-            if (extensions_class == null)
-                throw new InvalidOperationException("The specified type does not have any loadable extensions.");
-
-            FieldInfo[] delegates = extensions_class.GetFields(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public);
-            if (delegates == null)
-                throw new InvalidOperationException("The specified type does not have any loadable extensions.");
-
-            foreach (FieldInfo f in delegates)
-            {
-                Delegate d = LoadDelegate(f.Name, f.FieldType);
-                if (d != null)
-                    ++supported;
-
-                f.SetValue(null, d);
-            }
-
-            rebuildExtensionList = true;
-        }
-
-        #endregion
-
-        #region public static bool Load(string function)
-
-        /// <summary>
-        /// Tries to reload the given GLU function (core or extension).
-        /// </summary>
-        /// <param name="function">The name of the GLU function.</param>
-        /// <returns>True if the function was found and reloaded, false otherwise.</returns>
-        /// <remarks>
-        /// <para>
-        /// While the automatic initialisation will load all GLU entry points, in some cases
-        /// the initialization can take place before a render context has been established.
-        /// In this case, use this function to load the entry points for the GLU functions
-        /// you will need, or use LoadAll() to load all available entry points.
-        /// </para>
-        /// <para>
-        /// This function returns true if the given GLU function is supported, false otherwise.
-        /// </para>
-        /// <para>
-        /// To query for supported extensions use the IsExtensionSupported() function instead.
-        /// </para>
-        /// </remarks>
-        public static bool Load(string function)
-        {
-            // Glu does not contain any extensions - this method does nothing.
-            return true;
-        }
-
-        #endregion
-
-        #region public static bool SupportsExtension(string name)
-
-        /// <summary>
-        /// Determines whether the specified GLU extension is available in
-        /// the current GLU context.
-        /// </summary>
-        /// <param name="name">The string for the GLU extension.</param>
-        /// <returns>True if the specified extension is available, false otherwise.</returns>
-        public static bool SupportsExtension(string name)
-        {
-            if (rebuildExtensionList)
-            {
-                BuildExtensionList();
-            }
-
-            // Search the cache for the string. Note that the cache substitutes
-            // strings "1.0" to "2.1" with "GL_VERSION_1_0" to "GL_VERSION_2_1"
-            if (AvailableExtensions.ContainsKey(name))
-            {
-                return AvailableExtensions[name];
-            }
-
-            return false;
-        }
-
-        #endregion
-
-        #region private static void BuildExtensionList()
-
-        /// <summary>
-        /// Builds a cache of the supported extensions to speed up searches.
-        /// </summary>
-        private static void BuildExtensionList()
-        {
-            // Assumes there is an opengl context current.
-
-            AvailableExtensions.Clear();
-
-            string version_string = Glu.GetString(GluStringName.Version);
-            if (String.IsNullOrEmpty(version_string))
-            {
-                throw new ApplicationException("Failed to build extension list. Is there an opengl context current?");
-            }
-
-            string version = version_string.Trim(' ');
-            if (version.StartsWith("1.0"))
-            {
-                AvailableExtensions.Add("VERSION_1_0", true);
-            }
-            else if (version.StartsWith("1.1"))
-            {
-                AvailableExtensions.Add("VERSION_1_0", true);
-                AvailableExtensions.Add("VERSION_1_1", true);
-            }
-            else if (version.StartsWith("1.2"))
-            {
-                AvailableExtensions.Add("VERSION_1_0", true);
-                AvailableExtensions.Add("VERSION_1_1", true);
-                AvailableExtensions.Add("VERSION_1_2", true);
-            }
-            else if (version.StartsWith("1.3"))
-            {
-                AvailableExtensions.Add("VERSION_1_0", true);
-                AvailableExtensions.Add("VERSION_1_1", true);
-                AvailableExtensions.Add("VERSION_1_2", true);
-                AvailableExtensions.Add("VERSION_1_3", true);
-            }
-
-            string extension_string = Glu.GetString(GluStringName.Extensions);
-            if (String.IsNullOrEmpty(extension_string))
-            {   // no extensions are available
-                return;
-            }
-
-            string[] extensions = extension_string.Split(' ');
-            foreach (string ext in extensions)
-            {
-                AvailableExtensions.Add(ext, true);
-            }
-
-            rebuildExtensionList = false;
-        }
-
-        #endregion
-
-        #region Overloads
-
-        public static void LookAt(Vector3 eye, Vector3 center, Vector3 up)
-        {
-            Delegates.gluLookAt((double)eye.X, (double)eye.Y, (double)eye.Z, (double)center.X, (double)center.Y, (double)center.Z, (double)up.X, (double)up.Y, (double)up.Z);
-        }
-
-        // One token Project overload, I picked this one because it's CLS compliant, and it
-        // makes reasonably clear which args are inputs and which are outputs.
-        public static Int32 Project(Vector3 obj, double[] model, double[] proj, Int32[] view, out Vector3 win)
-        {
-            unsafe
-            {
-                double winX, winY, winZ;
-                double* winX_ptr = &winX;
-                double* winY_ptr = &winY;
-                double* winZ_ptr = &winZ;
-                fixed (double* model_ptr = model)
-                fixed (double* proj_ptr = proj)
-                fixed (Int32* view_ptr = view)
-                {
-                    Int32 retval = Delegates.gluProject((double)obj.X, (double)obj.Y, (double)obj.Z, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)winX_ptr, (double*)winY_ptr, (double*)winZ_ptr);
-                    win = new Vector3((float)*winX_ptr, (float)*winY_ptr, (float)*winZ_ptr);
-                    return retval;
-                }
-            }
-        }
-
-        public static void TessNormal(IntPtr tess, Vector3 normal)
-        {
-            Delegates.gluTessNormal(tess, (double)normal.X, (double)normal.Y, (double)normal.Z);
-        }
-
-        public static Int32 UnProject(Vector3 win, double[] model, double[] proj, Int32[] view, out Vector3 obj)
-        {
-            unsafe
-            {
-                double objX, objY, objZ;
-                double* objX_ptr = &objX;
-                double* objY_ptr = &objY;
-                double* objZ_ptr = &objZ;
-                fixed (double* model_ptr = model)
-                fixed (double* proj_ptr = proj)
-                fixed (Int32* view_ptr = view)
-                {
-                    Int32 retval = Delegates.gluUnProject((double)win.X, (double)win.Y, (double)win.Z, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr);
-                    obj = new Vector3((float)*objX_ptr, (float)*objY_ptr, (float)*objZ_ptr);
-                    return retval;
-                }
-            }
-        }
-
-        public static Int32 UnProject4(Vector4 win, double[] model, double[] proj, Int32[] view, double near, double far, out Vector4 obj)
-        {
-            unsafe
-            {
-                double objX, objY, objZ, objW;
-                double* objX_ptr = &objX;
-                double* objY_ptr = &objY;
-                double* objZ_ptr = &objZ;
-                double* objW_ptr = &objW;
-                fixed (double* model_ptr = model)
-                fixed (double* proj_ptr = proj)
-                fixed (Int32* view_ptr = view)
-                {
-                    Int32 retval = Delegates.gluUnProject4((double)win.X, (double)win.Y, (double)win.Z, (double)win.W, (double*)model_ptr, (double*)proj_ptr, (Int32*)view_ptr, (double)near, (double)far, (double*)objX_ptr, (double*)objY_ptr, (double*)objZ_ptr, (double*)objW_ptr);
-                    obj = new Vector4((float)*objX_ptr, (float)*objY_ptr, (float)*objZ_ptr, (float)*objW_ptr);
-                    return retval;
-                }
-            }
-        }
-
-        public static string ErrorString(ErrorCode error)
-        {
-            return ErrorString((GluErrorCode)error);
-        }
-
-        public static void TessWindingRuleProperty(IntPtr tess, TessWinding property)
-        {
-            Glu.TessProperty(tess, TessParameter.TessWindingRule, (double)property);
-        }
-
-        #endregion
-
-    }
-
-#if false
-
-    //public delegate object
-
-    public delegate void FastVoidInvokeHandler(object target, object[] paramters);
-    public delegate object FastInvokeHandler(object target, object[] paramters);
-    public static class FastInvoker
-    {
-        /// <summary>
-        /// Use this one instead of MethodInfo.Invoke, this way it is 50 times quicker.
-        /// 
-        /// <example>
-        /// string Filter = "FirstName = 'Ton'"
-        /// MethodInfo mi = typeof(Person).GetMethod("GetAll");
-        /// snoei.net.Reflection.FastInvoker.FastInvokeHandler fi = snoei.net.Reflection.FastInvoker.GetMethodInvoker( mi );
-        //    return fi.Invoke( Person, new object[]{Filter} );
-        /// //Calls Person.GetAll(string Filter);
-        /// </example>
-        /// </summary>
-        /// <param name="methodInfo"></param>
-        /// <returns></returns>
-        public static Delegate GetMethodInvoker(MethodInfo methodInfo)
-        {
-            DynamicMethod dynamicMethod = new DynamicMethod(string.Empty, methodInfo.ReturnType, new Type[] { typeof(object), typeof(object[]) }, methodInfo.DeclaringType.Module);
-            ILGenerator il = dynamicMethod.GetILGenerator();
-            ParameterInfo[] ps = methodInfo.GetParameters();
-            Type[] paramTypes = new Type[ps.Length];
-
-            for (int i = 0; i < paramTypes.Length; i++)
-            {
-                if (ps[i].ParameterType.IsByRef)
-                    paramTypes[i] = ps[i].ParameterType.GetElementType();
-                else
-                    paramTypes[i] = ps[i].ParameterType;
-            }
-
-            LocalBuilder[] locals = new LocalBuilder[paramTypes.Length];
-
-            for (int i = 0; i < paramTypes.Length; i++)
-                locals[i] = il.DeclareLocal(paramTypes[i], true);
-
-            for (int i = 0; i < paramTypes.Length; i++)
-            {
-                il.Emit(OpCodes.Ldarg_1);
-                EmitFastInt(il, i);
-                il.Emit(OpCodes.Ldelem_Ref);
-                EmitCastToReference(il, paramTypes[i]);
-                il.Emit(OpCodes.Stloc, locals[i]);
-            }
-
-            if (!methodInfo.IsStatic)
-                il.Emit(OpCodes.Ldarg_0);
-
-            for (int i = 0; i < paramTypes.Length; i++)
-            {
-                if (ps[i].ParameterType.IsByRef)
-                    il.Emit(OpCodes.Ldloca_S, locals[i]);
-                else
-                    il.Emit(OpCodes.Ldloc, locals[i]);
-            }
-
-            if (methodInfo.IsStatic)
-                il.EmitCall(OpCodes.Call, methodInfo, null);
-            else
-                il.EmitCall(OpCodes.Callvirt, methodInfo, null);
-
-            if (methodInfo.ReturnType == typeof(void))
-                il.Emit(OpCodes.Ldnull);
-            else
-                EmitBoxIfNeeded(il, methodInfo.ReturnType);
-
-            for (int i = 0; i < paramTypes.Length; i++)
-            {
-                if (ps[i].ParameterType.IsByRef)
-                {
-                    il.Emit(OpCodes.Ldarg_1);
-                    EmitFastInt(il, i);
-                    il.Emit(OpCodes.Ldloc, locals[i]);
-                    if (locals[i].LocalType.IsValueType)
-                        il.Emit(OpCodes.Box, locals[i].LocalType);
-                    il.Emit(OpCodes.Stelem_Ref);
-                }
-            }
-
-            il.Emit(OpCodes.Ret);
-
-            if (methodInfo.ReturnType == typeof(void))
-                return dynamicMethod.CreateDelegate(typeof(FastVoidInvokeHandler));
-            else
-                return dynamicMethod.CreateDelegate(typeof(FastInvokeHandler));
-        }
-
-        private static void EmitCastToReference(ILGenerator il, System.Type type)
-        {
-            if (type.IsValueType)
-                il.Emit(OpCodes.Unbox_Any, type);
-            else
-                il.Emit(OpCodes.Castclass, type);
-        }
-
-        private static void EmitBoxIfNeeded(ILGenerator il, System.Type type)
-        {
-            if (type.IsValueType)
-                il.Emit(OpCodes.Box, type);
-        }
-
-        private static void EmitFastInt(ILGenerator il, int value)
-        {
-            switch (value)
-            {
-                case -1:
-                    il.Emit(OpCodes.Ldc_I4_M1);
-                    return;
-                case 0:
-                    il.Emit(OpCodes.Ldc_I4_0);
-                    return;
-                case 1:
-                    il.Emit(OpCodes.Ldc_I4_1);
-                    return;
-                case 2:
-                    il.Emit(OpCodes.Ldc_I4_2);
-                    return;
-                case 3:
-                    il.Emit(OpCodes.Ldc_I4_3);
-                    return;
-                case 4:
-                    il.Emit(OpCodes.Ldc_I4_4);
-                    return;
-                case 5:
-                    il.Emit(OpCodes.Ldc_I4_5);
-                    return;
-                case 6:
-                    il.Emit(OpCodes.Ldc_I4_6);
-                    return;
-                case 7:
-                    il.Emit(OpCodes.Ldc_I4_7);
-                    return;
-                case 8:
-                    il.Emit(OpCodes.Ldc_I4_8);
-                    return;
-            }
-
-            if (value > -129 && value < 128)
-                il.Emit(OpCodes.Ldc_I4_S, (SByte)value);
-            else
-                il.Emit(OpCodes.Ldc_I4, value);
-        }
-    }
-
-#endif
-}
diff --git a/Source/Compatibility/Graphics/GraphicsResourceException.cs b/Source/Compatibility/Graphics/GraphicsResourceException.cs
deleted file mode 100644 (file)
index 5f84589..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Represents exceptions related to IGraphicsResources.
-    /// </summary>
-    public class GraphicsResourceException : Exception
-    {
-        /// <summary>Constructs a new GraphicsResourceException.</summary>
-        public GraphicsResourceException() : base() { }
-        /// <summary>Constructs a new string with the specified error message.</summary>
-        public GraphicsResourceException(string message) : base(message) { }
-    }
-}
diff --git a/Source/Compatibility/Graphics/IGraphicsResource.cs b/Source/Compatibility/Graphics/IGraphicsResource.cs
deleted file mode 100644 (file)
index e6f79d2..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines a common interface to all OpenGL resources.
-    /// </summary>
-    interface IGraphicsResource : IDisposable
-    {
-        /// <summary>
-        /// Gets the GraphicsContext that owns this resource.
-        /// </summary>
-        IGraphicsContext Context { get; }
-
-        /// <summary>
-        /// Gets the Id of this IGraphicsResource.
-        /// </summary>
-        int Id { get; }
-    }
-}
diff --git a/Source/Compatibility/Graphics/ITextPrinter.cs b/Source/Compatibility/Graphics/ITextPrinter.cs
deleted file mode 100644 (file)
index abdcfb5..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using OpenTK.Graphics.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines the interface for a TextPrinter.
-    /// </summary>
-    public interface ITextPrinter : IDisposable
-    {
-        #region Print
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        void Print(string text, Font font, Color color);
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        void Print(string text, Font font, Color color, RectangleF rect);
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to print text.</param>
-        void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options);
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to print text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to print text.</param>
-        void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment);
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to print text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to print text.</param>
-        /// <param name="direction">The OpenTK.Graphics.TextDirection that will be used to print text.</param>
-        void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction);
-
-        #endregion
-
-        #region Measure
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        TextExtents Measure(string text, Font font);
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        TextExtents Measure(string text, Font font, RectangleF rect);
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options);
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to measure text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment);
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to measure text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to measure text.</param>
-        /// <param name="direction">The OpenTK.Graphics.TextDirection that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction);
-
-        #endregion
-
-        #region Begin
-
-        /// <summary>
-        /// Sets up a resolution-dependent orthographic projection.
-        /// </summary>
-        void Begin();
-
-        #endregion
-
-        #region End
-
-        /// <summary>
-        /// Restores the projection and modelview matrices to their previous state.
-        /// </summary>
-        void End();
-
-        #endregion
-
-        #region Obsolete
-
-        [Obsolete("Use TextPrinter.Print instead")]
-        void Draw(TextHandle handle);
-
-        [Obsolete("Use TextPrinter.Print instead")]
-        void Draw(string text, TextureFont font);
-
-        [Obsolete("Use TextPrinter.Print instead")]
-        void Prepare(string text, TextureFont font, out TextHandle handle);
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/RgbaTexture2D.cs b/Source/Compatibility/Graphics/RgbaTexture2D.cs
deleted file mode 100644 (file)
index c949498..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics
-{
-    [Obsolete]
-    class RgbaTexture2D : Texture2D
-    {
-        public RgbaTexture2D(int width, int height)
-            : base(width, height)
-        { }
-
-        protected override PixelInternalFormat InternalFormat
-        {
-            get { return PixelInternalFormat.Rgba; }
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/CachedGlyphInfo.cs b/Source/Compatibility/Graphics/Text/CachedGlyphInfo.cs
deleted file mode 100644 (file)
index 6f3986d..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    struct CachedGlyphInfo
-    {
-        public readonly Texture2D Texture;
-        public readonly RectangleF RectangleNormalized;
-        public Rectangle Rectangle
-        {
-            get
-            {
-                return new Rectangle(
-                    (int)(RectangleNormalized.X * Texture.Width),
-                    (int)(RectangleNormalized.Y * Texture.Height),
-                    (int)(RectangleNormalized.Width * Texture.Width),
-                    (int)(RectangleNormalized.Height * Texture.Height));
-            }
-        }
-
-        // Rect denotes the absolute position of the glyph in the texture [0, Texture.Width], [0, Texture.Height].
-        public CachedGlyphInfo(Texture2D texture, Rectangle rect)
-        {
-            Texture = texture;
-            RectangleNormalized = new RectangleF(
-                rect.X / (float)texture.Width,
-                rect.Y / (float)texture.Height,
-                rect.Width / (float)texture.Width,
-                rect.Height / (float)texture.Height);
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GL11TextOutputProvider.cs b/Source/Compatibility/Graphics/Text/GL11TextOutputProvider.cs
deleted file mode 100644 (file)
index b1af13a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    sealed class GL11TextOutputProvider : GL1TextOutputProvider
-    {
-        #region Fields
-
-        TextQuality quality;
-        GlyphCache cache;
-
-        #endregion
-
-        #region Constuctors
-
-        public GL11TextOutputProvider(TextQuality quality)
-        {
-            if (quality == TextQuality.High || quality == TextQuality.Default)
-                this.quality = TextQuality.Medium;
-            else
-                this.quality = quality;
-        }
-
-        #endregion
-
-        #region Protected Members
-
-        protected override void SetBlendFunction()
-        {
-            GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);  // For grayscale
-        }
-
-        protected override void SetColor(Color color)
-        {
-            GL.Color3(color);
-        }
-
-        protected override TextQuality TextQuality
-        {
-            get { return quality; }
-        }
-
-        protected override GlyphCache Cache
-        {
-            get
-            {
-                if (cache == null)
-                {
-                    if (GL.GetString(StringName.Renderer).Contains("ProSavage/Twister"))
-                        cache = new GlyphCache<RgbaTexture2D>();
-                    else
-                        cache = new GlyphCache<AlphaTexture2D>();
-                }
-                return cache;
-            }
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GL12TextOutputProvider.cs b/Source/Compatibility/Graphics/Text/GL12TextOutputProvider.cs
deleted file mode 100644 (file)
index dd766e0..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    sealed class GL12TextOutputProvider : GL1TextOutputProvider
-    {
-        #region Fields
-
-        TextQuality quality;
-        GlyphCache cache;
-
-        #endregion
-
-        #region Constuctors
-
-        public GL12TextOutputProvider(TextQuality quality)
-        {
-            this.quality = quality;
-            
-            cache = new GlyphCache<RgbaTexture2D>();
-        }
-
-        #endregion
-
-        protected override void SetBlendFunction()
-        {
-            GL.BlendFunc(BlendingFactorSrc.ConstantColorExt, BlendingFactorDest.OneMinusSrcColor);
-        }
-
-        protected override void SetColor(Color color)
-        {
-            GL.Color3(Color.White);
-            GL.BlendColor(color);
-        }
-
-        protected override TextQuality TextQuality
-        {
-            get { return quality; }
-        }
-
-        protected override GlyphCache Cache
-        {
-            get { return cache; }
-        }
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GL1TextOutputProvider.cs b/Source/Compatibility/Graphics/Text/GL1TextOutputProvider.cs
deleted file mode 100644 (file)
index cfd2c62..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-
-using OpenTK.Graphics.OpenGL;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    abstract class GL1TextOutputProvider : ITextOutputProvider
-    {
-        #region Fields
-
-        // Triangle lists, sorted by texture.
-        Dictionary<Texture2D, List<Vector2>> active_lists = new Dictionary<Texture2D, List<Vector2>>();
-        Queue<List<Vector2>> inactive_lists = new Queue<List<Vector2>>();
-
-        #pragma warning disable 0649
-        struct Viewport { public int X, Y, Width, Height; }
-        #pragma warning restore 0649
-
-        // Used to save the current state in Begin() and restore it in End()
-        Stack<Matrix4> projection_stack = new Stack<Matrix4>();
-        Stack<Matrix4> modelview_stack = new Stack<Matrix4>();
-        Stack<Matrix4> texture_stack = new Stack<Matrix4>();
-        Stack<Viewport> viewport_stack = new Stack<Viewport>();
-
-        // Used as temporary storage when saving / restoring the current state.
-        Viewport viewport = new Viewport();
-        Matrix4 matrix = new Matrix4();
-
-        // TextBlock - display list cache.
-        // Todo: we need a cache eviction strategy.
-        const int block_cache_capacity = 32;
-        readonly Dictionary<int, int> block_cache = new Dictionary<int, int>(block_cache_capacity);
-
-        bool disposed;
-
-        #endregion
-
-        #region Constructors
-
-        public GL1TextOutputProvider()
-        {
-            inactive_lists.Enqueue(new List<Vector2>());
-        }
-
-        #endregion
-
-        #region ITextOutputProvider Members
-
-        #region Print
-
-        public void Print(ref TextBlock block, Color color, IGlyphRasterizer rasterizer)
-        {
-            GL.PushAttrib(AttribMask.CurrentBit | AttribMask.TextureBit | AttribMask.EnableBit | AttribMask.ColorBufferBit | AttribMask.DepthBufferBit);
-
-            GL.Enable(EnableCap.Texture2D);
-            GL.Enable(EnableCap.Blend);
-            SetBlendFunction();
-
-            GL.Disable(EnableCap.DepthTest);
-
-            GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode, (int)All.Modulate);
-            GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvColor, new Color4(0, 0, 0, 0));
-
-            GL.Disable(EnableCap.TextureGenQ);
-            GL.Disable(EnableCap.TextureGenR);
-            GL.Disable(EnableCap.TextureGenS);
-            GL.Disable(EnableCap.TextureGenT);
-
-            RectangleF position;
-
-            SetColor(color);
-            
-            int block_hash = block.GetHashCode();
-            if (block_cache.ContainsKey(block_hash))
-            {
-                GL.CallList(block_cache[block_hash]);
-            }
-            else
-            {
-                using (TextExtents extents = rasterizer.MeasureText(ref block))
-                {
-                    // Build layout
-                    int current = 0;
-                    foreach (Glyph glyph in block)
-                    {
-                        // Do not render whitespace characters or characters outside the clip rectangle.
-                        if (glyph.IsWhiteSpace || extents[current].Width == 0 || extents[current].Height == 0)
-                        {
-                            current++;
-                            continue;
-                        }
-                        else if (!Cache.Contains(glyph))
-                            Cache.Add(glyph, rasterizer, TextQuality);
-
-                        CachedGlyphInfo info = Cache[glyph];
-                        position = extents[current++];
-
-                        // Use the real glyph width instead of the measured one (we want to achieve pixel perfect output).
-                        position.Size = info.Rectangle.Size;
-
-                        if (!active_lists.ContainsKey(info.Texture))
-                        {
-                            if (inactive_lists.Count > 0)
-                            {
-                                List<Vector2> list = inactive_lists.Dequeue();
-                                list.Clear();
-                                active_lists.Add(info.Texture, list);
-                            }
-                            else
-                            {
-                                active_lists.Add(info.Texture, new List<Vector2>());
-                            }
-                        }
-
-                        {
-                            // Interleaved array: Vertex, TexCoord, Vertex, ...
-                            List<Vector2> current_list = active_lists[info.Texture];
-                            current_list.Add(new Vector2(info.RectangleNormalized.Left, info.RectangleNormalized.Top));
-                            current_list.Add(new Vector2(position.Left, position.Top));
-                            current_list.Add(new Vector2(info.RectangleNormalized.Left, info.RectangleNormalized.Bottom));
-                            current_list.Add(new Vector2(position.Left, position.Bottom));
-                            current_list.Add(new Vector2(info.RectangleNormalized.Right, info.RectangleNormalized.Bottom));
-                            current_list.Add(new Vector2(position.Right, position.Bottom));
-
-                            current_list.Add(new Vector2(info.RectangleNormalized.Right, info.RectangleNormalized.Bottom));
-                            current_list.Add(new Vector2(position.Right, position.Bottom));
-                            current_list.Add(new Vector2(info.RectangleNormalized.Right, info.RectangleNormalized.Top));
-                            current_list.Add(new Vector2(position.Right, position.Top));
-                            current_list.Add(new Vector2(info.RectangleNormalized.Left, info.RectangleNormalized.Top));
-                            current_list.Add(new Vector2(position.Left, position.Top));
-                        }
-                    }
-                }
-
-                // Render
-                int display_list = 0;
-                if ((block.Options & TextPrinterOptions.NoCache) == 0)
-                {
-                    display_list = GL.GenLists(1);
-                    // Mesa Indirect gerates an InvalidOperation error right after
-                    // GL.EndList() when using ListMode.CompileAndExecute.
-                    // Using ListMode.Compile as a workaround.
-                    GL.NewList(display_list, ListMode.Compile);
-                }
-                foreach (Texture2D key in active_lists.Keys)
-                {
-                    List<Vector2> list = active_lists[key];
-
-                    key.Bind();
-
-                    GL.Begin(BeginMode.Triangles);
-
-                    for (int i = 0; i < list.Count; i += 2)
-                    {
-                        GL.TexCoord2(list[i]);
-                        GL.Vertex2(list[i + 1]);
-                    }
-
-                    GL.End();
-                }
-                if ((block.Options & TextPrinterOptions.NoCache) == 0)
-                {
-                    GL.EndList();
-                    block_cache.Add(block_hash, display_list);
-                    GL.CallList(display_list);
-                }
-
-                // Clean layout
-                foreach (List<Vector2> list in active_lists.Values)
-                {
-                    //list.Clear();
-                    inactive_lists.Enqueue(list);
-                }
-
-                active_lists.Clear();
-            }
-            
-            GL.PopAttrib();
-        }
-
-        #endregion
-
-        #region Clear
-
-        public void Clear()
-        {
-            Cache.Clear();
-                       foreach (int display_list in block_cache.Keys)
-                               GL.DeleteLists(display_list, 1);
-                       block_cache.Clear();
-        }
-
-        #endregion
-
-        #region Begin
-
-        public void Begin()
-        {
-            if (disposed)
-                throw new ObjectDisposedException(this.GetType().ToString());
-
-            GraphicsContext.Assert();
-
-            // Save the state of everything we are going to modify:
-            // the current matrix mode, viewport state and the projection, modelview and texture matrices.
-            // All these will be restored in the TextPrinter.End() method.
-            int current_matrix;
-            GL.GetInteger(GetPName.MatrixMode, out current_matrix);
-
-            GL.GetInteger(GetPName.Viewport, out viewport.X);
-            viewport_stack.Push(viewport);
-
-            GL.GetFloat(GetPName.ProjectionMatrix, out matrix.Row0.X);
-            projection_stack.Push(matrix);
-            GL.GetFloat(GetPName.ModelviewMatrix, out matrix.Row0.X);
-            modelview_stack.Push(matrix);
-            GL.GetFloat(GetPName.TextureMatrix, out matrix.Row0.X);
-            texture_stack.Push(matrix);
-
-            // Prepare to draw text. We want pixel perfect precision, so we setup a 2D mode,
-            // with size equal to the window (in pixels). 
-            // While we could also render text in 3D mode, it would be very hard to get
-            // pixel-perfect precision.
-            GL.MatrixMode(MatrixMode.Projection);
-            GL.LoadIdentity();
-            GL.Ortho(viewport.X, viewport.Width, viewport.Height, viewport.Y, -1.0, 1.0);
-
-            GL.MatrixMode(MatrixMode.Modelview);
-            GL.LoadIdentity();
-
-            GL.MatrixMode(MatrixMode.Texture);
-            GL.LoadIdentity();
-
-            GL.MatrixMode((MatrixMode)current_matrix);
-        }
-
-        #endregion
-
-        #region End
-
-        public void End()
-        {
-            if (disposed)
-                throw new ObjectDisposedException(this.GetType().ToString());
-
-            GraphicsContext.Assert();
-
-            int current_matrix;
-            GL.GetInteger(GetPName.MatrixMode, out current_matrix);
-
-            viewport = viewport_stack.Pop();
-            GL.Viewport(viewport.X, viewport.Y, viewport.Width, viewport.Height);
-
-            GL.MatrixMode(MatrixMode.Texture);
-            matrix = texture_stack.Pop();
-            GL.LoadMatrix(ref matrix);
-
-            GL.MatrixMode(MatrixMode.Modelview);
-            matrix = modelview_stack.Pop();
-            GL.LoadMatrix(ref matrix);
-
-            GL.MatrixMode(MatrixMode.Projection);
-            matrix = projection_stack.Pop();
-            GL.LoadMatrix(ref matrix);
-
-            GL.MatrixMode((MatrixMode)current_matrix);
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Protected Members
-
-        protected abstract void SetBlendFunction();
-
-        protected abstract void SetColor(Color color);
-
-        protected abstract TextQuality TextQuality { get; }
-
-        protected abstract GlyphCache Cache { get; }
-
-        #endregion
-
-        #region Static Members
-
-        public static GL1TextOutputProvider Create(TextQuality quality)
-        {
-            if (!GL.SupportsExtension("Version12") || !GL.SupportsFunction("BlendColor") || quality == TextQuality.Low || quality == TextQuality.Medium)
-                return new GL11TextOutputProvider(quality);
-            else
-                return new GL12TextOutputProvider(quality);
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        public void Dispose()
-        {
-            if (!disposed)
-            {
-                Cache.Dispose();
-                disposed = true;
-            }
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GdiPlusGlyphRasterizer.cs b/Source/Compatibility/Graphics/Text/GdiPlusGlyphRasterizer.cs
deleted file mode 100644 (file)
index aa9fc60..0000000
+++ /dev/null
@@ -1,501 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.Drawing.Text;
-using OpenTK.Platform;
-
-namespace OpenTK.Graphics.Text
-{
-    sealed class GdiPlusGlyphRasterizer : IGlyphRasterizer
-    {
-        #region Fields
-
-        // Note: as an optimization, we store the TextBlock hashcode instead of the TextBlock itself.
-        Dictionary<int, TextExtents> block_cache = new Dictionary<int, TextExtents>();
-        System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(new Bitmap(1, 1));
-
-        IntPtr[] regions = new IntPtr[GdiPlus.MaxMeasurableCharacterRanges];
-        CharacterRange[] characterRanges = new CharacterRange[GdiPlus.MaxMeasurableCharacterRanges];
-
-        Bitmap glyph_surface;
-        System.Drawing.Graphics glyph_renderer;
-
-        readonly List<RectangleF> measured_glyphs = new List<RectangleF>(256);
-
-        readonly ObjectPool<PoolableTextExtents> text_extents_pool = new ObjectPool<PoolableTextExtents>();
-
-        // Check the constructor, too, for additional flags.
-        // Used for measuring text. Can set the leftToRight, rightToLeft, vertical and measure trailing spaces flags.
-        readonly StringFormat measure_string_format = new StringFormat(StringFormat.GenericDefault);
-        readonly StringFormat measure_string_format_tight = new StringFormat(StringFormat.GenericTypographic);
-        // Used for loading glyphs. Only use leftToRight!
-        readonly StringFormat load_glyph_string_format = new StringFormat(StringFormat.GenericDefault);
-        readonly StringFormat load_glyph_string_format_tight = new StringFormat(StringFormat.GenericTypographic);
-
-        static readonly char[] newline_characters = new char[] { '\n', '\r' };
-
-        static readonly SizeF MaximumGraphicsClipSize;
-
-        #endregion
-
-        #region Constructors
-
-        static GdiPlusGlyphRasterizer()
-        {
-            using (Bitmap bmp = new Bitmap(1, 1))
-            using (System.Drawing.Graphics gfx = System.Drawing.Graphics.FromImage(bmp))
-            {
-                MaximumGraphicsClipSize = gfx.ClipBounds.Size;
-            }
-        }
-
-        public GdiPlusGlyphRasterizer()
-        {
-            measure_string_format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces | StringFormatFlags.NoClip;
-            measure_string_format_tight.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces;
-        }
-
-        #endregion
-
-        #region IGlyphRasterizer Members
-
-        #region Rasterize
-
-        public Bitmap Rasterize(Glyph glyph)
-        {
-            return Rasterize(glyph, TextQuality.Default);
-        }
-
-        public Bitmap Rasterize(Glyph glyph, TextQuality quality)
-        {
-            EnsureSurfaceSize(ref glyph_surface, ref glyph_renderer, glyph.Font);
-            SetTextRenderingOptions(glyph_renderer, glyph.Font, quality);
-
-            RectangleF r2 = new RectangleF();
-
-            glyph_renderer.Clear(Color.Transparent);
-
-            glyph_renderer.DrawString(glyph.Character.ToString(), glyph.Font, Brushes.White, Point.Empty, //new Point(glyph_surface.Width, 0),
-                glyph.Font.Style == FontStyle.Italic ? load_glyph_string_format : load_glyph_string_format_tight);
-
-            r2 = FindEdges(glyph_surface, true);
-                
-            //if ((default_string_format.FormatFlags & StringFormatFlags.DirectionRightToLeft) != 0)
-            //{
-            //    glyph_renderer.DrawString(glyph.Character.ToString(), glyph.Font, Brushes.White, Point.Empty, //new Point(glyph_surface.Width, 0),
-            //        load_glyph_string_format);//glyph.Font.Style == FontStyle.Italic ? load_glyph_string_format : default_string_format);
-
-            //    r2 = FindEdges(glyph_surface, true);
-            //}
-            //else
-            //{
-            //    glyph_renderer.DrawString(glyph.Character.ToString(), glyph.Font, Brushes.White, Point.Empty,
-            //        load_glyph_string_format_tight); //glyph.Font.Style == FontStyle.Italic ? load_glyph_string_format : default_string_format);
-
-            //    r2 = FindEdges(glyph_surface, false);
-            //}
-
-            return glyph_surface.Clone(r2, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
-        }
-
-        #endregion
-
-        #region MeasureText
-
-        public TextExtents MeasureText(ref TextBlock block)
-        {
-            return MeasureText(ref block, TextQuality.Default);
-        }
-
-        public TextExtents MeasureText(ref TextBlock block, TextQuality quality)
-        {
-            // First, check if we have cached this text block. Do not use block_cache.TryGetValue, to avoid thrashing
-            // the user's TextBlockExtents struct.
-            int hashcode = block.GetHashCode();
-            if (block_cache.ContainsKey(hashcode))
-                return block_cache[hashcode];
-
-            // If this block is not cached, we have to measure it and (potentially) place it in the cache.
-            TextExtents extents = MeasureTextExtents(ref block, quality);
-            
-            if ((block.Options & TextPrinterOptions.NoCache) == 0)
-                block_cache.Add(hashcode, extents);
-
-            return extents;
-        }
-
-        #endregion
-
-        #region Clear
-
-        public void Clear()
-        {
-            block_cache.Clear();
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Private Members
-
-        #region EnsureSurfaceSize
-
-        void EnsureSurfaceSize(ref Bitmap bmp, ref System.Drawing.Graphics gfx, Font font)
-        {
-            if (bmp == null || bmp.Width < 2 * font.Size || bmp.Height < 2 * font.Size)
-            {
-                if (bmp != null)
-                    bmp.Dispose();
-                if (gfx != null)
-                    gfx.Dispose();
-
-                bmp = new Bitmap((int)(2 * font.Size), (int)(2 * font.Size));
-                gfx = System.Drawing.Graphics.FromImage(bmp);
-            }
-        }
-
-        #endregion
-
-        #region SetRenderingOptions
-
-        // Modify rendering settings (antialiasing, grid fitting) to improve appearance.
-        void SetTextRenderingOptions(System.Drawing.Graphics gfx, Font font, TextQuality quality)
-        {
-            switch (quality)
-            {
-                case TextQuality.Default:
-                    gfx.TextRenderingHint = TextRenderingHint.SystemDefault;
-                    break;
-
-                case TextQuality.High:
-                    gfx.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
-                    break;
-                    
-                case TextQuality.Medium:
-                    if (font.Size <= 18.0f)
-                        gfx.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
-                    else
-                        gfx.TextRenderingHint = TextRenderingHint.AntiAlias;
-                    break;
-
-                case TextQuality.Low:
-                    if (font.Size <= 18.0f)
-                        gfx.TextRenderingHint = TextRenderingHint.SingleBitPerPixelGridFit;
-                    else
-                        gfx.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
-                    break;
-            }
-        }
-
-        #endregion
-
-        #region MeasureTextExtents
-
-        TextExtents MeasureTextExtents(ref TextBlock block, TextQuality quality)
-        {
-            // Todo: Parse layout options:
-            StringFormat format = block.Font.Italic ? measure_string_format : measure_string_format_tight;
-            //StringFormat format = measure_string_format_tight;
-
-            if (block.Direction == TextDirection.Vertical)
-                format.FormatFlags |= StringFormatFlags.DirectionVertical;
-            else
-                format.FormatFlags &= ~StringFormatFlags.DirectionVertical;
-
-            if (block.Direction == TextDirection.RightToLeft)
-                format.FormatFlags |= StringFormatFlags.DirectionRightToLeft;
-            else
-                format.FormatFlags &= ~StringFormatFlags.DirectionRightToLeft;
-
-            if (block.Alignment == TextAlignment.Near)
-                format.Alignment = StringAlignment.Near;
-            else if (block.Alignment == TextAlignment.Center)
-                format.Alignment = StringAlignment.Center;
-            else
-                format.Alignment = StringAlignment.Far;
-
-            TextExtents extents = text_extents_pool.Acquire();
-
-            RectangleF rect = block.Bounds;
-            // Work around Mono/GDI+ bug, which causes incorrect
-            // text wraping when block.Bounds == SizeF.Empty.
-            if (block.Bounds.Size == SizeF.Empty)
-                rect.Size = MaximumGraphicsClipSize;
-
-            SetTextRenderingOptions(graphics, block.Font, quality);
-
-            IntPtr native_graphics = GdiPlus.GetNativeGraphics(graphics);
-            IntPtr native_font = GdiPlus.GetNativeFont(block.Font);
-            IntPtr native_string_format = GdiPlus.GetNativeStringFormat(format);
-
-            float max_width = 0, max_height = 0;
-
-            // It seems that the mere presence of \n and \r characters
-            // is enough for Mono to botch the layout (even if these
-            // characters are not processed.) We'll need to find a
-            // different way to perform layout on Mono, probably
-            // through Pango.
-            // Todo: This workaround  allocates memory.
-            //if (Configuration.RunningOnMono)
-            {
-                string[] lines = block.Text.Replace("\r", String.Empty).Split('\n');
-                foreach (string s in lines)
-                {
-                    float width, height;
-
-                    extents.AddRange(MeasureGlyphExtents(
-                        ref block, s,
-                        native_graphics, native_font, native_string_format,
-                        ref rect, out width, out height));
-
-                    if ((block.Direction & TextDirection.Vertical) == 0)
-                        rect.Y += block.Font.Height;
-                    else
-                        rect.X += block.Font.Height;
-
-                    if (width > max_width)
-                        max_width = width;
-                    if (height > max_height)
-                        max_height = height;
-                }
-            }
-
-            if (extents.Count > 0)
-                extents.BoundingBox = new RectangleF(extents[0].X, extents[0].Y, max_width, max_height);
-            else
-                extents.BoundingBox = RectangleF.Empty;
-
-            return extents;
-        }
-
-        #endregion
-
-        #region MeasureGlyphExtents
-
-        // Gets the bounds of each character in a line of text.
-        // Each line is processed in blocks of 32 characters (GdiPlus.MaxMeasurableCharacterRanges).
-        IEnumerable<RectangleF> MeasureGlyphExtents(
-            ref TextBlock block, string text,
-            IntPtr native_graphics, IntPtr native_font, IntPtr native_string_format,
-            ref RectangleF layoutRect, out float max_width, out float max_height)
-        {
-            measured_glyphs.Clear();
-            max_width = layoutRect.Left;
-            max_height = layoutRect.Top;
-            float last_line_width = 0, last_line_height = 0;
-
-             int current = 0;
-             while (current < text.Length)
-             {
-                 int num_characters = (text.Length - current) > GdiPlus.MaxMeasurableCharacterRanges ?
-                     GdiPlus.MaxMeasurableCharacterRanges :
-                     text.Length - current;
-                 int status = 0;
-
-                 // Prepare the character ranges and region structs for the measurement.
-                 for (int i = 0; i < num_characters; i++)
-                 {
-                     if (text[current + i] == '\n' || text[current + i] == '\r')
-                         throw new NotSupportedException();
-
-                     characterRanges[i] = new CharacterRange(current + i, 1);
-
-                     IntPtr region;
-                     status = GdiPlus.CreateRegion(out region);
-                     regions[i] = region;
-                     Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-                 }
-
-                 status = GdiPlus.SetStringFormatMeasurableCharacterRanges(native_string_format, num_characters, characterRanges);
-                 Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-
-                 status = GdiPlus.MeasureCharacterRanges(native_graphics, text, text.Length,
-                                                 native_font, ref layoutRect, native_string_format, num_characters, regions);
-                 Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-
-                 // Read back the results of the measurement.
-                 for (int i = 0; i < num_characters; i++)
-                 {
-                     RectangleF rect = new RectangleF();
-
-                     GdiPlus.GetRegionBounds(regions[i], native_graphics, ref rect);
-                     Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-                     GdiPlus.DeleteRegion(regions[i]);
-                     Debug.Assert(status == 0, String.Format("GDI+ error: {0}", status));
-
-                     if (rect.Bottom > max_height)
-                         max_height = rect.Bottom;
-                     if (rect.Right > max_width)
-                         max_width = rect.Right;
-
-                     if (rect.X > last_line_width)
-                         last_line_width = rect.X;
-                     if (rect.Y > last_line_height)
-                         last_line_height = rect.Y;
-                     
-                     measured_glyphs.Add(rect);
-                 }
-
-                 current += num_characters;
-             }
-
-             // Make sure the current height is updated, if the the current line has wrapped due to word-wraping.
-             // Otherwise, the next line will overlap with the current one.
-             if (measured_glyphs.Count > 1)
-             {
-                 if ((block.Direction & TextDirection.Vertical) == 0)
-                 {
-                     if (layoutRect.Y < last_line_height)
-                         layoutRect.Y = last_line_height;
-                 }
-                 else
-                 {
-                     if (layoutRect.X < last_line_width)
-                         layoutRect.X = last_line_width;
-                 }
-             }
-
-            // Mono's GDI+ implementation suffers from an issue where the specified layoutRect is not taken into
-            // account. We will try to improve the situation by moving text to the correct location on this
-            // error condition. This will not help word wrapping, but it is better than nothing.
-            // Todo: Mono 2.8 is supposed to ship with a Pango-based GDI+ text renderer, which should not
-            // suffer from this bug. Verify that this is the case and remove the hack.
-            if (Configuration.RunningOnMono && (layoutRect.X != 0 || layoutRect.Y != 0) && measured_glyphs.Count > 0)
-            {
-                for (int i = 0; i < measured_glyphs.Count; i++)
-                {
-                    RectangleF rect = measured_glyphs[i];
-                    rect.X += layoutRect.X;
-                    rect.Y += layoutRect.Y;
-                    measured_glyphs[i] = rect;
-                }
-            }
-
-            return measured_glyphs;
-        }
-
-        #endregion
-
-        #region FindEdges
-
-        #pragma warning disable 0649
-
-        struct Pixel { public byte B, G, R, A; }
-
-        #pragma warning restore 0649
-
-        // Note: The bool parameter is not used at this point.
-        // We might need it if we ever load true rightToLeft glyphs.
-        Rectangle FindEdges(Bitmap bmp, bool rightToLeft)
-        {
-            BitmapData data = bmp.LockBits(
-                new Rectangle(0, 0, bmp.Width, bmp.Height),
-                ImageLockMode.ReadOnly,
-                System.Drawing.Imaging.PixelFormat.Format32bppArgb);
-
-            //Rectangle rect = rightToLeft ?
-            //    Rectangle.FromLTRB(FindLeftEdge(bmp, data.Scan0), 0, bmp.Width - 1, FindBottomEdge(bmp, data.Scan0)) :
-            //    Rectangle.FromLTRB(0, 0, FindRightEdge(bmp, data.Scan0), FindBottomEdge(bmp, data.Scan0));
-
-            Rectangle rect =
-                Rectangle.FromLTRB(0, 0, FindRightEdge(bmp, data.Scan0), FindBottomEdge(bmp, data.Scan0));
-               //Rectangle.FromLTRB(FindLeftEdge(bmp, data.Scan0), 0, FindRightEdge(bmp, data.Scan0), FindBottomEdge(bmp, data.Scan0));
-
-            bmp.UnlockBits(data);
-
-            return rect;
-        }
-
-        #endregion
-
-        #region Find[Left|Right|Top|Bottom]Edge
-
-        // Iterates through the bmp, and returns the first row or line that contains a non-transparent pixels.
-
-        int FindLeftEdge(Bitmap bmp, IntPtr ptr)
-        {
-            for (int x = 0; x < bmp.Width; x++)
-                for (int y = 0; y < bmp.Height; y++)
-                    unsafe
-                    {
-                        if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0)
-                            return x;
-                    }
-
-            return bmp.Width - 1;
-        }
-
-        int FindRightEdge(Bitmap bmp, IntPtr ptr)
-        {
-            for (int x = bmp.Width - 1; x >= 0; x--)
-                for (int y = 0; y < bmp.Height; y++)
-                    unsafe
-                    {
-                        if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0)
-                            return x + 1;
-                    }
-
-            return 0;
-        }
-
-        int FindTopEdge(Bitmap bmp, IntPtr ptr)
-        {
-            for (int y = 0; y < bmp.Height; y++)
-                for (int x = 0; x < bmp.Width; x++)
-                    unsafe
-                    {
-                        if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0)
-                            return y;
-                    }
-
-            return bmp.Height - 1;
-        }
-
-        int FindBottomEdge(Bitmap bmp, IntPtr ptr)
-        {
-            for (int y = bmp.Height - 1; y >= 0; y--)
-                for (int x = 0; x < bmp.Width; x++)
-                    unsafe
-                    {
-                        if (((Pixel*)(ptr) + y * bmp.Width + x)->A != 0)
-                            return y + 1;
-                    }
-
-            return 0;
-        }
-
-        #endregion
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/Glyph.cs b/Source/Compatibility/Graphics/Text/Glyph.cs
deleted file mode 100644 (file)
index e19ff32..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    struct Glyph : IEquatable<Glyph>
-    {
-        char character;
-        Font font;
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Glyph that represents the given character and Font.
-        /// </summary>
-        /// <param name="c">The character to represent.</param>
-        /// <param name="font">The Font of the character.</param>
-        public Glyph(char c, Font font)
-        {
-            if (font == null)
-                throw new ArgumentNullException("font");
-            character = c;
-            this.font = font;
-        }
-
-        #endregion
-
-        #region Public Methods 
-        
-        #region public char Character
-
-        /// <summary>
-        /// Gets the character represented by this Glyph.
-        /// </summary>
-        public char Character
-        {
-            get { return character; }
-            private set { character = value; }
-        }
-
-        #endregion
-
-        #region public Font Font
-
-        /// <summary>
-        ///  Gets the Font of this Glyph.
-        /// </summary>
-        public Font Font
-        {
-            get { return font; }
-            private set
-            {
-                if (value == null)
-                    throw new ArgumentNullException("Font", "Glyph font cannot be null");
-
-                font = value;
-            }
-        }
-
-        #endregion
-
-        #region public bool IsWhiteSpace
-
-        public bool IsWhiteSpace
-        {
-            get { return Char.IsWhiteSpace(Character); }
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Checks whether the given object is equal (memberwise) to the current Glyph.
-        /// </summary>
-        /// <param name="obj">The obj to check.</param>
-        /// <returns>True, if the object is identical to the current Glyph.</returns>
-        public override bool Equals(object obj)
-        {
-            if (obj is Glyph)
-                return this.Equals((Glyph)obj);
-            return base.Equals(obj);
-        }
-
-        #endregion
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Describes this Glyph object.
-        /// </summary>
-        /// <returns>Returns a System.String describing this Glyph.</returns>
-        public override string ToString()
-        {
-            return String.Format("'{0}', {1} {2}, {3} {4}", Character, Font.Name, font.Style, font.Size, font.Unit);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Calculates the hashcode for this Glyph.
-        /// </summary>
-        /// <returns>A System.Int32 containing a hashcode that uniquely identifies this Glyph.</returns>
-        public override int GetHashCode()
-        {
-            return character.GetHashCode() ^ font.GetHashCode();
-        }
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Glyph> Members
-
-        public bool Equals(Glyph other)
-        {
-            return Character == other.Character && Font == other.Font;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GlyphCache.cs b/Source/Compatibility/Graphics/Text/GlyphCache.cs
deleted file mode 100644 (file)
index 9833ce1..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    abstract class GlyphCache : IGlyphCache
-    {
-        #region IGlyphCache Members
-
-        public abstract void Add(Glyph glyph, IGlyphRasterizer rasterizer, TextQuality quality);
-
-        public abstract bool Contains(Glyph glyph);
-
-        public abstract CachedGlyphInfo this[Glyph glyph] { get; }
-
-        public abstract void Clear();
-
-        public abstract void Dispose();
-
-        #endregion
-    }
-
-    [Obsolete]
-    sealed class GlyphCache<T> : GlyphCache where T : Texture2D
-    {
-        #region Fields
-
-        List<GlyphSheet<T>> sheets = new List<GlyphSheet<T>>();
-
-        Dictionary<Glyph, CachedGlyphInfo> cached_glyphs = new Dictionary<Glyph, CachedGlyphInfo>();
-
-        bool disposed;
-
-        const int SheetWidth = 512, SheetHeight = 512;
-
-        #endregion
-
-        #region Constructors
-
-        public GlyphCache()
-        {
-            sheets.Add(new GlyphSheet<T>(SheetWidth, SheetHeight));
-        }
-
-        #endregion
-
-        #region IGlyphCache Members
-
-        public override void Add(Glyph glyph, IGlyphRasterizer rasterizer, TextQuality quality)
-        {
-            if (rasterizer == null)
-                throw new ArgumentNullException("rasterizer");
-
-            bool inserted = false;
-
-            using (Bitmap bmp = rasterizer.Rasterize(glyph, quality))
-            {
-                Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
-                foreach (GlyphSheet<T> sheet in sheets)
-                {
-                     inserted = InsertGlyph(glyph, bmp, rect, sheet);
-                     if (inserted)
-                         break;
-                }
-
-                if (!inserted)
-                {
-                    GlyphSheet<T> sheet = new GlyphSheet<T>(SheetWidth, SheetHeight);
-                    sheets.Add(sheet);
-                    InsertGlyph(glyph, bmp, rect, sheet);
-                }
-            }
-        }
-
-        public override bool Contains(Glyph glyph)
-        {
-            return cached_glyphs.ContainsKey(glyph);
-        }
-
-        public override CachedGlyphInfo this[Glyph glyph]
-        {
-            get
-            {
-                return cached_glyphs[glyph];
-            }
-        }
-        public override void Clear()
-        {
-            for (int i = 0; i < sheets.Count; i++)
-                sheets[i].Dispose();
-
-            sheets.Clear();
-        }
-
-        #endregion
-
-        #region Private Members
-
-        // Asks the packer for an empty space and writes the glyph there.
-        bool InsertGlyph(Glyph glyph, Bitmap bmp, Rectangle source, GlyphSheet<T> sheet)
-        {
-            Rectangle target = new Rectangle();
-            if (!sheet.Packer.TryAdd(source, out target))
-                return false;
-
-            sheet.Texture.WriteRegion(source, target, 0, bmp);
-            cached_glyphs.Add(glyph, new CachedGlyphInfo(sheet.Texture, target));
-
-            return true;
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        public override void Dispose()
-        {
-             if (!disposed)
-            {
-                Clear();
-                disposed = true;
-             }
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GlyphEnumerator.cs b/Source/Compatibility/Graphics/Text/GlyphEnumerator.cs
deleted file mode 100644 (file)
index 7ea95a9..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    class GlyphEnumerator : IEnumerator<Glyph>
-    {
-        #region Fields
-
-        string text;
-        Font font;
-
-        IEnumerator<char> implementation;
-
-        #endregion
-
-        #region Constructors
-
-        public GlyphEnumerator(string text, Font font)
-        {
-            if (text == null)
-                throw new ArgumentNullException("text");
-
-            if (font == null)
-                throw new ArgumentNullException("font");
-
-            this.text = text;
-            this.font = font;
-
-            implementation = text.GetEnumerator();
-        }
-
-        #endregion
-        
-        #region IEnumerator<Glyph> Members
-
-        public Glyph Current
-        {
-            get { return new Glyph(implementation.Current, font); }
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        public void Dispose()
-        {
-            implementation.Dispose();
-        }
-
-        #endregion
-
-        #region IEnumerator Members
-
-        object System.Collections.IEnumerator.Current
-        {
-            get { return new Glyph(implementation.Current, font); }
-        }
-
-        public bool MoveNext()
-        {
-            bool status;
-            do
-            {
-                status = implementation.MoveNext();
-            } while (status && (implementation.Current == '\n' || implementation.Current == '\r'));
-
-            return status;
-        }
-
-        public void Reset()
-        {
-            implementation.Reset();
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GlyphPacker.cs b/Source/Compatibility/Graphics/Text/GlyphPacker.cs
deleted file mode 100644 (file)
index 5b47c1b..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    class GlyphPacker
-    {
-        Node root;
-
-        #region --- Constructors ---
-
-        public GlyphPacker(int width, int height)
-        {
-            if (width <= 0)
-                throw new ArgumentOutOfRangeException("width", width, "Must be greater than zero.");
-            if (height <= 0)
-                throw new ArgumentOutOfRangeException("height", height, "Must be greater than zero.");
-
-            root = new Node();
-            root.Rectangle = new Rectangle(0, 0, width, width);
-        }
-
-        #endregion
-
-        #region --- Public Methods ---
-
-        #region public bool TryAdd(Rectangle boundingBox)
-
-        /// <summary>
-        /// Adds boundingBox to the GlyphPacker.
-        /// </summary>
-        /// <param name="boundingBox">The bounding box of the item to pack.</param>
-        /// <param name="packedRectangle">The System.Drawing.Rectangle that contains the position of the packed item.</param>
-        /// <returns>True, if the item was successfully packed; false if the item is too big for this packer..</returns>
-        /// <exception cref="InvalidOperationException">Occurs if the item is larger than the available TexturePacker area</exception>
-        /// <exception cref="TexturePackerFullException">Occurs if the item cannot fit in the remaining packer space.</exception>
-        public bool TryAdd(Rectangle boundingBox, out Rectangle packedRectangle)
-        {
-            if (!root.Rectangle.Contains(boundingBox))
-            {
-                packedRectangle = new Rectangle();
-                return false;
-            }
-
-            // Increase size so that the glyphs do not touch each other (to avoid rendering artifacts).
-            boundingBox.Width += 2;
-            boundingBox.Height += 2;
-
-            Node node = root.Insert(boundingBox);
-
-            // Tree is full and insertion failed:
-            if (node == null)
-            {
-                packedRectangle = new Rectangle();
-                return false;
-            }
-
-            packedRectangle = new Rectangle(node.Rectangle.X, node.Rectangle.Y, node.Rectangle.Width - 2, node.Rectangle.Height - 2);
-            return true;
-        }
-
-        #endregion
-
-        #region public Rectangle TryAdd(RectangleF boundingBox)
-
-        /// <summary>
-        /// Adds boundingBox to the GlyphPacker.
-        /// </summary>
-        /// <param name="boundingBox">The bounding box of the item to pack.</param>
-        /// <param name="packedRectangle">The System.Drawing.RectangleF that contains the position of the packed item.</param>
-        /// <returns>True, if the item was successfully packed; false if the item is too big for this packer..</returns>
-        /// <exception cref="InvalidOperationException">Occurs if the item is larger than the available TexturePacker area</exception>
-        /// <exception cref="TexturePackerFullException">Occurs if the item cannot fit in the remaining packer space.</exception>
-        public bool TryAdd(RectangleF boundingBox, out RectangleF packedRectangle)
-        {
-            Rectangle bbox = new Rectangle(
-                (int)boundingBox.X, (int)boundingBox.Y,
-                (int)(boundingBox.Width + 0.5f), (int)(boundingBox.Height + 0.5f));
-
-            return TryAdd(bbox, out packedRectangle);
-        }
-
-        #endregion
-
-        #region public Rectangle Add(Rectangle boundingBox)
-
-        /// <summary>
-        /// Adds boundingBox to the GlyphPacker.
-        /// </summary>
-        /// <param name="boundingBox">The bounding box of the item to pack.</param>
-        /// <returns>A System.Drawing.Rectangle containing the coordinates of the packed item.</returns>
-        /// <exception cref="InvalidOperationException">Occurs if the item is larger than the available TexturePacker area</exception>
-        /// <exception cref="TexturePackerFullException">Occurs if the item cannot fit in the remaining packer space.</exception>
-        public Rectangle Add(Rectangle boundingBox)
-        {
-            if (!TryAdd(boundingBox, out boundingBox))
-                throw new TexturePackerFullException();
-
-            return boundingBox;
-        }
-
-        #endregion
-
-        #region public Rectangle Add(RectangleF boundingBox)
-
-        /// <summary>
-        /// Rounds boundingBox to the largest integer and adds the resulting Rectangle to the GlyphPacker.
-        /// </summary>
-        /// <param name="boundingBox">The bounding box of the item to pack.</param>
-        /// <returns>A System.Drawing.Rectangle containing the coordinates of the packed item.</returns>
-        /// <exception cref="InvalidOperationException">Occurs if the item is larger than the available TexturePacker area</exception>
-        /// <exception cref="ArgumentException">Occurs if the item already exists in the TexturePacker.</exception>
-        public Rectangle Add(RectangleF boundingBox)
-        {
-            Rectangle bbox = new Rectangle(
-                (int)boundingBox.X, (int)boundingBox.Y,
-                (int)(boundingBox.Width + 0.5f), (int)(boundingBox.Height + 0.5f));
-
-            return Add(bbox);
-        }
-
-        #endregion
-
-        #region public void Clear()
-
-        /// <summary>
-        /// Discards all packed items.
-        /// </summary>
-        public void Clear()
-        {
-            root.Clear();
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Node
-
-        class Node
-        {
-            public Node()
-            {
-            }
-
-            Node left, right;
-            Rectangle rect;
-            bool occupied;
-
-            public Rectangle Rectangle { get { return rect; } set { rect = value; } }
-            public Node Left { get { return left; } set { left = value; } }
-            public Node Right { get { return right; } set { right = value; } }
-
-            #region --- Constructor ---
-
-            public bool Leaf
-            {
-                get { return left == null && right == null; }
-            }
-
-            #endregion
-
-            #region Node Insert(Rectangle bbox)
-
-            public Node Insert( Rectangle bbox)
-            {
-                if (!this.Leaf)
-                {
-                    // Recurse towards left child, and if that fails, towards the right.
-                    Node new_node = left.Insert(bbox);
-                    return new_node ?? right.Insert(bbox);
-                }
-                else
-                {
-                    // We have recursed to a leaf.
-
-                    // If it is not empty go back.
-                    if (occupied)
-                        return null;
-
-                    // If this leaf is too small go back.
-                    if (rect.Width < bbox.Width || rect.Height < bbox.Height)
-                        return null;
-
-                    // If this leaf is the right size, insert here.
-                    if (rect.Width == bbox.Width && rect.Height == bbox.Height)
-                    {
-                        occupied = true;
-                        return this;
-                    }
-
-                    // This leaf is too large, split it up. We'll decide which way to split
-                    // by checking the width and height difference between this rectangle and
-                    // out item's bounding box. If the width difference is larger, we'll split
-                    // horizontaly, else verticaly.
-                    left = new Node();
-                    right = new Node();
-
-                    int dw = this.rect.Width - bbox.Width + 1;
-                    int dh = this.rect.Height - bbox.Height + 1;
-
-                    if (dw > dh)
-                    {
-                        left.rect = new Rectangle(rect.Left, rect.Top, bbox.Width, rect.Height);
-                        right.rect = new Rectangle(rect.Left + bbox.Width, rect.Top, rect.Width - bbox.Width, rect.Height);
-                    }
-                    else
-                    {
-                        left.rect = new Rectangle(rect.Left, rect.Top, rect.Width, bbox.Height);
-                        right.rect = new Rectangle(rect.Left, rect.Top + bbox.Height, rect.Width, rect.Height - bbox.Height);
-                    }
-
-                    return left.Insert(bbox);
-                }
-            }
-
-            #endregion
-
-            #region public void Clear()
-            
-            public void Clear()
-            {
-                if (left != null)
-                    left.Clear();
-                if (right != null)
-                    right.Clear();
-
-                left = right = null;
-            }
-
-            #endregion
-        }
-
-        #endregion
-    }
-
-    class TexturePackerFullException : Exception
-    {
-        public TexturePackerFullException() : base("There is not enough space to add this item. Consider calling the Clear() method.") { }
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/GlyphSheet.cs b/Source/Compatibility/Graphics/Text/GlyphSheet.cs
deleted file mode 100644 (file)
index 65c5ba6..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    class GlyphSheet<T> : IDisposable where T : Texture2D
-    {
-        #region Fields
-
-        readonly T texture;
-        readonly GlyphPacker packer;
-
-        bool disposed;
-
-        #endregion
-
-        #region Constructors
-
-        public GlyphSheet(int width, int height)
-        {
-            texture = (T)typeof(T).GetConstructor(new Type[] { typeof(int), typeof(int) }).Invoke(new object[] { width, height });
-            //texture.MagnificationFilter = TextureMagFilter.Nearest;
-            //texture.MinificationFilter = TextureMinFilter.Nearest;
-            packer = new GlyphPacker(width, height);
-        }
-
-        #endregion
-
-        #region Public Members
-
-        public T Texture
-        {
-            get { return texture; }
-        }
-
-        public GlyphPacker Packer
-        {
-            get { return packer; }
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        public void Dispose()
-        {
-            if (!disposed)
-            {
-                texture.Dispose();
-                disposed = true;
-            }
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/IGlyphCache.cs b/Source/Compatibility/Graphics/Text/IGlyphCache.cs
deleted file mode 100644 (file)
index ed48581..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-
-namespace OpenTK.Graphics.Text
-{
-    [Obsolete]
-    interface IGlyphCache : IDisposable
-    {
-        void Add(Glyph glyph, IGlyphRasterizer rasterizer, TextQuality quality);
-        bool Contains(Glyph glyph);
-        CachedGlyphInfo this[Glyph glyph] { get; }
-        void Clear();
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/IGlyphRasterizer.cs b/Source/Compatibility/Graphics/Text/IGlyphRasterizer.cs
deleted file mode 100644 (file)
index b3316a2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-using OpenTK.Graphics.Text;
-
-namespace OpenTK.Graphics.Text
-{
-    interface IGlyphRasterizer
-    {
-        Bitmap Rasterize(Glyph glyph);
-        Bitmap Rasterize(Glyph glyph, TextQuality quality);
-        TextExtents MeasureText(ref TextBlock block);
-        TextExtents MeasureText(ref TextBlock block, TextQuality quality);
-        void Clear();
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/ITextOutputProvider.cs b/Source/Compatibility/Graphics/Text/ITextOutputProvider.cs
deleted file mode 100644 (file)
index ab2fe5c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    interface ITextOutputProvider : IDisposable
-    {
-        void Print(ref TextBlock block, Color color, IGlyphRasterizer rasterizer);
-        void Clear();
-        void Begin();
-        void End();
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/PoolableTextExtents.cs b/Source/Compatibility/Graphics/Text/PoolableTextExtents.cs
deleted file mode 100644 (file)
index 62444a2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics.Text
-{
-    class PoolableTextExtents : TextExtents, IPoolable<PoolableTextExtents>
-    {
-        ObjectPool<PoolableTextExtents> owner;
-
-        #region Constructors
-
-        public PoolableTextExtents()
-        {
-        }
-
-        #endregion
-
-        #region IPoolable<PoolableTextExtents> Members
-
-        ObjectPool<PoolableTextExtents> IPoolable<PoolableTextExtents>.Owner
-        {
-            get { return owner; }
-            set { owner = value; }
-        }
-
-        #endregion
-
-        #region IPoolable Members
-
-        void IPoolable.OnAcquire()
-        {
-            Clear();
-        }
-
-        void IPoolable.OnRelease()
-        {
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/TextBlock.cs b/Source/Compatibility/Graphics/Text/TextBlock.cs
deleted file mode 100644 (file)
index a7bea8e..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics.Text
-{
-    // Uniquely identifies a block of text. This structure can be used to identify text blocks for caching.
-    struct TextBlock : IEquatable<TextBlock>, IEnumerable<Glyph>
-    {
-        #region Fields
-
-        public readonly string Text;
-
-        public readonly Font Font;
-
-        public readonly RectangleF Bounds;
-
-        public readonly TextPrinterOptions Options;
-
-        public readonly TextAlignment Alignment;
-
-        public readonly TextDirection Direction;
-
-        public readonly int UsageCount;
-
-        #endregion
-
-        #region Constructors
-
-        public TextBlock(string text, Font font, RectangleF bounds, TextPrinterOptions options, TextAlignment alignment, TextDirection direction)
-        {
-            Text = text;
-            Font = font;
-            Bounds = bounds;
-            Options = options;
-            Alignment = alignment;
-            Direction = direction;
-            UsageCount = 0;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        public override bool Equals(object obj)
-        {
-            if (!(obj is TextBlock))
-                return false;
-
-            return Equals((TextBlock)obj);
-        }
-
-        public override int GetHashCode()
-        {
-            return Text.GetHashCode() ^ Font.GetHashCode() ^ Bounds.GetHashCode() ^ Options.GetHashCode();
-        }
-
-        public Glyph this[int i]
-        {
-            get { return new Glyph(Text[i], Font); }
-        }
-
-        #endregion
-
-        #region IEquatable<TextBlock> Members
-
-        public bool Equals(TextBlock other)
-        {
-            return
-                Text == other.Text &&
-                Font == other.Font &&
-                Bounds == other.Bounds &&
-                Options == other.Options;
-        }
-
-        #endregion
-
-        #region IEnumerable<Glyph> Members
-
-        public IEnumerator<Glyph> GetEnumerator()
-        {
-            return new GlyphEnumerator(Text, Font);
-        }
-
-        #endregion
-
-        #region IEnumerable Members
-
-        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
-        {
-            return new GlyphEnumerator(Text, Font);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/Text/TextBlockComparer.cs b/Source/Compatibility/Graphics/Text/TextBlockComparer.cs
deleted file mode 100644 (file)
index 08a7349..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics.Text
-{
-    class TextBlockComparer : IComparer<TextBlock>
-    {
-        #region Constructors
-
-        public TextBlockComparer() { }
-
-        #endregion
-
-        #region IComparer<TextBlock> Members
-
-        public int Compare(TextBlock x, TextBlock y)
-        {
-            return x.UsageCount.CompareTo(y.UsageCount);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextAlignment.cs b/Source/Compatibility/Graphics/TextAlignment.cs
deleted file mode 100644 (file)
index 22d62cd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines available alignments for text.
-    /// </summary>
-    public enum TextAlignment
-    {
-        /// <summary>The text is aligned to the near side (left for left-to-right text and right for right-to-left text).</summary>
-        Near = 0,
-        /// <summary>The text is aligned to the center.</summary>
-        Center,
-        /// <summary>The text is aligned to the far side (right for left-to-right text and left for right-to-left text).</summary>
-        Far
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextDirection.cs b/Source/Compatibility/Graphics/TextDirection.cs
deleted file mode 100644 (file)
index 98a6b94..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines available directions for text layout.
-    /// </summary>
-    public enum TextDirection
-    {
-        /// <summary>The text is layed out from left to right.</summary>
-        LeftToRight,
-        /// <summary>The text is layed out from right to left.</summary>
-        RightToLeft,
-        /// <summary>The text is layed out vertically.</summary>
-        Vertical
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextExtents.cs b/Source/Compatibility/Graphics/TextExtents.cs
deleted file mode 100644 (file)
index 86a7385..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Holds the results of a text measurement.
-    /// </summary>
-    public class TextExtents : IDisposable
-    {
-        #region Fields
-
-        protected RectangleF text_extents;
-        protected List<RectangleF> glyph_extents = new List<RectangleF>();
-
-        public static readonly TextExtents Empty = new TextExtents();
-
-        #endregion
-
-        #region Constructors
-
-        internal TextExtents()
-        {
-        }
-
-        #endregion
-
-        #region Public Members
-
-        /// <summary>
-        /// Gets the bounding box of the measured text.
-        /// </summary>
-        public RectangleF BoundingBox
-        {
-            get { return text_extents; }
-            internal set { text_extents = value; }
-        }
-
-        /// <summary>
-        /// Gets the extents of each glyph in the measured text.
-        /// </summary>
-        /// <param name="i">The index of the glyph.</param>
-        /// <returns>The extents of the specified glyph.</returns>
-        public RectangleF this[int i]
-        {
-            get { return glyph_extents[i]; }
-            internal set { glyph_extents[i] = value; }
-        }
-
-        /// <summary>
-        /// Gets the extents of each glyph in the measured text.
-        /// </summary>
-        public IEnumerable<RectangleF> GlyphExtents
-        {
-            get { return (IEnumerable<RectangleF>)glyph_extents; }
-        }
-
-        /// <summary>
-        /// Gets the number of the measured glyphs.
-        /// </summary>
-        public int Count
-        {
-            get { return glyph_extents.Count; }
-        }
-
-        #endregion
-
-        #region Internal Members
-
-        internal void Add(RectangleF glyphExtent)
-        {
-            glyph_extents.Add(glyphExtent);
-        }
-
-        internal void AddRange(IEnumerable<RectangleF> glyphExtents)
-        {
-            glyph_extents.AddRange(glyphExtents);
-        }
-
-        internal void Clear()
-        {
-            BoundingBox = RectangleF.Empty;
-            glyph_extents.Clear();
-        }
-
-        internal TextExtents Clone()
-        {
-            TextExtents extents = new TextExtents();
-            extents.glyph_extents.AddRange(GlyphExtents);
-            extents.BoundingBox = BoundingBox;
-            return extents;
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        /// <summary>
-        /// Frees the resources consumed by this TextExtents instance.
-        /// </summary>
-        public virtual void Dispose()
-        {
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextPrinter.cs b/Source/Compatibility/Graphics/TextPrinter.cs
deleted file mode 100644 (file)
index d238799..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using System.Text.RegularExpressions;
-using System.Runtime.InteropServices;
-using System.Diagnostics;
-
-using OpenTK.Graphics;
-using OpenTK.Graphics.Text;
-using OpenTK.Platform;
-
-namespace OpenTK.Fonts { }
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Provides methods to perform layout and print hardware accelerated text.
-    /// </summary>
-    [Obsolete]
-    public sealed class TextPrinter : ITextPrinter
-    {
-        #region Fields
-
-        IGlyphRasterizer glyph_rasterizer;
-        ITextOutputProvider text_output;
-        TextQuality text_quality;
-
-        bool disposed;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new TextPrinter instance.
-        /// </summary>
-        public TextPrinter()
-            : this(null, null, TextQuality.Default) { }
-
-        /// <summary>
-        /// Constructs a new TextPrinter instance with the specified TextQuality level.
-        /// </summary>
-        /// <param name="quality">The desired TextQuality of this TextPrinter.</param>
-        public TextPrinter(TextQuality quality)
-            : this(null, null, quality) { }
-
-        TextPrinter(IGlyphRasterizer rasterizer, ITextOutputProvider output, TextQuality quality)
-        {
-            glyph_rasterizer = rasterizer;
-            text_output = output;
-            text_quality = quality;
-        }
-
-        #endregion
-
-        #region ITextPrinter Members
-
-        #region Print
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        public void Print(string text, Font font, Color color)
-        {
-            Print(text, font, color, RectangleF.Empty, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        public void Print(string text, Font font, Color color, RectangleF rect)
-        {
-            Print(text, font, color, rect, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to print text.</param>
-        public void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options)
-        {
-            Print(text, font, color, rect, options, TextAlignment.Near, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to print text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to print text.</param>
-        public void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment)
-        {
-            Print(text, font, color, rect, options, alignment, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Prints text using the specified color and layout options.
-        /// </summary>
-        /// <param name="text">The System.String to print.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to print text.</param>
-        /// <param name="color">The System.Drawing.Color that will be used to print text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to print text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to print text.</param>
-        /// <param name="direction">The OpenTK.Graphics.TextDirection that will be used to print text.</param>
-        public void Print(string text, Font font, Color color, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction)
-        {
-            if (disposed)
-                throw new ObjectDisposedException(this.GetType().ToString());
-
-            if (!ValidateParameters(text, font, rect))
-                return;
-
-            TextBlock block = new TextBlock(text, font, rect, options, alignment, direction);
-            TextOutput.Print(ref block, color, Rasterizer);
-        }
-
-        #endregion
-
-        #region Measure
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        public TextExtents Measure(string text, Font font)
-        {
-            return Measure(text, font, RectangleF.Empty, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        public TextExtents Measure(string text, Font font, RectangleF rect)
-        {
-            return Measure(text, font, rect, TextPrinterOptions.Default, TextAlignment.Near, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        public TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options)
-        {
-            return Measure(text, font, rect, options, TextAlignment.Near, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to measure text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        public TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment)
-        {
-            return Measure(text, font, rect, options, alignment, TextDirection.LeftToRight);
-        }
-
-        /// <summary>
-        /// Measures text using the specified layout options.
-        /// </summary>
-        /// <param name="text">The System.String to measure.</param>
-        /// <param name="font">The System.Drawing.Font that will be used to measure text.</param>
-        /// <param name="rect">The System.Drawing.Rectangle that defines the bounds for text layout.</param>
-        /// <param name="options">The OpenTK.Graphics.TextPrinterOptions that will be used to measure text.</param>
-        /// <param name="alignment">The OpenTK.Graphics.TextAlignment that will be used to measure text.</param>
-        /// <param name="direction">The OpenTK.Graphics.TextDirection that will be used to measure text.</param>
-        /// <returns>An OpenTK.Graphics.TextExtents instance that contains the results of the measurement.</returns>
-        public TextExtents Measure(string text, Font font, RectangleF rect, TextPrinterOptions options, TextAlignment alignment, TextDirection direction)
-        {
-            if (disposed)
-                throw new ObjectDisposedException(this.GetType().ToString());
-
-            if (!ValidateParameters(text, font, rect))
-                return TextExtents.Empty;
-
-            TextBlock block = new TextBlock(text, font, rect, options, alignment, direction);
-            return Rasterizer.MeasureText(ref block);
-        }
-
-        #endregion
-
-        #region Clear
-
-        public void Clear()
-        {
-            if (disposed)
-                throw new ObjectDisposedException(this.GetType().ToString());
-
-            TextOutput.Clear();
-            Rasterizer.Clear();
-        }
-
-        #endregion
-
-        #region Begin
-
-        /// <summary>
-        /// Sets up a resolution-dependent orthographic projection.
-        /// </summary>
-        public void Begin()
-        {
-            TextOutput.Begin();
-        }
-
-        #endregion
-
-        #region Begin
-
-        /// <summary>
-        /// Restores the projection and modelview matrices to their previous state.
-        /// </summary>
-        public void End()
-        {
-            TextOutput.End();
-        }
-
-        #endregion
-
-        #region Obsolete
-
-        [Obsolete("Use TextPrinter.Print instead")]
-        public void Draw(TextHandle handle)
-        {
-            Print(handle.Text, handle.GdiPFont, Color.White);
-        }
-
-        [Obsolete("Use TextPrinter.Print instead")]
-        public void Draw(string text, TextureFont font)
-        {
-            Print(text, font.font, Color.White);
-        }
-
-        [Obsolete("Use TextPrinter.Print instead")]
-        public void Prepare(string text, TextureFont font, out TextHandle handle)
-        {
-            handle = new TextHandle(text, font.font);
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Private Members
-
-        IGlyphRasterizer Rasterizer
-        {
-            get
-            {
-                if (glyph_rasterizer == null)
-                    glyph_rasterizer = new GdiPlusGlyphRasterizer();
-
-                return glyph_rasterizer;
-            }
-
-        }
-
-        ITextOutputProvider TextOutput
-        {
-            get
-            {
-                if (text_output == null)
-                    text_output = GL1TextOutputProvider.Create(text_quality);
-
-                return text_output;
-            }
-        }
-
-        #endregion
-
-        #region Static Members
-
-        static bool ValidateParameters(string text, Font font, RectangleF rect)
-        {
-            if (String.IsNullOrEmpty(text))
-                return false;
-            if (font == null)
-                throw new ArgumentNullException("font");
-            if (rect.Width < 0 || rect.Height < 0)
-                throw new ArgumentOutOfRangeException("rect");
-
-            return true;
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        /// <summary>
-        /// Frees the resources consumed by this TextPrinter object.
-        /// </summary>
-        public void Dispose()
-        {
-            if (!disposed)
-            {
-                TextOutput.Dispose();
-                disposed = true;
-            }
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextPrinterOptions.cs b/Source/Compatibility/Graphics/TextPrinterOptions.cs
deleted file mode 100644 (file)
index 34275da..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines available options for the TextPrinter.
-    /// </summary>
-    [Flags]
-    public enum TextPrinterOptions
-    {
-        /// <summary>The TextPrinter will use default printing options.</summary>
-        Default = 0x0000,
-        /// <summary>The TextPrinter will not cache text blocks as they are measured or printed.</summary>
-        NoCache = 0x0001,
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextQuality.cs b/Source/Compatibility/Graphics/TextQuality.cs
deleted file mode 100644 (file)
index 311a488..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Graphics
-{
-    /// <summary>
-    /// Defines available quality levels for text printing.
-    /// </summary>
-    public enum TextQuality
-    {
-        /// <summary>Use the default quality, as specified by the operating system.</summary>
-        Default = 0,
-        /// <summary>Use fast, low quality text (typically non-antialiased) .</summary>
-        Low,
-        /// <summary>Use medium quality text (typically grayscale antialiased).</summary>
-        Medium,
-        /// <summary>Use slow, high quality text (typically subpixel antialiased).</summary>
-        High
-    }
-}
diff --git a/Source/Compatibility/Graphics/Texture2D.cs b/Source/Compatibility/Graphics/Texture2D.cs
deleted file mode 100644 (file)
index 7bf192a..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.Diagnostics;
-
-namespace OpenTK.Graphics
-{
-    [Obsolete]
-    abstract class Texture2D :  IGraphicsResource, IEquatable<Texture2D>
-    {
-        #region Fields
-
-        IGraphicsContext context;
-        int id;
-        int width, height;
-        bool disposed;
-
-        TextureMagFilter mag_filter = TextureMagFilter.Linear;
-        TextureMinFilter min_filter = TextureMinFilter.Linear;
-
-        #endregion
-
-        #region Constructors
-
-        public Texture2D(int width, int height)
-        {
-            if (width <= 0)
-                throw new ArgumentOutOfRangeException("width");
-
-            if (height <= 0)
-                throw new ArgumentOutOfRangeException("height");
-
-            Width = width;
-            Height = height;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region public int Width
-
-        /// <summary>Gets the width of the texture.</summary>
-        public int Width { get { return width; } private set { width = value; } }
-
-        #endregion
-
-        #region public int Height
-
-        /// <summary>Gets the height of the texture.</summary>
-        public int Height { get { return height; } private set { height = value; } }
-
-        #endregion
-
-        #region MagnificationFilter
-
-        public TextureMagFilter MagnificationFilter
-        {
-            get { return mag_filter; }
-            set { mag_filter = value; }
-        }
-
-        #endregion
-
-        #region MinificationFilter
-
-        public TextureMinFilter MinificationFilter
-        {
-            get { return min_filter; }
-            set { min_filter = value; }
-        }
-
-        #endregion
-
-        #region Bind
-
-        public void Bind()
-        {
-            GL.BindTexture(TextureTarget.Texture2D, (this as IGraphicsResource).Id);
-        }
-
-        #endregion
-
-        #region WriteRegion
-
-        public void WriteRegion(Rectangle source, Rectangle target, int mipLevel, Bitmap bitmap)
-        {
-            if (bitmap == null)
-                throw new ArgumentNullException("data");
-
-            GraphicsUnit unit = GraphicsUnit.Pixel;
-            if (!bitmap.GetBounds(ref unit).Contains(source))
-                throw new InvalidOperationException("The source Rectangle is larger than the Bitmap.");
-
-            if (mipLevel < 0)
-                throw new ArgumentOutOfRangeException("mipLevel");
-
-            Bind();
-
-            BitmapData data = null;
-
-            GL.PushClientAttrib(ClientAttribMask.ClientPixelStoreBit);
-            try
-            {
-                data = bitmap.LockBits(source, ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
-                GL.PixelStore(PixelStoreParameter.UnpackAlignment, 1);
-                GL.PixelStore(PixelStoreParameter.UnpackRowLength, bitmap.Width);
-                GL.TexSubImage2D(TextureTarget.Texture2D, mipLevel,
-                    target.Left, target.Top,
-                    target.Width, target.Height,
-                    OpenTK.Graphics.PixelFormat.Bgra,
-                    PixelType.UnsignedByte, data.Scan0);
-            }
-            finally
-            {
-                GL.PopClientAttrib();
-                if (data != null)
-                    bitmap.UnlockBits(data);
-            }
-        }
-
-        #endregion
-
-        #region ReadRegion
-
-        public TextureRegion2D ReadRegion(Rectangle rect, int mipLevel)
-        {
-            if (mipLevel < 0)
-                throw new ArgumentOutOfRangeException("miplevel");
-
-            TextureRegion2D<int> region = new TextureRegion2D<int>(rect);
-
-            GL.GetTexImage(TextureTarget.Texture2D, mipLevel, OpenTK.Graphics.PixelFormat.Bgra, PixelType.UnsignedByte, region.Data);
-
-            return region;
-        }
-
-        #endregion
-
-        #region Equals
-
-        public override bool Equals(object obj)
-        {
-            if (obj is Texture2D)
-                return this.Equals((Texture2D)obj);
-
-            return false;
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        public override int GetHashCode()
-        {
-            return (this as IGraphicsResource).Id;
-        }
-
-        #endregion
-
-        #region public overrid string ToString()
-
-        public override string ToString()
-        {
-            return String.Format("Texture2D #{0} ({1}x{2}, {3})",
-                (this as IGraphicsResource).Id.ToString(),
-                Width.ToString(),
-                Height.ToString(),
-                InternalFormat.ToString());
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Protected Members
-
-        #region InternalFormat
-
-        protected abstract PixelInternalFormat InternalFormat { get; }
-
-        #endregion
-
-        #endregion
-
-        #region Private Members
-
-        int CreateTexture(int width, int height)
-        {
-            int id = GL.GenTexture();
-            if (id == 0)
-                throw new GraphicsResourceException(String.Format("Texture creation failed, (Error: {0})", GL.GetError()));
-
-            SetDefaultTextureParameters(id);
-
-            GL.TexImage2D(TextureTarget.Texture2D, 0, InternalFormat, Width, Height, 0,
-                OpenTK.Graphics.PixelFormat.Rgba, PixelType.UnsignedByte, IntPtr.Zero);
-
-            return id;
-        }
-
-        void SetDefaultTextureParameters(int id)
-        {
-            // Ensure the texture is allocated.
-            GL.BindTexture(TextureTarget.Texture2D, id);
-            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)All.Linear);
-            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)All.Linear);
-            if (GL.SupportsExtension("Version12"))
-            {
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge);
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge);
-            }
-            else
-            {
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.Clamp);
-                GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.Clamp);
-            }
-        }
-
-        #endregion
-
-        #region IGraphicsResource Members
-
-        #region IGraphicsResource.Context
-
-        IGraphicsContext IGraphicsResource.Context { get { return context; } }
-
-        #endregion
-
-        #region IGraphicsResource.Id
-
-        int IGraphicsResource.Id
-        {
-            get
-            {
-                if (id == 0)
-                {
-                    GraphicsContext.Assert();
-                    context = GraphicsContext.CurrentContext;
-
-                    id = CreateTexture(Width, Height);
-                }
-
-                return id;
-            }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Texture2D> Members
-
-        public bool Equals(Texture2D other)
-        {
-            return (this as IGraphicsResource).Id == (other as IGraphicsResource).Id;
-        }
-
-        #endregion
-
-        #region IDisposable Members
-
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        void Dispose(bool manual)
-        {
-            if (!disposed)
-            {
-                if (manual)
-                {
-                    GL.DeleteTexture(id);
-                }
-                else
-                {
-                    Debug.Print("[Warning] {0} leaked.", this);
-                }
-                disposed = true;
-            }
-        }
-
-        ~Texture2D()
-        {
-            Dispose(false);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Graphics/TextureRegion2D.cs b/Source/Compatibility/Graphics/TextureRegion2D.cs
deleted file mode 100644 (file)
index 248aba3..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2008 the Open Toolkit library, except where noted.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-
-namespace OpenTK.Graphics
-{
-    abstract class TextureRegion2D
-    {
-        Rectangle rectangle;
-
-        public Rectangle Rectangle { get { return rectangle; } protected set { rectangle = value; } }
-    }
-
-    /// <summary>
-    /// Holds part or the whole of a 2d OpenGL texture.
-    /// </summary>
-    class TextureRegion2D<T> : TextureRegion2D where T : struct
-    {
-        #region Fields
-
-        T[,] data;
-
-        #endregion
-
-        #region Constructors
-
-        internal TextureRegion2D(Rectangle rect)
-        {
-            data = new T[rect.Width, rect.Height];
-            Rectangle = rect;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        public T this[int x, int y]
-        {
-            get { return data[x, y]; }
-            set { data[x, y] = value; }
-        }
-
-        #endregion
-
-        #region Internal Members
-
-        internal T[,] Data { get { return data; } }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/IPackable.cs b/Source/Compatibility/IPackable.cs
deleted file mode 100644 (file)
index f6b4fa2..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK
-{
-    /// <summary>
-    /// Represents an item that can be packed with the TexturePacker.
-    /// </summary>
-    /// <typeparam name="T">The type of the packable item.</typeparam>
-    interface IPackable<T> : IEquatable<T>
-    {
-        int Width { get; }
-        int Height { get; }
-    }
-}
diff --git a/Source/Compatibility/IPoolable.cs b/Source/Compatibility/IPoolable.cs
deleted file mode 100644 (file)
index bb94167..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK
-{
-    interface IPoolable : IDisposable
-    {
-        void OnAcquire();
-        void OnRelease();
-    }
-
-    interface IPoolable<T> : IPoolable where T : IPoolable<T>, new()
-    {
-        ObjectPool<T> Owner { get; set;  }
-    }
-}
diff --git a/Source/Compatibility/Math/BezierCurve.cs b/Source/Compatibility/Math/BezierCurve.cs
deleted file mode 100644 (file)
index 19653c7..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- * 
- * Contributions by Georg W�chter.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a bezier curve with as many points as you want.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    public struct BezierCurve
-    {
-        #region Fields
-
-        private List<Vector2> points;
-
-        /// <summary>
-        /// The parallel value.
-        /// </summary>
-        /// <remarks>This value defines whether the curve should be calculated as a
-        /// parallel curve to the original bezier curve. A value of 0.0f represents
-        /// the original curve, 5.0f i.e. stands for a curve that has always a distance
-        /// of 5.0f to the orignal curve at any point.</remarks>
-        public float Parallel;
-
-        #endregion
-
-        #region Properties
-
-        /// <summary>
-        /// Gets the points of this curve.
-        /// </summary>
-        /// <remarks>The first point and the last points represent the anchor points.</remarks>
-        public IList<Vector2> Points
-        {
-            get
-            {
-                return points;
-            }
-        }
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurve"/>.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        public BezierCurve(IEnumerable<Vector2> points)
-        {
-            if (points == null)
-                throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures.");
-
-            this.points = new List<Vector2>(points);
-            this.Parallel = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurve"/>.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        public BezierCurve(params Vector2[] points)
-        {
-            if (points == null)
-                throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures.");
-
-            this.points = new List<Vector2>(points);
-            this.Parallel = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurve"/>.
-        /// </summary>
-        /// <param name="parallel">The parallel value.</param>
-        /// <param name="points">The points.</param>
-        public BezierCurve(float parallel, params Vector2[] points)
-        {
-            if (points == null)
-                throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures.");
-
-            this.Parallel = parallel;
-            this.points = new List<Vector2>(points);
-        }
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurve"/>.
-        /// </summary>
-        /// <param name="parallel">The parallel value.</param>
-        /// <param name="points">The points.</param>
-        public BezierCurve(float parallel, IEnumerable<Vector2> points)
-        {
-            if (points == null)
-                throw new ArgumentNullException("points", "Must point to a valid list of Vector2 structures.");
-
-            this.Parallel = parallel;
-            this.points = new List<Vector2>(points);
-        }
-
-        #endregion
-
-        #region Functions
-
-
-        /// <summary>
-        /// Calculates the point with the specified t.
-        /// </summary>
-        /// <param name="t">The t value, between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        public Vector2 CalculatePoint(float t)
-        {
-            return BezierCurve.CalculatePoint(points, t, Parallel);
-        }
-
-        /// <summary>
-        /// Calculates the length of this bezier curve.
-        /// </summary>
-        /// <param name="precision">The precision.</param>
-        /// <returns>Length of curve.</returns>
-        /// <remarks>The precision gets better as the <paramref name="precision"/>
-        /// value gets smaller.</remarks>
-        public float CalculateLength(float precision)
-        {
-            return BezierCurve.CalculateLength(points, precision, Parallel);
-        }
-
-        #region Static methods
-
-        /// <summary>
-        /// Calculates the length of the specified bezier curve.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        /// <param name="precision">The precision value.</param>
-        /// <returns>The precision gets better as the <paramref name="precision"/>
-        /// value gets smaller.</returns>
-        public static float CalculateLength(IList<Vector2> points, float precision)
-        {
-            return BezierCurve.CalculateLength(points, precision, 0.0f);
-        }
-
-        /// <summary>
-        /// Calculates the length of the specified bezier curve.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        /// <param name="precision">The precision value.</param>
-        /// <param name="parallel">The parallel value.</param>
-        /// <returns>Length of curve.</returns>
-        /// <remarks><para>The precision gets better as the <paramref name="precision"/>
-        /// value gets smaller.</para>
-        /// <para>The <paramref name="parallel"/> parameter defines whether the curve should be calculated as a
-        /// parallel curve to the original bezier curve. A value of 0.0f represents
-        /// the original curve, 5.0f represents a curve that has always a distance
-        /// of 5.0f to the orignal curve.</para></remarks>
-        public static float CalculateLength(IList<Vector2> points, float precision, float parallel)
-        {
-            float length = 0.0f;
-            Vector2 old = BezierCurve.CalculatePoint(points, 0.0f, parallel);
-
-            for (float i = precision; i < (1.0f + precision); i += precision)
-            {
-                Vector2 n = CalculatePoint(points, i, parallel);
-                length += (n - old).Length;
-                old = n;
-            }
-
-            return length;
-        }
-
-        /// <summary>
-        /// Calculates the point on the given bezier curve with the specified t parameter.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        /// <param name="t">The t parameter, a value between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        public static Vector2 CalculatePoint(IList<Vector2> points, float t)
-        {
-            return BezierCurve.CalculatePoint(points, t, 0.0f);
-        }
-
-        /// <summary>
-        /// Calculates the point on the given bezier curve with the specified t parameter.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        /// <param name="t">The t parameter, a value between 0.0f and 1.0f.</param>
-        /// <param name="parallel">The parallel value.</param>
-        /// <returns>Resulting point.</returns>
-        /// <remarks>The <paramref name="parallel"/> parameter defines whether the curve should be calculated as a
-        /// parallel curve to the original bezier curve. A value of 0.0f represents
-        /// the original curve, 5.0f represents a curve that has always a distance
-        /// of 5.0f to the orignal curve.</remarks>
-        public static Vector2 CalculatePoint(IList<Vector2> points, float t, float parallel)
-        {
-            Vector2 r = new Vector2();
-            double c = 1.0d - (double)t;
-            float temp;
-            int i = 0;
-
-            foreach (Vector2 pt in points)
-            {
-                temp = (float)Functions.BinomialCoefficient(points.Count - 1, i) * (float)(System.Math.Pow(t, i) *
-                        System.Math.Pow(c, (points.Count - 1) - i));
-
-                r.X += temp * pt.X;
-                r.Y += temp * pt.Y;
-                i++;
-            }
-
-            if (parallel == 0.0f)
-                return r;
-
-            Vector2 perpendicular = new Vector2();
-
-            if (t != 0.0f)
-                perpendicular = r - BezierCurve.CalculatePointOfDerivative(points, t);
-            else
-                perpendicular = points[1] - points[0];
-
-            return r + Vector2.Normalize(perpendicular).PerpendicularRight * parallel;
-        }
-
-        /// <summary>
-        /// Calculates the point with the specified t of the derivative of the given bezier function.
-        /// </summary>
-        /// <param name="points">The points.</param>
-        /// <param name="t">The t parameter, value between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        private static Vector2 CalculatePointOfDerivative(IList<Vector2> points, float t)
-        {
-            Vector2 r = new Vector2();
-            double c = 1.0d - (double)t;
-            float temp;
-            int i = 0;
-
-            foreach (Vector2 pt in points)
-            {
-                temp = (float)Functions.BinomialCoefficient(points.Count - 2, i) * (float)(System.Math.Pow(t, i) *
-                        System.Math.Pow(c, (points.Count - 2) - i));
-
-                r.X += temp * pt.X;
-                r.Y += temp * pt.Y;
-                i++;
-            }
-
-            return r;
-        }
-
-        #endregion
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/BezierCurveCubic.cs b/Source/Compatibility/Math/BezierCurveCubic.cs
deleted file mode 100644 (file)
index ba56a4b..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- * 
- * Contributions by Georg W�chter.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a cubic bezier curve with two anchor and two control points.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    public struct BezierCurveCubic
-    {
-        #region Fields
-
-        /// <summary>
-        /// Start anchor point.
-        /// </summary>
-        public Vector2 StartAnchor;
-
-        /// <summary>
-        /// End anchor point.
-        /// </summary>
-        public Vector2 EndAnchor;
-
-        /// <summary>
-        /// First control point, controls the direction of the curve start.
-        /// </summary>
-        public Vector2 FirstControlPoint;
-
-        /// <summary>
-        /// Second control point, controls the direction of the curve end.
-        /// </summary>
-        public Vector2 SecondControlPoint;
-
-        /// <summary>
-        /// Gets or sets the parallel value.
-        /// </summary>
-        /// <remarks>This value defines whether the curve should be calculated as a
-        /// parallel curve to the original bezier curve. A value of 0.0f represents
-        /// the original curve, 5.0f i.e. stands for a curve that has always a distance
-        /// of 5.f to the orignal curve at any point.</remarks>
-        public float Parallel;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurveCubic"/>.
-        /// </summary>
-        /// <param name="startAnchor">The start anchor point.</param>
-        /// <param name="endAnchor">The end anchor point.</param>
-        /// <param name="firstControlPoint">The first control point.</param>
-        /// <param name="secondControlPoint">The second control point.</param>
-        public BezierCurveCubic(Vector2 startAnchor, Vector2 endAnchor, Vector2 firstControlPoint, Vector2 secondControlPoint)
-        {
-            this.StartAnchor = startAnchor;
-            this.EndAnchor = endAnchor;
-            this.FirstControlPoint = firstControlPoint;
-            this.SecondControlPoint = secondControlPoint;
-            this.Parallel = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurveCubic"/>.
-        /// </summary>
-        /// <param name="parallel">The parallel value.</param>
-        /// <param name="startAnchor">The start anchor point.</param>
-        /// <param name="endAnchor">The end anchor point.</param>
-        /// <param name="firstControlPoint">The first control point.</param>
-        /// <param name="secondControlPoint">The second control point.</param>
-        public BezierCurveCubic(float parallel, Vector2 startAnchor, Vector2 endAnchor, Vector2 firstControlPoint, Vector2 secondControlPoint)
-        {
-            this.Parallel = parallel;
-            this.StartAnchor = startAnchor;
-            this.EndAnchor = endAnchor;
-            this.FirstControlPoint = firstControlPoint;
-            this.SecondControlPoint = secondControlPoint;
-        }
-
-        #endregion
-
-        #region Functions
-
-        /// <summary>
-        /// Calculates the point with the specified t.
-        /// </summary>
-        /// <param name="t">The t value, between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        public Vector2 CalculatePoint(float t)
-        {
-            Vector2 r = new Vector2();
-            float c = 1.0f - t;
-
-            r.X = (StartAnchor.X * c * c * c) + (FirstControlPoint.X * 3 * t * c * c) + (SecondControlPoint.X * 3 * t * t * c)
-                + EndAnchor.X * t * t * t;
-            r.Y = (StartAnchor.Y * c * c * c) + (FirstControlPoint.Y * 3 * t * c * c) + (SecondControlPoint.Y * 3 * t * t * c)
-                + EndAnchor.Y * t * t * t;
-
-            if (Parallel == 0.0f)
-                return r;
-
-            Vector2 perpendicular = new Vector2();
-
-            if (t == 0.0f)
-                perpendicular = FirstControlPoint - StartAnchor;
-            else
-                perpendicular = r - CalculatePointOfDerivative(t);
-
-            return r + Vector2.Normalize(perpendicular).PerpendicularRight * Parallel;
-        }
-
-        /// <summary>
-        /// Calculates the point with the specified t of the derivative of this function.
-        /// </summary>
-        /// <param name="t">The t, value between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        private Vector2 CalculatePointOfDerivative(float t)
-        {
-            Vector2 r = new Vector2();
-            float c = 1.0f - t;
-
-            r.X = (c * c * StartAnchor.X) + (2 * t * c * FirstControlPoint.X) + (t * t * SecondControlPoint.X);
-            r.Y = (c * c * StartAnchor.Y) + (2 * t * c * FirstControlPoint.Y) + (t * t * SecondControlPoint.Y);
-
-            return r;
-        }
-
-        /// <summary>
-        /// Calculates the length of this bezier curve.
-        /// </summary>
-        /// <param name="precision">The precision.</param>
-        /// <returns>Length of the curve.</returns>
-        /// <remarks>The precision gets better when the <paramref name="precision"/>
-        /// value gets smaller.</remarks>
-        public float CalculateLength(float precision)
-        {
-            float length = 0.0f;
-            Vector2 old = CalculatePoint(0.0f);
-
-            for (float i = precision; i < (1.0f + precision); i += precision)
-            {
-                Vector2 n = CalculatePoint(i);
-                length += (n - old).Length;
-                old = n;
-            }
-
-            return length;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/BezierCurveQuadric.cs b/Source/Compatibility/Math/BezierCurveQuadric.cs
deleted file mode 100644 (file)
index bb73e27..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- * 
- * Contributions by Georg W�chter.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a quadric bezier curve with two anchor and one control point.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    public struct BezierCurveQuadric
-    {
-        #region Fields
-
-        /// <summary>
-        /// Start anchor point.
-        /// </summary>
-        public Vector2 StartAnchor;
-
-        /// <summary>
-        /// End anchor point.
-        /// </summary>
-        public Vector2 EndAnchor;
-
-        /// <summary>
-        /// Control point, controls the direction of both endings of the curve.
-        /// </summary>
-        public Vector2 ControlPoint;
-
-        /// <summary>
-        /// The parallel value.
-        /// </summary>
-        /// <remarks>This value defines whether the curve should be calculated as a
-        /// parallel curve to the original bezier curve. A value of 0.0f represents
-        /// the original curve, 5.0f i.e. stands for a curve that has always a distance
-        /// of 5.f to the orignal curve at any point.</remarks>
-        public float Parallel;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurveQuadric"/>.
-        /// </summary>
-        /// <param name="startAnchor">The start anchor.</param>
-        /// <param name="endAnchor">The end anchor.</param>
-        /// <param name="controlPoint">The control point.</param>
-        public BezierCurveQuadric(Vector2 startAnchor, Vector2 endAnchor, Vector2 controlPoint)
-        {
-            this.StartAnchor = startAnchor;
-            this.EndAnchor = endAnchor;
-            this.ControlPoint = controlPoint;
-            this.Parallel = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new <see cref="BezierCurveQuadric"/>.
-        /// </summary>
-        /// <param name="parallel">The parallel value.</param>
-        /// <param name="startAnchor">The start anchor.</param>
-        /// <param name="endAnchor">The end anchor.</param>
-        /// <param name="controlPoint">The control point.</param>
-        public BezierCurveQuadric(float parallel, Vector2 startAnchor, Vector2 endAnchor, Vector2 controlPoint)
-        {
-            this.Parallel = parallel;
-            this.StartAnchor = startAnchor;
-            this.EndAnchor = endAnchor;
-            this.ControlPoint = controlPoint;
-        }
-
-        #endregion
-
-        #region Functions
-
-        /// <summary>
-        /// Calculates the point with the specified t.
-        /// </summary>
-        /// <param name="t">The t value, between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        public Vector2 CalculatePoint(float t)
-        {
-            Vector2 r = new Vector2();
-            float c = 1.0f - t;
-
-            r.X = (c * c * StartAnchor.X) + (2 * t * c * ControlPoint.X) + (t * t * EndAnchor.X);
-            r.Y = (c * c * StartAnchor.Y) + (2 * t * c * ControlPoint.Y) + (t * t * EndAnchor.Y);
-
-            if (Parallel == 0.0f)
-                return r;
-
-            Vector2 perpendicular = new Vector2();
-
-            if (t == 0.0f)
-                perpendicular = ControlPoint - StartAnchor;
-            else
-                perpendicular = r - CalculatePointOfDerivative(t);
-
-            return r + Vector2.Normalize(perpendicular).PerpendicularRight * Parallel;
-        }
-
-        /// <summary>
-        /// Calculates the point with the specified t of the derivative of this function.
-        /// </summary>
-        /// <param name="t">The t, value between 0.0f and 1.0f.</param>
-        /// <returns>Resulting point.</returns>
-        private Vector2 CalculatePointOfDerivative(float t)
-        {
-            Vector2 r = new Vector2();
-
-            r.X = (1.0f - t) * StartAnchor.X + t * ControlPoint.X;
-            r.Y = (1.0f - t) * StartAnchor.Y + t * ControlPoint.Y;
-
-            return r;
-        }
-
-        /// <summary>
-        /// Calculates the length of this bezier curve.
-        /// </summary>
-        /// <param name="precision">The precision.</param>
-        /// <returns>Length of curve.</returns>
-        /// <remarks>The precision gets better when the <paramref name="precision"/>
-        /// value gets smaller.</remarks>
-        public float CalculateLength(float precision)
-        {
-            float length = 0.0f;
-            Vector2 old = CalculatePoint(0.0f);
-
-            for (float i = precision; i < (1.0f + precision); i += precision)
-            {
-                Vector2 n = CalculatePoint(i);
-                length += (n - old).Length;
-                old = n;
-            }
-
-            return length;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/Box2.cs b/Source/Compatibility/Math/Box2.cs
deleted file mode 100644 (file)
index 739c733..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Defines a 2d box (rectangle).
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Box2
-    {
-        /// <summary>
-        /// The left boundary of the structure.
-        /// </summary>
-        public float Left;
-
-        /// <summary>
-        /// The right boundary of the structure.
-        /// </summary>
-        public float Right;
-
-        /// <summary>
-        /// The top boundary of the structure.
-        /// </summary>
-        public float Top;
-
-        /// <summary>
-        /// The bottom boundary of the structure.
-        /// </summary>
-        public float Bottom;
-
-        /// <summary>
-        /// Constructs a new Box2 with the specified dimensions.
-        /// </summary>
-        /// <param name="topLeft">AnOpenTK.Vector2 describing the top-left corner of the Box2.</param>
-        /// <param name="bottomRight">An OpenTK.Vector2 describing the bottom-right corner of the Box2.</param>
-        public Box2(Vector2 topLeft, Vector2 bottomRight)
-        {
-            Left = topLeft.X;
-            Top = topLeft.Y;
-            Right = topLeft.X;
-            Bottom = topLeft.Y;
-        }
-
-        /// <summary>
-        /// Constructs a new Box2 with the specified dimensions.
-        /// </summary>
-        /// <param name="left">The position of the left boundary.</param>
-        /// <param name="top">The position of the top boundary.</param>
-        /// <param name="right">The position of the right boundary.</param>
-        /// <param name="bottom">The position of the bottom boundary.</param>
-        public Box2(float left, float top, float right, float bottom)
-        {
-            Left = left;
-            Top = top;
-            Right = right;
-            Bottom = bottom;
-        }
-
-        /// <summary>
-        /// Creates a new Box2 with the specified dimensions.
-        /// </summary>
-        /// <param name="top">The position of the top boundary.</param>
-        /// <param name="left">The position of the left boundary.</param>
-        /// <param name="right">The position of the right boundary.</param>
-        /// <param name="bottom">The position of the bottom boundary.</param>
-        /// <returns>A new OpenTK.Box2 with the specfied dimensions.</returns>
-        public static Box2 FromTLRB(float top, float left, float right, float bottom)
-        {
-            return new Box2(left, top, right, bottom);
-        }
-
-        /// <summary>
-        /// Gets a float describing the width of the Box2 structure.
-        /// </summary>
-        public float Width { get { return (float)System.Math.Abs(Right - Left); } }
-
-        /// <summary>
-        /// Gets a float describing the height of the Box2 structure.
-        /// </summary>
-        public float Height { get { return (float)System.Math.Abs(Bottom - Top); } }
-
-        public override string ToString()
-        {
-            return String.Format("({0},{1})-({2},{3})", Left, Top, Right, Bottom);
-        }
-    }
-}
diff --git a/Source/Compatibility/Math/Functions.cs b/Source/Compatibility/Math/Functions.cs
deleted file mode 100644 (file)
index 1deee17..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- * 
- * Contributions by Andy Gill, James Talton and Georg Wächter.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Contains mathematical functions for the OpenTK.Math toolkit.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    public static class Functions
-    {
-        #region public static long NextPowerOfTwo(long n)
-
-        /// <summary>
-        /// Returns the next power of two that is larger than the specified number.
-        /// </summary>
-        /// <param name="n">The specified number.</param>
-        /// <returns>The next power of two.</returns>
-        public static long NextPowerOfTwo(long n)
-        {
-            if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive.");
-            return (long)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2)));
-        }
-
-        #endregion
-
-        #region public static int NextPowerOfTwo(int n)
-
-        /// <summary>
-        /// Returns the next power of two that is larger than the specified number.
-        /// </summary>
-        /// <param name="n">The specified number.</param>
-        /// <returns>The next power of two.</returns>
-        public static int NextPowerOfTwo(int n)
-        {
-            if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive.");
-            return (int)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2)));
-        }
-
-        #endregion
-
-        #region public static int NextPowerOfTwo(int n)
-
-        /// <summary>
-        /// Returns the next power of two that is larger than the specified number.
-        /// </summary>
-        /// <param name="n">The specified number.</param>
-        /// <returns>The next power of two.</returns>
-        public static float NextPowerOfTwo(float n)
-        {
-            if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive.");
-            return (float)System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2)));
-        }
-
-        #endregion
-
-
-        #region public static int NextPowerOfTwo(int n)
-
-        /// <summary>
-        /// Returns the next power of two that is larger than the specified number.
-        /// </summary>
-        /// <param name="n">The specified number.</param>
-        /// <returns>The next power of two.</returns>
-        public static double NextPowerOfTwo(double n)
-        {
-            if (n < 0) throw new ArgumentOutOfRangeException("n", "Must be positive.");
-            return System.Math.Pow(2, System.Math.Ceiling(System.Math.Log((double)n, 2)));
-        }
-
-        #endregion
-
-        /// <summary>Calculates the factorial of a given natural number.
-        /// </summary>
-        /// <param name="n">The number.</param>
-        /// <returns>n!</returns>
-        public static long Factorial(int n)
-        {
-            long result = 1;
-
-            for (; n > 1; n--)
-                result *= n;
-
-            return result;
-        }
-
-        /// <summary>
-        /// Calculates the binomial coefficient <paramref name="n"/> above <paramref name="k"/>.
-        /// </summary>
-        /// <param name="n">The n.</param>
-        /// <param name="k">The k.</param>
-        /// <returns>n! / (k! * (n - k)!)</returns>
-        public static long BinomialCoefficient(int n, int k)
-        {
-            return Factorial(n) / (Factorial(k) * Factorial(n - k));
-        }
-
-        /// <summary>
-        /// Returns an approximation of the inverse square root of left number.
-        /// </summary>
-        /// <param name="x">A number.</param>
-        /// <returns>An approximation of the inverse square root of the specified number, with an upper error bound of 0.001</returns>
-        /// <remarks>
-        /// This is an improved implementation of the the method known as Carmack's inverse square root
-        /// which is found in the Quake III source code. This implementation comes from
-        /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see
-        /// http://www.beyond3d.com/content/articles/8/
-        /// </remarks>
-        public static float InverseSqrtFast(float x)
-        {
-            unsafe
-            {
-                float xhalf = 0.5f * x;
-                int i = *(int*)&x;              // Read bits as integer.
-                i = 0x5f375a86 - (i >> 1);      // Make an initial guess for Newton-Raphson approximation
-                x = *(float*)&i;                // Convert bits back to float
-                x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step.
-                return x;
-            }
-        }
-
-        /// <summary>
-        /// Returns an approximation of the inverse square root of left number.
-        /// </summary>
-        /// <param name="x">A number.</param>
-        /// <returns>An approximation of the inverse square root of the specified number, with an upper error bound of 0.001</returns>
-        /// <remarks>
-        /// This is an improved implementation of the the method known as Carmack's inverse square root
-        /// which is found in the Quake III source code. This implementation comes from
-        /// http://www.codemaestro.com/reviews/review00000105.html. For the history of this method, see
-        /// http://www.beyond3d.com/content/articles/8/
-        /// </remarks>
-        public static double InverseSqrtFast(double x)
-        {
-            return InverseSqrtFast((float)x);
-            // TODO: The following code is wrong. Fix it, to improve precision.
-#if false
-            unsafe
-            {
-                double xhalf = 0.5f * x;
-                int i = *(int*)&x;              // Read bits as integer.
-                i = 0x5f375a86 - (i >> 1);      // Make an initial guess for Newton-Raphson approximation
-                x = *(float*)&i;                // Convert bits back to float
-                x = x * (1.5f - xhalf * x * x); // Perform left single Newton-Raphson step.
-                return x;
-            }
-#endif
-        }
-
-        /// <summary>
-        /// Convert degrees to radians
-        /// </summary>
-        /// <param name="degrees">An angle in degrees</param>
-        /// <returns>The angle expressed in radians</returns>
-        public static float DegreesToRadians(float degrees)
-        {
-            const float degToRad = (float)System.Math.PI / 180.0f;
-            return degrees * degToRad;
-        }
-
-        /// <summary>
-        /// Convert radians to degrees
-        /// </summary>
-        /// <param name="radians">An angle in radians</param>
-        /// <returns>The angle expressed in degrees</returns>
-        public static float RadiansToDegrees(float radians)
-        {
-            const float radToDeg = 180.0f / (float)System.Math.PI;
-            return radians * radToDeg;
-        }
-
-        public static readonly float PIF = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382f;
-        public static readonly float RTODF = 180.0f / PIF;
-        public static readonly float DTORF = PIF / 180.0f;
-
-        public static readonly double PI = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382d;
-        public static readonly double RTOD = 180.0d / PIF;
-        public static readonly double DTOR = PIF / 180.0d;
-
-        public static void Swap(ref double a, ref double b)
-        {
-            double temp = a;
-            a = b;
-            b = temp;
-        }
-        public static void Swap(ref float a, ref float b)
-        {
-            float temp = a;
-            a = b;
-            b = temp;
-        }
-    }
-
-#if false
-    public static partial class Math
-    {
-    #region --- Vectors ---
-
-    #region --- Addition ---
-
-        /// <summary>
-        /// Adds the given Vector2 to the current Vector3.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector3 containing the result of the addition.</returns>
-        public static Vector2 Add(Vector2 left, Vector2 right)
-        {
-            return new Vector2(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector3 to the current Vector3.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector3 containing the result of the addition.</returns>
-        public static Vector3 Add(Vector2 left, Vector3 right)
-        {
-            return new Vector3(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector4 containing the result of the addition.</returns>
-        public static Vector4 Add(Vector2 left, Vector4 right)
-        {
-            return new Vector4(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector2 to the current Vector3.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector3 containing the result of the addition.</returns>
-        public static Vector3 Add(Vector3 left, Vector2 right)
-        {
-            return new Vector3(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector3 to the current Vector3.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector3 containing the result of the addition.</returns>
-        public static Vector3 Add(Vector3 left, Vector3 right)
-        {
-            return new Vector3(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector4 containing the result of the addition.</returns>
-        public static Vector4 Add(Vector3 left, Vector4 right)
-        {
-            return new Vector4(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector2 to the current Vector3.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector3 containing the result of the addition.</returns>
-        public static Vector4 Add(Vector4 left, Vector2 right)
-        {
-            return new Vector4(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector3 to the current Vector3.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector3 containing the result of the addition.</returns>
-        public static Vector4 Add(Vector4 left, Vector3 right)
-        {
-            return new Vector4(left).Add(right);
-        }
-
-        /// <summary>
-        /// Adds the given Vector4 to the current Vector3. W-coordinate remains unaffected.
-        /// </summary>
-        /// <param name="right">The right operand of the addition.</param>
-        /// <returns>A new Vector4 containing the result of the addition.</returns>
-        public static Vector4 Add(Vector4 left, Vector4 right)
-        {
-            return new Vector4(left).Add(right);
-        }
-
-        #endregion
-
-    #region --- Subtraction ---
-
-
-
-        #endregion
-
-    #region --- Cross ---
-
-        /// <summary>
-        /// Computes the cross product between the current and the given Vector3. The current Vector3 is set to the result of the computation.
-        /// </summary>
-        /// <param name="right">The right operand of the cross product</param>
-        /// <returns>The current </returns>
-        public static Vector3 Cross(Vector3 left, Vector3 right)
-        {
-            return new Vector3(left).Cross(right);
-        }
-
-        #endregion
-
-        #endregion
-    }
-#endif
-}
diff --git a/Source/Compatibility/Math/Half.cs b/Source/Compatibility/Math/Half.cs
deleted file mode 100644 (file)
index a04a4b1..0000000
+++ /dev/null
@@ -1,589 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-/*
-The conversion functions are derived from OpenEXR's implementation and are
-governed by the following license:
-
-Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
-Digital Ltd. LLC
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-*       Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-*       Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-*       Neither the name of Industrial Light & Magic nor the names of
-its contributors may be used to endorse or promote products derived
-from this software without specific prior written permission. 
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#endregion --- License ---
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Runtime.Serialization;
-
-namespace OpenTK.Math
-{
-
-    /// <summary>
-    /// The name Half is derived from half-precision floating-point number.
-    /// It occupies only 16 bits, which are split into 1 Sign bit, 5 Exponent bits and 10 Mantissa bits.
-    /// </summary>
-    /// <remarks>
-    /// Quote from ARB_half_float_pixel specification:
-    /// Any representable 16-bit floating-point value is legal as input to a GL command that accepts 16-bit floating-point data.  The
-    /// result of providing a value that is not a floating-point number (such as infinity or NaN) to such a command is unspecified,
-    /// but must not lead to GL interruption or termination. Providing a denormalized number or negative zero to GL must yield
-    /// predictable results.
-    /// </remarks>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable, StructLayout(LayoutKind.Sequential)]
-    public struct Half : ISerializable, IComparable<Half>, IFormattable, IEquatable<Half>
-    {
-        #region Internal Field
-
-        UInt16 bits;
-
-        #endregion Internal Field
-
-        #region Properties
-
-        /// <summary>Returns true if the Half is zero.</summary>
-        public bool IsZero { get { return (bits == 0) || (bits == 0x8000); } }
-
-        /// <summary>Returns true if the Half represents Not A Number (NaN)</summary>
-        public bool IsNaN { get { return (((bits & 0x7C00) == 0x7C00) && (bits & 0x03FF) != 0x0000); } }
-
-        /// <summary>Returns true if the Half represents positive infinity.</summary>
-        public bool IsPositiveInfinity { get { return (bits == 31744); } }
-
-        /// <summary>Returns true if the Half represents negative infinity.</summary>
-        public bool IsNegativeInfinity { get { return (bits == 64512); } }
-
-        #endregion Properties
-
-        #region Constructors
-
-        /// <summary>
-        /// The new Half instance will convert the parameter into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="f">32-bit single-precision floating-point number.</param>
-        public Half(Single f)
-            : this()
-        {
-            unsafe
-            {
-                bits = SingleToHalf(*(int*)&f);
-            }
-        }
-
-        /// <summary>
-        /// The new Half instance will convert the parameter into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="f">32-bit single-precision floating-point number.</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Half(Single f, bool throwOnError)
-            : this(f)
-        {
-            if (throwOnError)
-            {
-                // handle cases that cause overflow rather than silently ignoring it
-                if (f > Half.MaxValue) throw new ArithmeticException("Half: Positive maximum value exceeded.");
-                if (f < -Half.MaxValue) throw new ArithmeticException("Half: Negative minimum value exceeded.");
-
-                // handle cases that make no sense
-                if (Single.IsNaN(f)) throw new ArithmeticException("Half: Input is not a number (NaN).");
-                if (Single.IsPositiveInfinity(f)) throw new ArithmeticException("Half: Input is positive infinity.");
-                if (Single.IsNegativeInfinity(f)) throw new ArithmeticException("Half: Input is negative infinity.");
-            }
-        }
-
-        /// <summary>
-        /// The new Half instance will convert the parameter into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="d">64-bit double-precision floating-point number.</param>
-        public Half(Double d) : this((Single)d) { }
-
-        /// <summary>
-        /// The new Half instance will convert the parameter into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="d">64-bit double-precision floating-point number.</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Half(Double d, bool throwOnError) : this((Single)d, throwOnError) { }
-
-        #endregion Constructors
-
-        #region Single -> Half
-
-        /// <summary>Ported from OpenEXR's IlmBase 1.0.1</summary>
-        private UInt16 SingleToHalf(Int32 si32)
-        {
-            // Our floating point number, F, is represented by the bit pattern in integer i.
-            // Disassemble that bit pattern into the sign, S, the exponent, E, and the significand, M.
-            // Shift S into the position where it will go in in the resulting half number.
-            // Adjust E, accounting for the different exponent bias of float and half (127 versus 15).
-
-            Int32 sign = (si32 >> 16) & 0x00008000;
-            Int32 exponent = ((si32 >> 23) & 0x000000ff) - (127 - 15);
-            Int32 mantissa = si32 & 0x007fffff;
-
-            // Now reassemble S, E and M into a half:
-
-            if (exponent <= 0)
-            {
-                if (exponent < -10)
-                {
-                    // E is less than -10. The absolute value of F is less than Half.MinValue
-                    // (F may be a small normalized float, a denormalized float or a zero).
-                    //
-                    // We convert F to a half zero with the same sign as F.
-
-                    return (UInt16)sign;
-                }
-
-                // E is between -10 and 0. F is a normalized float whose magnitude is less than Half.MinNormalizedValue.
-                //
-                // We convert F to a denormalized half.
-
-                // Add an explicit leading 1 to the significand.
-
-                mantissa = mantissa | 0x00800000;
-
-                // Round to M to the nearest (10+E)-bit value (with E between -10 and 0); in case of a tie, round to the nearest even value.
-                //
-                // Rounding may cause the significand to overflow and make our number normalized. Because of the way a half's bits
-                // are laid out, we don't have to treat this case separately; the code below will handle it correctly.
-
-                Int32 t = 14 - exponent;
-                Int32 a = (1 << (t - 1)) - 1;
-                Int32 b = (mantissa >> t) & 1;
-
-                mantissa = (mantissa + a + b) >> t;
-
-                // Assemble the half from S, E (==zero) and M.
-
-                return (UInt16)(sign | mantissa);
-            }
-            else if (exponent == 0xff - (127 - 15))
-            {
-                if (mantissa == 0)
-                {
-                    // F is an infinity; convert F to a half infinity with the same sign as F.
-
-                    return (UInt16)(sign | 0x7c00);
-                }
-                else
-                {
-                    // F is a NAN; we produce a half NAN that preserves the sign bit and the 10 leftmost bits of the
-                    // significand of F, with one exception: If the 10 leftmost bits are all zero, the NAN would turn 
-                    // into an infinity, so we have to set at least one bit in the significand.
-
-                    mantissa >>= 13;
-                    return (UInt16)(sign | 0x7c00 | mantissa | ((mantissa == 0) ? 1 : 0));
-                }
-            }
-            else
-            {
-                // E is greater than zero.  F is a normalized float. We try to convert F to a normalized half.
-
-                // Round to M to the nearest 10-bit value. In case of a tie, round to the nearest even value.
-
-                mantissa = mantissa + 0x00000fff + ((mantissa >> 13) & 1);
-
-                if ((mantissa & 0x00800000) == 1)
-                {
-                    mantissa = 0;        // overflow in significand,
-                    exponent += 1;        // adjust exponent
-                }
-
-                // exponent overflow
-                if (exponent > 30) throw new ArithmeticException("Half: Hardware floating-point overflow.");
-
-                // Assemble the half from S, E and M.
-
-                return (UInt16)(sign | (exponent << 10) | (mantissa >> 13));
-            }
-        }
-
-        #endregion Single -> Half
-
-        #region Half -> Single
-
-        /// <summary>Converts the 16-bit half to 32-bit floating-point.</summary>
-        /// <returns>A single-precision floating-point number.</returns>
-        public Single ToSingle()
-        {
-            int i = HalfToFloat(bits);
-
-            unsafe
-            {
-                return *(float*)&i;
-            }
-        }
-
-        /// <summary>Ported from OpenEXR's IlmBase 1.0.1</summary>
-        private Int32 HalfToFloat(UInt16 ui16)
-        {
-
-            Int32 sign = (ui16 >> 15) & 0x00000001;
-            Int32 exponent = (ui16 >> 10) & 0x0000001f;
-            Int32 mantissa = ui16 & 0x000003ff;
-
-            if (exponent == 0)
-            {
-                if (mantissa == 0)
-                {
-                    // Plus or minus zero
-
-                    return sign << 31;
-                }
-                else
-                {
-                    // Denormalized number -- renormalize it
-
-                    while ((mantissa & 0x00000400) == 0)
-                    {
-                        mantissa <<= 1;
-                        exponent -= 1;
-                    }
-
-                    exponent += 1;
-                    mantissa &= ~0x00000400;
-                }
-            }
-            else if (exponent == 31)
-            {
-                if (mantissa == 0)
-                {
-                    // Positive or negative infinity
-
-                    return (sign << 31) | 0x7f800000;
-                }
-                else
-                {
-                    // Nan -- preserve sign and significand bits
-
-                    return (sign << 31) | 0x7f800000 | (mantissa << 13);
-                }
-            }
-
-            // Normalized number
-
-            exponent = exponent + (127 - 15);
-            mantissa = mantissa << 13;
-
-            // Assemble S, E and M.
-
-            return (sign << 31) | (exponent << 23) | mantissa;
-        }
-
-        #endregion Half -> Single
-
-        #region Conversions
-
-        /// <summary>
-        /// Converts a System.Single to a OpenTK.Half.
-        /// </summary>
-        /// <param name="f">The value to convert.
-        /// A <see cref="System.Single"/>
-        /// </param>
-        /// <returns>The result of the conversion.
-        /// A <see cref="Half"/>
-        /// </returns>
-        public static explicit operator Half(float f)
-        {
-            return new Half(f);
-        }
-
-        /// <summary>
-        /// Converts a System.Double to a OpenTK.Half.
-        /// </summary>
-        /// <param name="d">The value to convert.
-        /// A <see cref="System.Double"/>
-        /// </param>
-        /// <returns>The result of the conversion.
-        /// A <see cref="Half"/>
-        /// </returns>
-        public static explicit operator Half(double d)
-        {
-            return new Half(d);
-        }
-
-        /// <summary>
-        /// Converts a OpenTK.Half to a System.Single.
-        /// </summary>
-        /// <param name="h">The value to convert.
-        /// A <see cref="Half"/>
-        /// </param>
-        /// <returns>The result of the conversion.
-        /// A <see cref="System.Single"/>
-        /// </returns>
-        public static implicit operator float(Half h)
-        {
-            return h.ToSingle();
-        }
-
-        /// <summary>
-        /// Converts a OpenTK.Half to a System.Double.
-        /// </summary>
-        /// <param name="h">The value to convert.
-        /// A <see cref="Half"/>
-        /// </param>
-        /// <returns>The result of the conversion.
-        /// A <see cref="System.Double"/>
-        /// </returns>
-        public static implicit operator double(Half h)
-        {
-            return (double)h.ToSingle();
-        }
-
-        #endregion Conversions
-
-        #region Constants
-
-        /// <summary>The size in bytes for an instance of the Half struct.</summary>
-        public static readonly Int32 SizeInBytes = 2;
-
-        /// <summary>Smallest positive half</summary>
-        public static readonly Single MinValue = 5.96046448e-08f;
-
-        /// <summary>Smallest positive normalized half</summary>
-        public static readonly Single MinNormalizedValue = 6.10351562e-05f;
-
-        /// <summary>Largest positive half</summary>
-        public static readonly Single MaxValue = 65504.0f;
-
-        /// <summary>Smallest positive e for which half (1.0 + e) != half (1.0)</summary>
-        public static readonly Single Epsilon = 0.00097656f;
-
-        #endregion Constants
-
-        #region ISerializable
-
-        /// <summary>Constructor used by ISerializable to deserialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public Half(SerializationInfo info, StreamingContext context)
-        {
-            this.bits = (ushort)info.GetValue("bits", typeof(ushort));
-        }
-
-        /// <summary>Used by ISerialize to serialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public void GetObjectData(SerializationInfo info, StreamingContext context)
-        {
-            info.AddValue("bits", this.bits);
-        }
-
-        #endregion ISerializable
-
-        #region Binary dump
-
-        /// <summary>Updates the Half by reading from a Stream.</summary>
-        /// <param name="bin">A BinaryReader instance associated with an open Stream.</param>
-        public void FromBinaryStream(BinaryReader bin)
-        {
-            this.bits = bin.ReadUInt16();
-
-        }
-
-        /// <summary>Writes the Half into a Stream.</summary>
-        /// <param name="bin">A BinaryWriter instance associated with an open Stream.</param>
-        public void ToBinaryStream(BinaryWriter bin)
-        {
-            bin.Write(this.bits);
-        }
-
-        #endregion Binary dump
-
-        #region IEquatable<Half> Members
-
-        const int maxUlps = 1;
-
-        /// <summary>
-        /// Returns a value indicating whether this instance is equal to a specified OpenTK.Half value.
-        /// </summary>
-        /// <param name="other">OpenTK.Half object to compare to this instance..</param>
-        /// <returns>True, if other is equal to this instance; false otherwise.</returns>
-        public bool Equals(Half other)
-        {
-            short aInt, bInt;
-            unchecked { aInt = (short)other.bits; }
-            unchecked { bInt = (short)this.bits; }
-
-            // Make aInt lexicographically ordered as a twos-complement int
-            if (aInt < 0)
-                aInt = (short)(0x8000 - aInt);
-
-            // Make bInt lexicographically ordered as a twos-complement int
-            if (bInt < 0)
-                bInt = (short)(0x8000 - bInt);
-
-            short intDiff = System.Math.Abs((short)(aInt - bInt));
-
-            if (intDiff <= maxUlps)
-                return true;
-
-            return false;
-        }
-
-        #endregion
-
-        #region IComparable<Half> Members
-
-        /// <summary>
-        /// Compares this instance to a specified half-precision floating-point number
-        /// and returns an integer that indicates whether the value of this instance
-        /// is less than, equal to, or greater than the value of the specified half-precision
-        /// floating-point number. 
-        /// </summary>
-        /// <param name="other">A half-precision floating-point number to compare.</param>
-        /// <returns>
-        /// A signed number indicating the relative values of this instance and value. If the number is:
-        /// <para>Less than zero, then this instance is less than other, or this instance is not a number
-        /// (OpenTK.Half.NaN) and other is a number.</para>
-        /// <para>Zero: this instance is equal to value, or both this instance and other
-        /// are not a number (OpenTK.Half.NaN), OpenTK.Half.PositiveInfinity, or
-        /// OpenTK.Half.NegativeInfinity.</para>
-        /// <para>Greater than zero: this instance is greater than othrs, or this instance is a number
-        /// and other is not a number (OpenTK.Half.NaN).</para>
-        /// </returns>
-        public int CompareTo(Half other)
-        {
-            return ((float)this).CompareTo((float)other);
-        }
-
-        #endregion IComparable<Half> Members
-
-        #region IFormattable Members
-
-        /// <summary>Converts this Half into a human-legible string representation.</summary>
-        /// <returns>The string representation of this instance.</returns>
-        public override string ToString()
-        {
-            return this.ToSingle().ToString();
-        }
-
-        /// <summary>Converts this Half into a human-legible string representation.</summary>
-        /// <param name="format">Formatting for the output string.</param>
-        /// <param name="formatProvider">Culture-specific formatting information.</param>
-        /// <returns>The string representation of this instance.</returns>
-        public string ToString(string format, IFormatProvider formatProvider)
-        {
-            return this.ToSingle().ToString(format, formatProvider);
-        }
-
-        #endregion IFormattable Members
-
-        #region String -> Half
-
-        /// <summary>Converts the string representation of a number to a half-precision floating-point equivalent.</summary>
-        /// <param name="s">String representation of the number to convert.</param>
-        /// <returns>A new Half instance.</returns>
-        public static Half Parse(string s)
-        {
-            return (Half)Single.Parse(s);
-        }
-
-        /// <summary>Converts the string representation of a number to a half-precision floating-point equivalent.</summary>
-        /// <param name="s">String representation of the number to convert.</param>
-        /// <param name="style">Specifies the format of s.</param>
-        /// <param name="provider">Culture-specific formatting information.</param>
-        /// <returns>A new Half instance.</returns>
-        public static Half Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider)
-        {
-            return (Half)Single.Parse(s, style, provider);
-        }
-
-        /// <summary>Converts the string representation of a number to a half-precision floating-point equivalent. Returns success.</summary>
-        /// <param name="s">String representation of the number to convert.</param>
-        /// <param name="result">The Half instance to write to.</param>
-        /// <returns>Success.</returns>
-        public static bool TryParse(string s, out Half result)
-        {
-            float f;
-            bool b = Single.TryParse(s, out f);
-            result = (Half)f;
-            return b;
-        }
-
-        /// <summary>Converts the string representation of a number to a half-precision floating-point equivalent. Returns success.</summary>
-        /// <param name="s">string representation of the number to convert.</param>
-        /// <param name="style">specifies the format of s.</param>
-        /// <param name="provider">Culture-specific formatting information.</param>
-        /// <param name="result">The Half instance to write to.</param>
-        /// <returns>Success.</returns>
-        public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out Half result)
-        {
-            float f;
-            bool b = Single.TryParse(s, style, provider, out f);
-            result = (Half)f;
-            return b;
-        }
-
-        #endregion String -> Half
-
-        #region BitConverter
-
-        /// <summary>Returns the Half as an array of bytes.</summary>
-        /// <param name="h">The Half to convert.</param>
-        /// <returns>The input as byte array.</returns>
-        public static byte[] GetBytes(Half h)
-        {
-            return BitConverter.GetBytes(h.bits);
-        }
-
-        /// <summary>Converts an array of bytes into Half.</summary>
-        /// <param name="value">A Half in it's byte[] representation.</param>
-        /// <param name="startIndex">The starting position within value.</param>
-        /// <returns>A new Half instance.</returns>
-        public static Half FromBytes(byte[] value, int startIndex)
-        {
-            Half h;
-            h.bits = BitConverter.ToUInt16(value, startIndex);
-            return h;
-        }
-
-        #endregion BitConverter
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Matrix3d.cs b/Source/Compatibility/Math/Matrix3d.cs
deleted file mode 100644 (file)
index e005a35..0000000
+++ /dev/null
@@ -1,829 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Math
-{
-    // Todo: Remove this warning when the code goes public.
-    #pragma warning disable 3019
-#if false
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Matrix3d : IEquatable<Matrix3d>
-    {
-        #region Fields & Access
-
-        /// <summary>Row 0, Column 0</summary>
-        public double R0C0;
-
-        /// <summary>Row 0, Column 1</summary>
-        public double R0C1;
-
-        /// <summary>Row 0, Column 2</summary>
-        public double R0C2;
-
-        /// <summary>Row 1, Column 0</summary>
-        public double R1C0;
-
-        /// <summary>Row 1, Column 1</summary>
-        public double R1C1;
-
-        /// <summary>Row 1, Column 2</summary>
-        public double R1C2;
-
-        /// <summary>Row 2, Column 0</summary>
-        public double R2C0;
-
-        /// <summary>Row 2, Column 1</summary>
-        public double R2C1;
-
-        /// <summary>Row 2, Column 2</summary>
-        public double R2C2;
-
-        /// <summary>Gets the component at the given row and column in the matrix.</summary>
-        /// <param name="row">The row of the matrix.</param>
-        /// <param name="column">The column of the matrix.</param>
-        /// <returns>The component at the given row and column in the matrix.</returns>
-        public double this[int row, int column]
-        {
-            get
-            {
-                switch( row )
-                {
-                    case 0:
-                        switch (column)
-                        {
-                            case 0: return R0C0;
-                            case 1: return R0C1;
-                            case 2: return R0C2;
-                        }
-                        break;
-
-                    case 1:
-                        switch (column)
-                        {
-                            case 0: return R1C0;
-                            case 1: return R1C1;
-                            case 2: return R1C2;
-                        }
-                        break;
-
-                    case 2:
-                        switch (column)
-                        {
-                            case 0: return R2C0;
-                            case 1: return R2C1;
-                            case 2: return R2C2;
-                        }
-                        break;
-                }
-
-                throw new IndexOutOfRangeException();
-            }
-            set
-            {
-                switch( row )
-                {
-                    case 0:
-                        switch (column)
-                        {
-                            case 0: R0C0 = value; return;
-                            case 1: R0C1 = value; return;
-                            case 2: R0C2 = value; return;
-                        }
-                        break;
-
-                    case 1:
-                        switch (column)
-                        {
-                            case 0: R1C0 = value; return;
-                            case 1: R1C1 = value; return;
-                            case 2: R1C2 = value; return;
-                        }
-                        break;
-
-                    case 2:
-                        switch (column)
-                        {
-                            case 0: R2C0 = value; return;
-                            case 1: R2C1 = value; return;
-                            case 2: R2C2 = value; return;
-                        }
-                        break;
-                }
-
-                throw new IndexOutOfRangeException();
-            }
-        }
-
-        /// <summary>Gets the component at the index into the matrix.</summary>
-        /// <param name="index">The index into the components of the matrix.</param>
-        /// <returns>The component at the given index into the matrix.</returns>
-        public double this[int index]
-        {
-            get
-            {
-                switch (index)
-                {
-                    case 0: return R0C0;
-                    case 1: return R0C1;
-                    case 2: return R0C2;
-                    case 3: return R1C0;
-                    case 4: return R1C1;
-                    case 5: return R1C2;
-                    case 6: return R2C0;
-                    case 7: return R2C1;
-                    case 8: return R2C2;
-                    default: throw new IndexOutOfRangeException();
-                }
-            }
-            set
-            {
-                switch (index)
-                {
-                    case 0: R0C0 = value; return;
-                    case 1: R0C1 = value; return;
-                    case 2: R0C2 = value; return;
-                    case 3: R1C0 = value; return;
-                    case 4: R1C1 = value; return;
-                    case 5: R1C2 = value; return;
-                    case 6: R2C0 = value; return;
-                    case 7: R2C1 = value; return;
-                    case 8: R2C2 = value; return;
-                    default: throw new IndexOutOfRangeException();
-                }
-            }
-        }
-
-        /// <summary>Converts the matrix into an IntPtr.</summary>
-        /// <param name="matrix">The matrix to convert.</param>
-        /// <returns>An IntPtr for the matrix.</returns>
-        public static explicit operator IntPtr(Matrix3d matrix)
-        {
-            unsafe
-            {
-                return (IntPtr)(&matrix.R0C0);
-            }
-        }
-
-        /// <summary>Converts the matrix into left double*.</summary>
-        /// <param name="matrix">The matrix to convert.</param>
-        /// <returns>A double* for the matrix.</returns>
-        [CLSCompliant(false)]
-        unsafe public static explicit operator double*(Matrix3d matrix)
-        {
-            return &matrix.R0C0;
-        }
-
-        /// <summary>Converts the matrix into an array of doubles.</summary>
-        /// <param name="matrix">The matrix to convert.</param>
-        /// <returns>An array of doubles for the matrix.</returns>
-        public static explicit operator double[](Matrix3d matrix)
-        {
-            return new double[9]
-            {
-                matrix.R0C0,
-                matrix.R0C1,
-                matrix.R0C2,
-                matrix.R1C0,
-                matrix.R1C1,
-                matrix.R1C2,
-                matrix.R2C0,
-                matrix.R2C1,
-                matrix.R2C2
-            };
-        }
-
-        #endregion
-
-    #region Constructors
-
-        /// <summary>Constructs left matrix with the same components as the given matrix.</summary>
-        /// <param name="vector">The matrix whose components to copy.</param>
-        public Matrix3d(ref Matrix3d matrix)
-        {
-            this.R0C0 = matrix.R0C0;
-            this.R0C1 = matrix.R0C1;
-            this.R0C2 = matrix.R0C2;
-            this.R1C0 = matrix.R1C0;
-            this.R1C1 = matrix.R1C1;
-            this.R1C2 = matrix.R1C2;
-            this.R2C0 = matrix.R2C0;
-            this.R2C1 = matrix.R2C1;
-            this.R2C2 = matrix.R2C2;
-        }
-
-        /// <summary>Constructs left matrix with the given values.</summary>
-        /// <param name="r0c0">The value for row 0 column 0.</param>
-        /// <param name="r0c1">The value for row 0 column 1.</param>
-        /// <param name="r0c2">The value for row 0 column 2.</param>
-        /// <param name="r1c0">The value for row 1 column 0.</param>
-        /// <param name="r1c1">The value for row 1 column 1.</param>
-        /// <param name="r1c2">The value for row 1 column 2.</param>
-        /// <param name="r2c0">The value for row 2 column 0.</param>
-        /// <param name="r2c1">The value for row 2 column 1.</param>
-        /// <param name="r2c2">The value for row 2 column 2.</param>
-        public Matrix3d
-        (
-            double r0c0,
-            double r0c1,
-            double r0c2,
-            double r1c0,
-            double r1c1,
-            double r1c2,
-            double r2c0,
-            double r2c1,
-            double r2c2
-        )
-        {
-            this.R0C0 = r0c0;
-            this.R0C1 = r0c1;
-            this.R0C2 = r0c2;
-            this.R1C0 = r1c0;
-            this.R1C1 = r1c1;
-            this.R1C2 = r1c2;
-            this.R2C0 = r2c0;
-            this.R2C1 = r2c1;
-            this.R2C2 = r2c2;
-        }
-
-        /// <summary>Constructs left matrix from the given array of double-precision floating-point numbers.</summary>
-        /// <param name="doubleArray">The array of doubles for the components of the matrix.</param>
-        public Matrix3d(double[] doubleArray)
-        {
-            if (doubleArray == null || doubleArray.GetLength(0) < 9) throw new MissingFieldException();
-
-            this.R0C0 = doubleArray[0];
-            this.R0C1 = doubleArray[1];
-            this.R0C2 = doubleArray[2];
-            this.R1C0 = doubleArray[3];
-            this.R1C1 = doubleArray[4];
-            this.R1C2 = doubleArray[5];
-            this.R2C0 = doubleArray[6];
-            this.R2C1 = doubleArray[7];
-            this.R2C2 = doubleArray[8];
-        }
-
-        /// <summary>Constructs left matrix from the given quaternion.</summary>
-        /// <param name="quaternion">The quaternion to use to construct the martix.</param>
-        public Matrix3d(Quaterniond quaternion)
-        {
-            quaternion.Normalize();
-
-            double xx = quaternion.X * quaternion.X;
-            double yy = quaternion.Y * quaternion.Y;
-            double zz = quaternion.Z * quaternion.Z;
-            double xy = quaternion.X * quaternion.Y;
-            double xz = quaternion.X * quaternion.Z;
-            double yz = quaternion.Y * quaternion.Z;
-            double wx = quaternion.W * quaternion.X;
-            double wy = quaternion.W * quaternion.Y;
-            double wz = quaternion.W * quaternion.Z;
-
-            R0C0 = 1 - 2 * (yy + zz);
-            R0C1 = 2 * (xy - wz);
-            R0C2 = 2 * (xz + wy);
-
-            R1C0 = 2 * (xy + wz);
-            R1C1 = 1 - 2 * (xx + zz);
-            R1C2 = 2 * (yz - wx);
-
-            R2C0 = 2 * (xz - wy);
-            R2C1 = 2 * (yz + wx);
-            R2C2 = 1 - 2 * (xx + yy);
-        }
-
-        #endregion
-
-    #region Equality
-
-        /// <summary>Indicates whether the current matrix is equal to another matrix.</summary>
-        /// <param name="matrix">The OpenTK.Matrix3d structure to compare with.</param>
-        /// <returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
-        [CLSCompliant(false)]
-        public bool Equals(Matrix3d matrix)
-        {
-            return
-                R0C0 == matrix.R0C0 &&
-                R0C1 == matrix.R0C1 &&
-                R0C2 == matrix.R0C2 &&
-                R1C0 == matrix.R1C0 &&
-                R1C1 == matrix.R1C1 &&
-                R1C2 == matrix.R1C2 &&
-                R2C0 == matrix.R2C0 &&
-                R2C1 == matrix.R2C1 &&
-                R2C2 == matrix.R2C2;
-        }
-
-        /// <summary>Indicates whether the current matrix is equal to another matrix.</summary>
-        /// <param name="matrix">The OpenTK.Matrix3d structure to compare to.</param>
-        /// <returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
-        public bool Equals(ref Matrix3d matrix)
-        {
-            return
-                R0C0 == matrix.R0C0 &&
-                R0C1 == matrix.R0C1 &&
-                R0C2 == matrix.R0C2 &&
-                R1C0 == matrix.R1C0 &&
-                R1C1 == matrix.R1C1 &&
-                R1C2 == matrix.R1C2 &&
-                R2C0 == matrix.R2C0 &&
-                R2C1 == matrix.R2C1 &&
-                R2C2 == matrix.R2C2;
-        }
-
-        /// <summary>Indicates whether the current matrix is equal to another matrix.</summary>
-        /// <param name="left">The left-hand operand.</param>
-        /// <param name="right">The right-hand operand.</param>
-        /// <returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
-        public static bool Equals(ref Matrix3d left, ref Matrix3d right)
-        {
-            return
-                left.R0C0 == right.R0C0 &&
-                left.R0C1 == right.R0C1 &&
-                left.R0C2 == right.R0C2 &&
-                left.R1C0 == right.R1C0 &&
-                left.R1C1 == right.R1C1 &&
-                left.R1C2 == right.R1C2 &&
-                left.R2C0 == right.R2C0 &&
-                left.R2C1 == right.R2C1 &&
-                left.R2C2 == right.R2C2;
-        }
-
-        /// <summary>Indicates whether the current matrix is approximately equal to another matrix.</summary>
-        /// <param name="matrix">The OpenTK.Matrix3d structure to compare with.</param>
-        /// <param name="tolerance">The limit below which the matrices are considered equal.</param>
-        /// <returns>true if the current matrix is approximately equal to the matrix parameter; otherwise, false.</returns>
-        public bool EqualsApprox(ref Matrix3d matrix, double tolerance)
-        {
-            return
-                System.Math.Abs(R0C0 - matrix.R0C0) <= tolerance &&
-                System.Math.Abs(R0C1 - matrix.R0C1) <= tolerance &&
-                System.Math.Abs(R0C2 - matrix.R0C2) <= tolerance &&
-                System.Math.Abs(R1C0 - matrix.R1C0) <= tolerance &&
-                System.Math.Abs(R1C1 - matrix.R1C1) <= tolerance &&
-                System.Math.Abs(R1C2 - matrix.R1C2) <= tolerance &&
-                System.Math.Abs(R2C0 - matrix.R2C0) <= tolerance &&
-                System.Math.Abs(R2C1 - matrix.R2C1) <= tolerance &&
-                System.Math.Abs(R2C2 - matrix.R2C2) <= tolerance;
-        }
-
-        /// <summary>Indicates whether the current matrix is approximately equal to another matrix.</summary>
-        /// <param name="left">The left-hand operand.</param>
-        /// <param name="right">The right-hand operand.</param>
-        /// <param name="tolerance">The limit below which the matrices are considered equal.</param>
-        /// <returns>true if the current matrix is approximately equal to the matrix parameter; otherwise, false.</returns>
-        public static bool EqualsApprox(ref Matrix3d left, ref Matrix3d right, double tolerance)
-        {
-            return
-                System.Math.Abs(left.R0C0 - right.R0C0) <= tolerance &&
-                System.Math.Abs(left.R0C1 - right.R0C1) <= tolerance &&
-                System.Math.Abs(left.R0C2 - right.R0C2) <= tolerance &&
-                System.Math.Abs(left.R1C0 - right.R1C0) <= tolerance &&
-                System.Math.Abs(left.R1C1 - right.R1C1) <= tolerance &&
-                System.Math.Abs(left.R1C2 - right.R1C2) <= tolerance &&
-                System.Math.Abs(left.R2C0 - right.R2C0) <= tolerance &&
-                System.Math.Abs(left.R2C1 - right.R2C1) <= tolerance &&
-                System.Math.Abs(left.R2C2 - right.R2C2) <= tolerance;
-        }
-
-        #endregion
-
-    #region Arithmetic Operators
-
-
-        /// <summary>Add left matrix to this matrix.</summary>
-        /// <param name="matrix">The matrix to add.</param>
-        public void Add(ref Matrix3d matrix)
-        {
-            R0C0 = R0C0 + matrix.R0C0;
-            R0C1 = R0C1 + matrix.R0C1;
-            R0C2 = R0C2 + matrix.R0C2;
-            R1C0 = R1C0 + matrix.R1C0;
-            R1C1 = R1C1 + matrix.R1C1;
-            R1C2 = R1C2 + matrix.R1C2;
-            R2C0 = R2C0 + matrix.R2C0;
-            R2C1 = R2C1 + matrix.R2C1;
-            R2C2 = R2C2 + matrix.R2C2;
-        }
-
-        /// <summary>Add left matrix to this matrix.</summary>
-        /// <param name="matrix">The matrix to add.</param>
-        /// <param name="result">The resulting matrix of the addition.</param>
-        public void Add(ref Matrix3d matrix, out Matrix3d result)
-        {
-            result.R0C0 = R0C0 + matrix.R0C0;
-            result.R0C1 = R0C1 + matrix.R0C1;
-            result.R0C2 = R0C2 + matrix.R0C2;
-            result.R1C0 = R1C0 + matrix.R1C0;
-            result.R1C1 = R1C1 + matrix.R1C1;
-            result.R1C2 = R1C2 + matrix.R1C2;
-            result.R2C0 = R2C0 + matrix.R2C0;
-            result.R2C1 = R2C1 + matrix.R2C1;
-            result.R2C2 = R2C2 + matrix.R2C2;
-        }
-
-        /// <summary>Add left matrix to left matrix.</summary>
-        /// <param name="matrix">The matrix on the matrix side of the equation.</param>
-        /// <param name="right">The matrix on the right side of the equation</param>
-        /// <param name="result">The resulting matrix of the addition.</param>
-        public static void Add(ref Matrix3d left, ref Matrix3d right, out Matrix3d result)
-        {
-            result.R0C0 = left.R0C0 + right.R0C0;
-            result.R0C1 = left.R0C1 + right.R0C1;
-            result.R0C2 = left.R0C2 + right.R0C2;
-            result.R1C0 = left.R1C0 + right.R1C0;
-            result.R1C1 = left.R1C1 + right.R1C1;
-            result.R1C2 = left.R1C2 + right.R1C2;
-            result.R2C0 = left.R2C0 + right.R2C0;
-            result.R2C1 = left.R2C1 + right.R2C1;
-            result.R2C2 = left.R2C2 + right.R2C2;
-        }
-
-
-        /// <summary>Subtract left matrix from this matrix.</summary>
-        /// <param name="matrix">The matrix to subtract.</param>
-        public void Subtract(ref Matrix3d matrix)
-        {
-            R0C0 = R0C0 + matrix.R0C0;
-            R0C1 = R0C1 + matrix.R0C1;
-            R0C2 = R0C2 + matrix.R0C2;
-            R1C0 = R1C0 + matrix.R1C0;
-            R1C1 = R1C1 + matrix.R1C1;
-            R1C2 = R1C2 + matrix.R1C2;
-            R2C0 = R2C0 + matrix.R2C0;
-            R2C1 = R2C1 + matrix.R2C1;
-            R2C2 = R2C2 + matrix.R2C2;
-        }
-
-        /// <summary>Subtract left matrix from this matrix.</summary>
-        /// <param name="matrix">The matrix to subtract.</param>
-        /// <param name="result">The resulting matrix of the subtraction.</param>
-        public void Subtract(ref Matrix3d matrix, out Matrix3d result)
-        {
-            result.R0C0 = R0C0 + matrix.R0C0;
-            result.R0C1 = R0C1 + matrix.R0C1;
-            result.R0C2 = R0C2 + matrix.R0C2;
-            result.R1C0 = R1C0 + matrix.R1C0;
-            result.R1C1 = R1C1 + matrix.R1C1;
-            result.R1C2 = R1C2 + matrix.R1C2;
-            result.R2C0 = R2C0 + matrix.R2C0;
-            result.R2C1 = R2C1 + matrix.R2C1;
-            result.R2C2 = R2C2 + matrix.R2C2;
-        }
-
-        /// <summary>Subtract left matrix from left matrix.</summary>
-        /// <param name="matrix">The matrix on the matrix side of the equation.</param>
-        /// <param name="right">The matrix on the right side of the equation</param>
-        /// <param name="result">The resulting matrix of the subtraction.</param>
-        public static void Subtract(ref Matrix3d left, ref Matrix3d right, out Matrix3d result)
-        {
-            result.R0C0 = left.R0C0 + right.R0C0;
-            result.R0C1 = left.R0C1 + right.R0C1;
-            result.R0C2 = left.R0C2 + right.R0C2;
-            result.R1C0 = left.R1C0 + right.R1C0;
-            result.R1C1 = left.R1C1 + right.R1C1;
-            result.R1C2 = left.R1C2 + right.R1C2;
-            result.R2C0 = left.R2C0 + right.R2C0;
-            result.R2C1 = left.R2C1 + right.R2C1;
-            result.R2C2 = left.R2C2 + right.R2C2;
-        }
-
-
-        /// <summary>Multiply left martix times this matrix.</summary>
-        /// <param name="matrix">The matrix to multiply.</param>
-        public void Multiply(ref Matrix3d matrix)
-        {
-            double r0c0 = matrix.R0C0 * R0C0 + matrix.R0C1 * R1C0 + matrix.R0C2 * R2C0;
-            double r0c1 = matrix.R0C0 * R0C1 + matrix.R0C1 * R1C1 + matrix.R0C2 * R2C1;
-            double r0c2 = matrix.R0C0 * R0C2 + matrix.R0C1 * R1C2 + matrix.R0C2 * R2C2;
-
-            double r1c0 = matrix.R1C0 * R0C0 + matrix.R1C1 * R1C0 + matrix.R1C2 * R2C0;
-            double r1c1 = matrix.R1C0 * R0C1 + matrix.R1C1 * R1C1 + matrix.R1C2 * R2C1;
-            double r1c2 = matrix.R1C0 * R0C2 + matrix.R1C1 * R1C2 + matrix.R1C2 * R2C2;
-
-            R2C0 = matrix.R2C0 * R0C0 + matrix.R2C1 * R1C0 + matrix.R2C2 * R2C0;
-            R2C1 = matrix.R2C0 * R0C1 + matrix.R2C1 * R1C1 + matrix.R2C2 * R2C1;
-            R2C2 = matrix.R2C0 * R0C2 + matrix.R2C1 * R1C2 + matrix.R2C2 * R2C2;
-
-
-            R0C0 = r0c0;
-            R0C1 = r0c1;
-            R0C2 = r0c2;
-
-            R1C0 = r1c0;
-            R1C1 = r1c1;
-            R1C2 = r1c2;
-        }
-
-        /// <summary>Multiply matrix times this matrix.</summary>
-        /// <param name="matrix">The matrix to multiply.</param>
-        /// <param name="result">The resulting matrix of the multiplication.</param>
-        public void Multiply(ref Matrix3d matrix, out Matrix3d result)
-        {
-            result.R0C0 = matrix.R0C0 * R0C0 + matrix.R0C1 * R1C0 + matrix.R0C2 * R2C0;
-            result.R0C1 = matrix.R0C0 * R0C1 + matrix.R0C1 * R1C1 + matrix.R0C2 * R2C1;
-            result.R0C2 = matrix.R0C0 * R0C2 + matrix.R0C1 * R1C2 + matrix.R0C2 * R2C2;
-            result.R1C0 = matrix.R1C0 * R0C0 + matrix.R1C1 * R1C0 + matrix.R1C2 * R2C0;
-            result.R1C1 = matrix.R1C0 * R0C1 + matrix.R1C1 * R1C1 + matrix.R1C2 * R2C1;
-            result.R1C2 = matrix.R1C0 * R0C2 + matrix.R1C1 * R1C2 + matrix.R1C2 * R2C2;
-            result.R2C0 = matrix.R2C0 * R0C0 + matrix.R2C1 * R1C0 + matrix.R2C2 * R2C0;
-            result.R2C1 = matrix.R2C0 * R0C1 + matrix.R2C1 * R1C1 + matrix.R2C2 * R2C1;
-            result.R2C2 = matrix.R2C0 * R0C2 + matrix.R2C1 * R1C2 + matrix.R2C2 * R2C2;
-        }
-
-        /// <summary>Multiply left matrix times left matrix.</summary>
-        /// <param name="matrix">The matrix on the matrix side of the equation.</param>
-        /// <param name="right">The matrix on the right side of the equation</param>
-        /// <param name="result">The resulting matrix of the multiplication.</param>
-        public static void Multiply(ref Matrix3d left, ref Matrix3d right, out Matrix3d result)
-        {
-            result.R0C0 = right.R0C0 * left.R0C0 + right.R0C1 * left.R1C0 + right.R0C2 * left.R2C0;
-            result.R0C1 = right.R0C0 * left.R0C1 + right.R0C1 * left.R1C1 + right.R0C2 * left.R2C1;
-            result.R0C2 = right.R0C0 * left.R0C2 + right.R0C1 * left.R1C2 + right.R0C2 * left.R2C2;
-            result.R1C0 = right.R1C0 * left.R0C0 + right.R1C1 * left.R1C0 + right.R1C2 * left.R2C0;
-            result.R1C1 = right.R1C0 * left.R0C1 + right.R1C1 * left.R1C1 + right.R1C2 * left.R2C1;
-            result.R1C2 = right.R1C0 * left.R0C2 + right.R1C1 * left.R1C2 + right.R1C2 * left.R2C2;
-            result.R2C0 = right.R2C0 * left.R0C0 + right.R2C1 * left.R1C0 + right.R2C2 * left.R2C0;
-            result.R2C1 = right.R2C0 * left.R0C1 + right.R2C1 * left.R1C1 + right.R2C2 * left.R2C1;
-            result.R2C2 = right.R2C0 * left.R0C2 + right.R2C1 * left.R1C2 + right.R2C2 * left.R2C2;
-        }
-
-
-        /// <summary>Multiply matrix times this matrix.</summary>
-        /// <param name="matrix">The matrix to multiply.</param>
-        public void Multiply(double scalar)
-        {
-            R0C0 = scalar * R0C0;
-            R0C1 = scalar * R0C1;
-            R0C2 = scalar * R0C2;
-            R1C0 = scalar * R1C0;
-            R1C1 = scalar * R1C1;
-            R1C2 = scalar * R1C2;
-            R2C0 = scalar * R2C0;
-            R2C1 = scalar * R2C1;
-            R2C2 = scalar * R2C2;
-        }
-
-        /// <summary>Multiply matrix times this matrix.</summary>
-        /// <param name="matrix">The matrix to multiply.</param>
-        /// <param name="result">The resulting matrix of the multiplication.</param>
-        public void Multiply(double scalar, out Matrix3d result)
-        {
-            result.R0C0 = scalar * R0C0;
-            result.R0C1 = scalar * R0C1;
-            result.R0C2 = scalar * R0C2;
-            result.R1C0 = scalar * R1C0;
-            result.R1C1 = scalar * R1C1;
-            result.R1C2 = scalar * R1C2;
-            result.R2C0 = scalar * R2C0;
-            result.R2C1 = scalar * R2C1;
-            result.R2C2 = scalar * R2C2;
-        }
-
-        /// <summary>Multiply left matrix times left matrix.</summary>
-        /// <param name="matrix">The matrix on the matrix side of the equation.</param>
-        /// <param name="right">The matrix on the right side of the equation</param>
-        /// <param name="result">The resulting matrix of the multiplication.</param>
-        public static void Multiply(ref Matrix3d matrix, double scalar, out Matrix3d result)
-        {
-            result.R0C0 = scalar * matrix.R0C0;
-            result.R0C1 = scalar * matrix.R0C1;
-            result.R0C2 = scalar * matrix.R0C2;
-            result.R1C0 = scalar * matrix.R1C0;
-            result.R1C1 = scalar * matrix.R1C1;
-            result.R1C2 = scalar * matrix.R1C2;
-            result.R2C0 = scalar * matrix.R2C0;
-            result.R2C1 = scalar * matrix.R2C1;
-            result.R2C2 = scalar * matrix.R2C2;
-        }
-
-
-        #endregion
-
-    #region Functions
-
-        public double Determinant
-        {
-            get
-            {
-                return R0C0 * R1C1 * R2C2 - R0C0 * R1C2 * R2C1 - R0C1 * R1C0 * R2C2 + R0C2 * R1C0 * R2C1 + R0C1 * R1C2 * R2C0 - R0C2 * R1C1 * R2C0;
-            }
-        }
-
-        public void Transpose()
-        {
-            Functions.Swap(ref R0C1, ref R1C0);
-            Functions.Swap(ref R0C2, ref R2C0);
-            Functions.Swap(ref R1C2, ref R2C1);
-        }
-        public void Transpose(out Matrix3d result)
-        {
-            result.R0C0 = R0C0;
-            result.R0C1 = R1C0;
-            result.R0C2 = R2C0;
-            result.R1C0 = R0C1;
-            result.R1C1 = R1C1;
-            result.R1C2 = R2C1;
-            result.R2C0 = R0C2;
-            result.R2C1 = R1C2;
-            result.R2C2 = R2C2;
-        }
-        public static void Transpose(ref Matrix3d matrix, out Matrix3d result)
-        {
-            result.R0C0 = matrix.R0C0;
-            result.R0C1 = matrix.R1C0;
-            result.R0C2 = matrix.R2C0;
-            result.R1C0 = matrix.R0C1;
-            result.R1C1 = matrix.R1C1;
-            result.R1C2 = matrix.R2C1;
-            result.R2C0 = matrix.R0C2;
-            result.R2C1 = matrix.R1C2;
-            result.R2C2 = matrix.R2C2;
-        }
-
-        #endregion
-
-    #region Transformation Functions
-
-        public void Transform(ref Vector3d vector)
-        {
-            double x = R0C0 * vector.X + R0C1 * vector.Y + R0C2 * vector.Z;
-            double y = R1C0 * vector.X + R1C1 * vector.Y + R1C2 * vector.Z;
-            vector.Z = R2C0 * vector.X + R2C1 * vector.Y + R2C2 * vector.Z;
-            vector.X = x;
-            vector.Y = y;
-        }
-        public static void Transform(ref Matrix3d matrix, ref Vector3d vector)
-        {
-            double x = matrix.R0C0 * vector.X + matrix.R0C1 * vector.Y + matrix.R0C2 * vector.Z;
-            double y = matrix.R1C0 * vector.X + matrix.R1C1 * vector.Y + matrix.R1C2 * vector.Z;
-            vector.Z = matrix.R2C0 * vector.X + matrix.R2C1 * vector.Y + matrix.R2C2 * vector.Z;
-            vector.X = x;
-            vector.Y = y;
-        }
-        public void Transform(ref Vector3d vector, out Vector3d result)
-        {
-            result.X = R0C0 * vector.X + R0C1 * vector.Y + R0C2 * vector.Z;
-            result.Y = R1C0 * vector.X + R1C1 * vector.Y + R1C2 * vector.Z;
-            result.Z = R2C0 * vector.X + R2C1 * vector.Y + R2C2 * vector.Z;
-        }
-        public static void Transform(ref Matrix3d matrix, ref Vector3d vector, out Vector3d result)
-        {
-            result.X = matrix.R0C0 * vector.X + matrix.R0C1 * vector.Y + matrix.R0C2 * vector.Z;
-            result.Y = matrix.R1C0 * vector.X + matrix.R1C1 * vector.Y + matrix.R1C2 * vector.Z;
-            result.Z = matrix.R2C0 * vector.X + matrix.R2C1 * vector.Y + matrix.R2C2 * vector.Z;
-        }
-
-        public void Rotate(double angle)
-        {
-            double angleRadians = Functions.DTOR * angle;
-            double sin = (double)System.Math.Sin(angleRadians);
-            double cos = (double)System.Math.Cos(angleRadians);
-
-            double r0c0 = cos * R0C0 + sin * R1C0;
-            double r0c1 = cos * R0C1 + sin * R1C1;
-            double r0c2 = cos * R0C2 + sin * R1C2;
-
-            R1C0 = cos * R1C0 - sin * R0C0;
-            R1C1 = cos * R1C1 - sin * R0C1;
-            R1C2 = cos * R1C2 - sin * R0C2;
-
-            R0C0 = r0c0;
-            R0C1 = r0c1;
-            R0C2 = r0c2;
-        }
-        public void Rotate(double angle, out Matrix3d result)
-        {
-            double angleRadians = Functions.DTOR * angle;
-            double sin = (double)System.Math.Sin(angleRadians);
-            double cos = (double)System.Math.Cos(angleRadians);
-
-            result.R0C0 = cos * R0C0 + sin * R1C0;
-            result.R0C1 = cos * R0C1 + sin * R1C1;
-            result.R0C2 = cos * R0C2 + sin * R1C2;
-            result.R1C0 = cos * R1C0 - sin * R0C0;
-            result.R1C1 = cos * R1C1 - sin * R0C1;
-            result.R1C2 = cos * R1C2 - sin * R0C2;
-            result.R2C0 = R2C0;
-            result.R2C1 = R2C1;
-            result.R2C2 = R2C2;
-        }
-        public static void Rotate(ref Matrix3d matrix, double angle, out Matrix3d result)
-        {
-            double angleRadians = Functions.DTOR * angle;
-            double sin = (double)System.Math.Sin(angleRadians);
-            double cos = (double)System.Math.Cos(angleRadians);
-
-            result.R0C0 = cos * matrix.R0C0 + sin * matrix.R1C0;
-            result.R0C1 = cos * matrix.R0C1 + sin * matrix.R1C1;
-            result.R0C2 = cos * matrix.R0C2 + sin * matrix.R1C2;
-            result.R1C0 = cos * matrix.R1C0 - sin * matrix.R0C0;
-            result.R1C1 = cos * matrix.R1C1 - sin * matrix.R0C1;
-            result.R1C2 = cos * matrix.R1C2 - sin * matrix.R0C2;
-            result.R2C0 = matrix.R2C0;
-            result.R2C1 = matrix.R2C1;
-            result.R2C2 = matrix.R2C2;
-        }
-        public static void RotateMatrix(double angle, out Matrix3d result)
-        {
-            double angleRadians = Functions.DTOR * angle;
-            double sin = (double)System.Math.Sin(angleRadians);
-            double cos = (double)System.Math.Cos(angleRadians);
-
-            result.R0C0 = cos;
-            result.R0C1 = sin;
-            result.R0C2 = 0;
-            result.R1C0 = -sin;
-            result.R1C1 = cos;
-            result.R1C2 = 0;
-            result.R2C0 = 0;
-            result.R2C1 = 0;
-            result.R2C2 = 1;
-        }
-
-        public Quaterniond ToQuaternion()
-        {
-            //return new Quaterniond(ref this);
-        }
-
-        #endregion
-
-    #region Constants
-
-        /// <summary>The identity matrix.</summary>
-        public static readonly Matrix3d Identity = new Matrix3d
-        (
-            1, 0, 0,
-            0, 1, 0,
-            0, 0, 1
-        );
-
-        /// <summary>A matrix of all zeros.</summary>
-        public static readonly Matrix3d Zero = new Matrix3d
-        (
-            0, 0, 0,
-            0, 0, 0,
-            0, 0, 0
-        );
-
-        #endregion
-
-    #region HashCode
-
-        /// <summary>Returns the hash code for this instance.</summary>
-        /// <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return
-                R0C0.GetHashCode() ^ R0C1.GetHashCode() ^ R0C2.GetHashCode() ^
-                R1C0.GetHashCode() ^ R1C1.GetHashCode() ^ R1C2.GetHashCode() ^
-                R2C0.GetHashCode() ^ R2C1.GetHashCode() ^ R2C2.GetHashCode();
-        }
-
-        #endregion
-
-    #region String
-
-        /// <summary>Returns the fully qualified type name of this instance.</summary>
-        /// <returns>A System.String containing left fully qualified type name.</returns>
-        public override string ToString()
-        {
-            return String.Format(
-                "|{00}, {01}, {02}|\n" +
-                "|{03}, {04}, {05}|\n" +
-                "|{06}, {07}, {18}|\n" +
-                R0C0, R0C1, R0C2,
-                R1C0, R1C1, R1C2,
-                R2C0, R2C1, R2C2);
-        }
-
-        #endregion
-    }
-#endif
-#pragma warning restore 3019
-}
diff --git a/Source/Compatibility/Math/Matrix4.cs b/Source/Compatibility/Math/Matrix4.cs
deleted file mode 100644 (file)
index b15e37f..0000000
+++ /dev/null
@@ -1,1121 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a 4x4 Matrix
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Matrix4 : IEquatable<Matrix4>
-    {
-        #region Fields
-
-        /// <summary>
-        /// Top row of the matrix
-        /// </summary>
-        public Vector4 Row0;
-        /// <summary>
-        /// 2nd row of the matrix
-        /// </summary>
-        public Vector4 Row1;
-        /// <summary>
-        /// 3rd row of the matrix
-        /// </summary>
-        public Vector4 Row2;
-        /// <summary>
-        /// Bottom row of the matrix
-        /// </summary>
-        public Vector4 Row3;
-        /// <summary>
-        /// The identity matrix
-        /// </summary>
-        public static Matrix4 Identity = new Matrix4(Vector4.UnitX, Vector4.UnitY, Vector4.UnitZ, Vector4.UnitW);
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new instance.
-        /// </summary>
-        /// <param name="row0">Top row of the matrix</param>
-        /// <param name="row1">Second row of the matrix</param>
-        /// <param name="row2">Third row of the matrix</param>
-        /// <param name="row3">Bottom row of the matrix</param>
-        public Matrix4(Vector4 row0, Vector4 row1, Vector4 row2, Vector4 row3)
-        {
-            Row0 = row0;
-            Row1 = row1;
-            Row2 = row2;
-            Row3 = row3;
-        }
-
-        /// <summary>
-        /// Constructs a new instance.
-        /// </summary>
-        /// <param name="m00">First item of the first row of the matrix.</param>
-        /// <param name="m01">Second item of the first row of the matrix.</param>
-        /// <param name="m02">Third item of the first row of the matrix.</param>
-        /// <param name="m03">Fourth item of the first row of the matrix.</param>
-        /// <param name="m10">First item of the second row of the matrix.</param>
-        /// <param name="m11">Second item of the second row of the matrix.</param>
-        /// <param name="m12">Third item of the second row of the matrix.</param>
-        /// <param name="m13">Fourth item of the second row of the matrix.</param>
-        /// <param name="m20">First item of the third row of the matrix.</param>
-        /// <param name="m21">Second item of the third row of the matrix.</param>
-        /// <param name="m22">Third item of the third row of the matrix.</param>
-        /// <param name="m23">First item of the third row of the matrix.</param>
-        /// <param name="m30">Fourth item of the fourth row of the matrix.</param>
-        /// <param name="m31">Second item of the fourth row of the matrix.</param>
-        /// <param name="m32">Third item of the fourth row of the matrix.</param>
-        /// <param name="m33">Fourth item of the fourth row of the matrix.</param>
-        public Matrix4(
-            float m00, float m01, float m02, float m03,
-            float m10, float m11, float m12, float m13,
-            float m20, float m21, float m22, float m23,
-            float m30, float m31, float m32, float m33)
-        {
-            Row0 = new Vector4(m00, m01, m02, m03);
-            Row1 = new Vector4(m10, m11, m12, m13);
-            Row2 = new Vector4(m20, m21, m22, m23);
-            Row3 = new Vector4(m30, m31, m32, m33);
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Properties
-
-        /// <summary>
-        /// The determinant of this matrix
-        /// </summary>
-        public float Determinant
-        {
-            get
-            {
-                return
-                    Row0.X * Row1.Y * Row2.Z * Row3.W - Row0.X * Row1.Y * Row2.W * Row3.Z + Row0.X * Row1.Z * Row2.W * Row3.Y - Row0.X * Row1.Z * Row2.Y * Row3.W
-                  + Row0.X * Row1.W * Row2.Y * Row3.Z - Row0.X * Row1.W * Row2.Z * Row3.Y - Row0.Y * Row1.Z * Row2.W * Row3.X + Row0.Y * Row1.Z * Row2.X * Row3.W
-                  - Row0.Y * Row1.W * Row2.X * Row3.Z + Row0.Y * Row1.W * Row2.Z * Row3.X - Row0.Y * Row1.X * Row2.Z * Row3.W + Row0.Y * Row1.X * Row2.W * Row3.Z
-                  + Row0.Z * Row1.W * Row2.X * Row3.Y - Row0.Z * Row1.W * Row2.Y * Row3.X + Row0.Z * Row1.X * Row2.Y * Row3.W - Row0.Z * Row1.X * Row2.W * Row3.Y
-                  + Row0.Z * Row1.Y * Row2.W * Row3.X - Row0.Z * Row1.Y * Row2.X * Row3.W - Row0.W * Row1.X * Row2.Y * Row3.Z + Row0.W * Row1.X * Row2.Z * Row3.Y
-                  - Row0.W * Row1.Y * Row2.Z * Row3.X + Row0.W * Row1.Y * Row2.X * Row3.Z - Row0.W * Row1.Z * Row2.X * Row3.Y + Row0.W * Row1.Z * Row2.Y * Row3.X;
-            }
-        }
-
-        /// <summary>
-        /// The first column of this matrix
-        /// </summary>
-        public Vector4 Column0
-        {
-            get { return new Vector4(Row0.X, Row1.X, Row2.X, Row3.X); }
-        }
-
-        /// <summary>
-        /// The second column of this matrix
-        /// </summary>
-        public Vector4 Column1
-        {
-            get { return new Vector4(Row0.Y, Row1.Y, Row2.Y, Row3.Y); }
-        }
-
-        /// <summary>
-        /// The third column of this matrix
-        /// </summary>
-        public Vector4 Column2
-        {
-            get { return new Vector4(Row0.Z, Row1.Z, Row2.Z, Row3.Z); }
-        }
-
-        /// <summary>
-        /// The fourth column of this matrix
-        /// </summary>
-        public Vector4 Column3
-        {
-            get { return new Vector4(Row0.W, Row1.W, Row2.W, Row3.W); }
-        }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 1 of this instance.
-        /// </summary>
-        public float M11 { get { return Row0.X; } set { Row0.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 2 of this instance.
-        /// </summary>
-        public float M12 { get { return Row0.Y; } set { Row0.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 3 of this instance.
-        /// </summary>
-        public float M13 { get { return Row0.Z; } set { Row0.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 4 of this instance.
-        /// </summary>
-        public float M14 { get { return Row0.W; } set { Row0.W = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 1 of this instance.
-        /// </summary>
-        public float M21 { get { return Row1.X; } set { Row1.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 2 of this instance.
-        /// </summary>
-        public float M22 { get { return Row1.Y; } set { Row1.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 3 of this instance.
-        /// </summary>
-        public float M23 { get { return Row1.Z; } set { Row1.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 4 of this instance.
-        /// </summary>
-        public float M24 { get { return Row1.W; } set { Row1.W = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 1 of this instance.
-        /// </summary>
-        public float M31 { get { return Row2.X; } set { Row2.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 2 of this instance.
-        /// </summary>
-        public float M32 { get { return Row2.Y; } set { Row2.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 3 of this instance.
-        /// </summary>
-        public float M33 { get { return Row2.Z; } set { Row2.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 4 of this instance.
-        /// </summary>
-        public float M34 { get { return Row2.W; } set { Row2.W = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 1 of this instance.
-        /// </summary>
-        public float M41 { get { return Row3.X; } set { Row3.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 3 of this instance.
-        /// </summary>
-        public float M42 { get { return Row3.Y; } set { Row3.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 3 of this instance.
-        /// </summary>
-        public float M43 { get { return Row3.Z; } set { Row3.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 4 of this instance.
-        /// </summary>
-        public float M44 { get { return Row3.W; } set { Row3.W = value; } }
-
-        #endregion
-
-        #region Instance
-
-        #region public void Invert()
-
-        public void Invert()
-        {
-            this = Matrix4.Invert(this);
-        }
-
-        #endregion
-
-        #region public void Transpose()
-
-        /// <summary>
-        /// Calculates the transpose of this instance.
-        /// </summary>
-        public void Transpose()
-        {
-            this = Matrix4.Transpose(this);
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Static
-        
-        #region CreateFromAxisAngle
-        
-        /// <summary>
-        /// Build a rotation matrix from the specified axis/angle rotation.
-        /// </summary>
-        /// <param name="axis">The axis to rotate about.</param>
-        /// <param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
-        /// <param name="result">A matrix instance.</param>
-        public static void CreateFromAxisAngle(Vector3 axis, float angle, out Matrix4 result)
-        {
-            float cos = (float)System.Math.Cos(-angle);
-            float sin = (float)System.Math.Sin(-angle);
-            float t = 1.0f - cos;
-
-            axis.Normalize();
-
-            result = new Matrix4(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f,
-                                 t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f,
-                                 t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f,
-                                 0, 0, 0, 1);
-        }
-        
-        /// <summary>
-        /// Build a rotation matrix from the specified axis/angle rotation.
-        /// </summary>
-        /// <param name="axis">The axis to rotate about.</param>
-        /// <param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
-        /// <returns>A matrix instance.</returns>
-        public static Matrix4 CreateFromAxisAngle(Vector3 axis, float angle)
-        {
-            Matrix4 result;
-            CreateFromAxisAngle(axis, angle, out result);
-            return result;
-        }
-        
-        #endregion
-
-        #region CreateTranslation
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="x">X translation.</param>
-        /// <param name="y">Y translation.</param>
-        /// <param name="z">Z translation.</param>
-        /// <param name="result">The resulting Matrix4 instance.</param>
-        public static void CreateTranslation(float x, float y, float z, out Matrix4 result)
-        {
-            result = Identity;
-            result.Row3 = new Vector4(x, y, z, 1);
-        }
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="vector">The translation vector.</param>
-        /// <param name="result">The resulting Matrix4 instance.</param>
-        public static void CreateTranslation(ref Vector3 vector, out Matrix4 result)
-        {
-            result = Identity;
-            result.Row3 = new Vector4(vector.X, vector.Y, vector.Z, 1);
-        }
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="x">X translation.</param>
-        /// <param name="y">Y translation.</param>
-        /// <param name="z">Z translation.</param>
-        /// <returns>The resulting Matrix4 instance.</returns>
-        public static Matrix4 CreateTranslation(float x, float y, float z)
-        {
-            Matrix4 result;
-            CreateTranslation(x, y, z, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="vector">The translation vector.</param>
-        /// <returns>The resulting Matrix4 instance.</returns>
-        public static Matrix4 CreateTranslation(Vector3 vector)
-        {
-            Matrix4 result;
-            CreateTranslation(vector.X, vector.Y, vector.Z, out result);
-            return result;
-        }
-
-        #endregion
-
-        #region CreateOrthographic
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="width">The width of the projection volume.</param>
-        /// <param name="height">The height of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <param name="result">The resulting Matrix4 instance.</param>
-        public static void CreateOrthographic(float width, float height, float zNear, float zFar, out Matrix4 result)
-        {
-            CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result);
-        }
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="width">The width of the projection volume.</param>
-        /// <param name="height">The height of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <rereturns>The resulting Matrix4 instance.</rereturns>
-        public static Matrix4 CreateOrthographic(float width, float height, float zNear, float zFar)
-        {
-            Matrix4 result;
-            CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result);
-            return result;
-        }
-
-        #endregion
-
-        #region CreateOrthographicOffCenter
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="left">The left edge of the projection volume.</param>
-        /// <param name="right">The right edge of the projection volume.</param>
-        /// <param name="bottom">The bottom edge of the projection volume.</param>
-        /// <param name="top">The top edge of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <param name="result">The resulting Matrix4 instance.</param>
-        public static void CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result)
-        {
-            result = new Matrix4();
-
-            float invRL = 1 / (right - left);
-            float invTB = 1 / (top - bottom);
-            float invFN = 1 / (zFar - zNear);
-
-            result.M11 = 2 * invRL;
-            result.M22 = 2 * invTB;
-            result.M33 = -2 * invFN;
-
-            result.M41 = -(right + left) * invRL;
-            result.M42 = -(top + bottom) * invTB;
-            result.M43 = -(zFar + zNear) * invFN;
-            result.M44 = 1;
-        }
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="left">The left edge of the projection volume.</param>
-        /// <param name="right">The right edge of the projection volume.</param>
-        /// <param name="bottom">The bottom edge of the projection volume.</param>
-        /// <param name="top">The top edge of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <returns>The resulting Matrix4 instance.</returns>
-        public static Matrix4 CreateOrthographicOffCenter(float left, float right, float bottom, float top, float zNear, float zFar)
-        {
-            Matrix4 result;
-            CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, out result);
-            return result;
-        }
-
-        #endregion
-        
-        #region CreatePerspectiveFieldOfView
-        
-        /// <summary>
-        /// Creates a perspective projection matrix.
-        /// </summary>
-        /// <param name="fovy">Angle of the field of view in the y direction (in radians)</param>
-        /// <param name="aspect">Aspect ratio of the view (width / height)</param>
-        /// <param name="zNear">Distance to the near clip plane</param>
-        /// <param name="zFar">Distance to the far clip plane</param>
-        /// <param name="result">A projection matrix that transforms camera space to raster space</param>
-        /// <exception cref="System.ArgumentOutOfRangeException">
-        /// Thrown under the following conditions:
-        /// <list type="bullet">
-        /// <item>fovy is zero, less than zero or larger than Math.PI</item>
-        /// <item>aspect is negative or zero</item>
-        /// <item>zNear is negative or zero</item>
-        /// <item>zFar is negative or zero</item>
-        /// <item>zNear is larger than zFar</item>
-        /// </list>
-        /// </exception>
-        public static void CreatePerspectiveFieldOfView(float fovy, float aspect, float zNear, float zFar, out Matrix4 result)
-        {
-            if (fovy <= 0 || fovy > System.Math.PI)
-                throw new ArgumentOutOfRangeException("fovy");
-            if (aspect <= 0)
-                throw new ArgumentOutOfRangeException("aspect");
-            if (zNear <= 0)
-                throw new ArgumentOutOfRangeException("zNear");
-            if (zFar <= 0)
-                throw new ArgumentOutOfRangeException("zFar");
-            if (zNear >= zFar)
-                throw new ArgumentOutOfRangeException("zNear");
-            
-            float yMax = zNear * (float)System.Math.Tan(0.5f * fovy);
-            float yMin = -yMax;
-            float xMin = yMin * aspect;
-            float xMax = yMax * aspect;
-
-            CreatePerspectiveOffCenter(xMin, xMax, yMin, yMax, zNear, zFar, out result);
-        }
-        
-        /// <summary>
-        /// Creates a perspective projection matrix.
-        /// </summary>
-        /// <param name="fovy">Angle of the field of view in the y direction (in radians)</param>
-        /// <param name="aspect">Aspect ratio of the view (width / height)</param>
-        /// <param name="zNear">Distance to the near clip plane</param>
-        /// <param name="zFar">Distance to the far clip plane</param>
-        /// <returns>A projection matrix that transforms camera space to raster space</returns>
-        /// <exception cref="System.ArgumentOutOfRangeException">
-        /// Thrown under the following conditions:
-        /// <list type="bullet">
-        /// <item>fovy is zero, less than zero or larger than Math.PI</item>
-        /// <item>aspect is negative or zero</item>
-        /// <item>zNear is negative or zero</item>
-        /// <item>zFar is negative or zero</item>
-        /// <item>zNear is larger than zFar</item>
-        /// </list>
-        /// </exception>
-        public static Matrix4 CreatePerspectiveFieldOfView(float fovy, float aspect, float zNear, float zFar)
-        {
-            Matrix4 result;
-            CreatePerspectiveFieldOfView(fovy, aspect, zNear, zFar, out result);
-            return result;
-        }
-        
-        #endregion
-        
-        #region CreatePerspectiveOffCenter
-        
-        /// <summary>
-        /// Creates an perspective projection matrix.
-        /// </summary>
-        /// <param name="left">Left edge of the view frustum</param>
-        /// <param name="right">Right edge of the view frustum</param>
-        /// <param name="bottom">Bottom edge of the view frustum</param>
-        /// <param name="top">Top edge of the view frustum</param>
-        /// <param name="zNear">Distance to the near clip plane</param>
-        /// <param name="zFar">Distance to the far clip plane</param>
-        /// <param name="result">A projection matrix that transforms camera space to raster space</param>
-        /// <exception cref="System.ArgumentOutOfRangeException">
-        /// Thrown under the following conditions:
-        /// <list type="bullet">
-        /// <item>zNear is negative or zero</item>
-        /// <item>zFar is negative or zero</item>
-        /// <item>zNear is larger than zFar</item>
-        /// </list>
-        /// </exception>
-        public static void CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float zNear, float zFar, out Matrix4 result)
-        {
-            if (zNear <= 0)
-                throw new ArgumentOutOfRangeException("zNear");
-            if (zFar <= 0)
-                throw new ArgumentOutOfRangeException("zFar");
-            if (zNear >= zFar)
-                throw new ArgumentOutOfRangeException("zNear");
-            
-            float x = (2.0f * zNear) / (right - left);
-            float y = (2.0f * zNear) / (top - bottom);
-            float a = (right + left) / (right - left);
-            float b = (top + bottom) / (top - bottom);
-            float c = -(zFar + zNear) / (zFar - zNear);
-            float d = -(2.0f * zFar * zNear) / (zFar - zNear);
-            
-            result = new Matrix4(x, 0, 0,  0,
-                                 0, y, 0,  0,
-                                 a, b, c, -1,
-                                 0, 0, d,  0);
-        }
-        
-        /// <summary>
-        /// Creates an perspective projection matrix.
-        /// </summary>
-        /// <param name="left">Left edge of the view frustum</param>
-        /// <param name="right">Right edge of the view frustum</param>
-        /// <param name="bottom">Bottom edge of the view frustum</param>
-        /// <param name="top">Top edge of the view frustum</param>
-        /// <param name="zNear">Distance to the near clip plane</param>
-        /// <param name="zFar">Distance to the far clip plane</param>
-        /// <returns>A projection matrix that transforms camera space to raster space</returns>
-        /// <exception cref="System.ArgumentOutOfRangeException">
-        /// Thrown under the following conditions:
-        /// <list type="bullet">
-        /// <item>zNear is negative or zero</item>
-        /// <item>zFar is negative or zero</item>
-        /// <item>zNear is larger than zFar</item>
-        /// </list>
-        /// </exception>
-        public static Matrix4 CreatePerspectiveOffCenter(float left, float right, float bottom, float top, float zNear, float zFar)
-        {
-            Matrix4 result;
-            CreatePerspectiveOffCenter(left, right, bottom, top, zNear, zFar, out result);
-            return result;
-        }
-        
-        #endregion
-
-        #region Obsolete Functions
-
-        #region Translation Functions
-
-        /// <summary>
-        /// Builds a translation matrix.
-        /// </summary>
-        /// <param name="trans">The translation vector.</param>
-        /// <returns>A new Matrix4 instance.</returns>
-        [Obsolete("Use CreateTranslation instead.")]
-        public static Matrix4 Translation(Vector3 trans)
-        {
-            return Translation(trans.X, trans.Y, trans.Z);
-        }
-
-        /// <summary>
-        /// Build a translation matrix with the given translation
-        /// </summary>
-        /// <param name="x">X translation</param>
-        /// <param name="y">Y translation</param>
-        /// <param name="z">Z translation</param>
-        /// <returns>A Translation matrix</returns>
-        [Obsolete("Use CreateTranslation instead.")]
-        public static Matrix4 Translation(float x, float y, float z)
-        {
-            Matrix4 result = Identity;
-            result.Row3 = new Vector4(x, y, z, 1.0f);
-            return result;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Scale Functions
-
-        /// <summary>
-        /// Build a scaling matrix
-        /// </summary>
-        /// <param name="scale">Single scale factor for x,y and z axes</param>
-        /// <returns>A scaling matrix</returns>
-        public static Matrix4 Scale(float scale)
-        {
-            return Scale(scale, scale, scale);
-        }
-
-        /// <summary>
-        /// Build a scaling matrix
-        /// </summary>
-        /// <param name="scale">Scale factors for x,y and z axes</param>
-        /// <returns>A scaling matrix</returns>
-        public static Matrix4 Scale(Vector3 scale)
-        {
-            return Scale(scale.X, scale.Y, scale.Z);
-        }
-
-        /// <summary>
-        /// Build a scaling matrix
-        /// </summary>
-        /// <param name="x">Scale factor for x-axis</param>
-        /// <param name="y">Scale factor for y-axis</param>
-        /// <param name="z">Scale factor for z-axis</param>
-        /// <returns>A scaling matrix</returns>
-        public static Matrix4 Scale(float x, float y, float z)
-        {
-            Matrix4 result;
-            result.Row0 = Vector4.UnitX * x;
-            result.Row1 = Vector4.UnitY * y;
-            result.Row2 = Vector4.UnitZ * z;
-            result.Row3 = Vector4.UnitW;
-            return result;
-        }
-
-        #endregion
-
-        #region Rotation Functions
-
-        /// <summary>
-        /// Build a rotation matrix that rotates about the x-axis
-        /// </summary>
-        /// <param name="angle">angle in radians to rotate counter-clockwise around the x-axis</param>
-        /// <returns>A rotation matrix</returns>
-        [Obsolete("Use CreateRotationX instead.")]
-        public static Matrix4 RotateX(float angle)
-        {
-            float cos = (float)System.Math.Cos(angle);
-            float sin = (float)System.Math.Sin(angle);
-
-            Matrix4 result;
-            result.Row0 = Vector4.UnitX;
-            result.Row1 = new Vector4(0.0f, cos, sin, 0.0f);
-            result.Row2 = new Vector4(0.0f, -sin, cos, 0.0f);
-            result.Row3 = Vector4.UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix that rotates about the y-axis
-        /// </summary>
-        /// <param name="angle">angle in radians to rotate counter-clockwise around the y-axis</param>
-        /// <returns>A rotation matrix</returns>
-        [Obsolete("Use CreateRotationY instead.")]
-        public static Matrix4 RotateY(float angle)
-        {
-            float cos = (float)System.Math.Cos(angle);
-            float sin = (float)System.Math.Sin(angle);
-
-            Matrix4 result;
-            result.Row0 = new Vector4(cos, 0.0f, -sin, 0.0f);
-            result.Row1 = Vector4.UnitY;
-            result.Row2 = new Vector4(sin, 0.0f, cos, 0.0f);
-            result.Row3 = Vector4.UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix that rotates about the z-axis
-        /// </summary>
-        /// <param name="angle">angle in radians to rotate counter-clockwise around the z-axis</param>
-        /// <returns>A rotation matrix</returns>
-        [Obsolete("Use CreateRotationZ instead.")]
-        public static Matrix4 RotateZ(float angle)
-        {
-            float cos = (float)System.Math.Cos(angle);
-            float sin = (float)System.Math.Sin(angle);
-
-            Matrix4 result;
-            result.Row0 = new Vector4(cos, sin, 0.0f, 0.0f);
-            result.Row1 = new Vector4(-sin, cos, 0.0f, 0.0f);
-            result.Row2 = Vector4.UnitZ;
-            result.Row3 = Vector4.UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix to rotate about the given axis
-        /// </summary>
-        /// <param name="axis">the axis to rotate about</param>
-        /// <param name="angle">angle in radians to rotate counter-clockwise (looking in the direction of the given axis)</param>
-        /// <returns>A rotation matrix</returns>
-        [Obsolete("Use CreateFromAxisAngle instead.")]
-        public static Matrix4 Rotate(Vector3 axis, float angle)
-        {
-            float cos = (float)System.Math.Cos(-angle);
-            float sin = (float)System.Math.Sin(-angle);
-            float t = 1.0f - cos;
-
-            axis.Normalize();
-
-            Matrix4 result;
-            result.Row0 = new Vector4(t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f);
-            result.Row1 = new Vector4(t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f);
-            result.Row2 = new Vector4(t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f);
-            result.Row3 = Vector4.UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix from a quaternion
-        /// </summary>
-        /// <param name="q">the quaternion</param>
-        /// <returns>A rotation matrix</returns>
-        public static Matrix4 Rotate(Quaternion q)
-        {
-            Vector3 axis;
-            float angle;
-            q.ToAxisAngle(out axis, out angle);
-            return Rotate(axis, angle);
-        }
-
-        #endregion
-
-        #region Camera Helper Functions
-
-        /// <summary>
-        /// Build a world space to camera space matrix
-        /// </summary>
-        /// <param name="eye">Eye (camera) position in world space</param>
-        /// <param name="target">Target position in world space</param>
-        /// <param name="up">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <returns>A Matrix4 that transforms world space to camera space</returns>
-        public static Matrix4 LookAt(Vector3 eye, Vector3 target, Vector3 up)
-        {
-            Vector3 z = Vector3.Normalize(eye - target);
-            Vector3 x = Vector3.Normalize(Vector3.Cross(up, z));
-            Vector3 y = Vector3.Normalize(Vector3.Cross(z, x));
-
-            Matrix4 rot = new Matrix4(new Vector4(x.X, y.X, z.X, 0.0f),
-                                        new Vector4(x.Y, y.Y, z.Y, 0.0f),
-                                        new Vector4(x.Z, y.Z, z.Z, 0.0f),
-                                        Vector4.UnitW);
-
-            Matrix4 trans = Matrix4.CreateTranslation(-eye);
-
-            return trans * rot;
-        }
-
-        /// <summary>
-        /// Build a world space to camera space matrix
-        /// </summary>
-        /// <param name="eyeX">Eye (camera) position in world space</param>
-        /// <param name="eyeY">Eye (camera) position in world space</param>
-        /// <param name="eyeZ">Eye (camera) position in world space</param>
-        /// <param name="targetX">Target position in world space</param>
-        /// <param name="targetY">Target position in world space</param>
-        /// <param name="targetZ">Target position in world space</param>
-        /// <param name="upX">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <param name="upY">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <param name="upZ">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <returns>A Matrix4 that transforms world space to camera space</returns>
-        public static Matrix4 LookAt(float eyeX, float eyeY, float eyeZ, float targetX, float targetY, float targetZ, float upX, float upY, float upZ)
-        {
-            return LookAt(new Vector3(eyeX, eyeY, eyeZ), new Vector3(targetX, targetY, targetZ), new Vector3(upX, upY, upZ));
-        }
-
-        /// <summary>
-        /// Build a projection matrix
-        /// </summary>
-        /// <param name="left">Left edge of the view frustum</param>
-        /// <param name="right">Right edge of the view frustum</param>
-        /// <param name="bottom">Bottom edge of the view frustum</param>
-        /// <param name="top">Top edge of the view frustum</param>
-        /// <param name="near">Distance to the near clip plane</param>
-        /// <param name="far">Distance to the far clip plane</param>
-        /// <returns>A projection matrix that transforms camera space to raster space</returns>
-        [Obsolete("Use CreatePerspectiveOffCenter instead.")]
-        public static Matrix4 Frustum(float left, float right, float bottom, float top, float near, float far)
-        {
-            float invRL = 1.0f / (right - left);
-            float invTB = 1.0f / (top - bottom);
-            float invFN = 1.0f / (far - near);
-            return new Matrix4(new Vector4(2.0f * near * invRL, 0.0f, 0.0f, 0.0f),
-                               new Vector4(0.0f, 2.0f * near * invTB, 0.0f, 0.0f),
-                               new Vector4((right + left) * invRL, (top + bottom) * invTB, -(far + near) * invFN, -1.0f),
-                               new Vector4(0.0f, 0.0f, -2.0f * far * near * invFN, 0.0f));
-        }
-
-        /// <summary>
-        /// Build a projection matrix
-        /// </summary>
-        /// <param name="fovy">Angle of the field of view in the y direction (in radians)</param>
-        /// <param name="aspect">Aspect ratio of the view (width / height)</param>
-        /// <param name="near">Distance to the near clip plane</param>
-        /// <param name="far">Distance to the far clip plane</param>
-        /// <returns>A projection matrix that transforms camera space to raster space</returns>
-        [Obsolete("Use CreatePerspectiveFieldOfView instead.")]
-        public static Matrix4 Perspective(float fovy, float aspect, float near, float far)
-        {
-            float yMax = near * (float)System.Math.Tan(0.5f * fovy);
-            float yMin = -yMax;
-            float xMin = yMin * aspect;
-            float xMax = yMax * aspect;
-
-            return Frustum(xMin, xMax, yMin, yMax, near, far);
-        }
-
-        #endregion
-
-        #region Multiply Functions
-
-        /// <summary>
-        /// Multiplies two instances.
-        /// </summary>
-        /// <param name="left">The left operand of the multiplication.</param>
-        /// <param name="right">The right operand of the multiplication.</param>
-        /// <returns>A new instance that is the result of the multiplication</returns>
-        public static Matrix4 Mult(Matrix4 left, Matrix4 right)
-        {
-            Matrix4 result;
-            Mult(ref left, ref right, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Multiplies two instances.
-        /// </summary>
-        /// <param name="left">The left operand of the multiplication.</param>
-        /// <param name="right">The right operand of the multiplication.</param>
-        /// <param name="result">A new instance that is the result of the multiplication</param>
-        public static void Mult(ref Matrix4 left, ref Matrix4 right, out Matrix4 result)
-        {
-            result = new Matrix4(
-                left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41,
-                left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42,
-                left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43,
-                left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44,
-                left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41,
-                left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42,
-                left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43,
-                left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44,
-                left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41,
-                left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42,
-                left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43,
-                left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44,
-                left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41,
-                left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42,
-                left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43,
-                left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44);
-        }
-
-        #endregion
-
-        #region Invert Functions
-
-        /// <summary>
-        /// Calculate the inverse of the given matrix
-        /// </summary>
-        /// <param name="mat">The matrix to invert</param>
-        /// <returns>The inverse of the given matrix if it has one, or the input if it is singular</returns>
-        /// <exception cref="InvalidOperationException">Thrown if the Matrix4 is singular.</exception>
-        public static Matrix4 Invert(Matrix4 mat)
-        {
-            int[] colIdx = { 0, 0, 0, 0 };
-            int[] rowIdx = { 0, 0, 0, 0 };
-            int[] pivotIdx = { -1, -1, -1, -1 };
-
-            // convert the matrix to an array for easy looping
-            float[,] inverse = {{mat.Row0.X, mat.Row0.Y, mat.Row0.Z, mat.Row0.W}, 
-                                {mat.Row1.X, mat.Row1.Y, mat.Row1.Z, mat.Row1.W}, 
-                                {mat.Row2.X, mat.Row2.Y, mat.Row2.Z, mat.Row2.W}, 
-                                {mat.Row3.X, mat.Row3.Y, mat.Row3.Z, mat.Row3.W} };
-            int icol = 0;
-            int irow = 0;
-            for (int i = 0; i < 4; i++)
-            {
-                // Find the largest pivot value
-                float maxPivot = 0.0f;
-                for (int j = 0; j < 4; j++)
-                {
-                    if (pivotIdx[j] != 0)
-                    {
-                        for (int k = 0; k < 4; ++k)
-                        {
-                            if (pivotIdx[k] == -1)
-                            {
-                                float absVal = System.Math.Abs(inverse[j, k]);
-                                if (absVal > maxPivot)
-                                {
-                                    maxPivot = absVal;
-                                    irow = j;
-                                    icol = k;
-                                }
-                            }
-                            else if (pivotIdx[k] > 0)
-                            {
-                                return mat;
-                            }
-                        }
-                    }
-                }
-
-                ++(pivotIdx[icol]);
-
-                // Swap rows over so pivot is on diagonal
-                if (irow != icol)
-                {
-                    for (int k = 0; k < 4; ++k)
-                    {
-                        float f = inverse[irow, k];
-                        inverse[irow, k] = inverse[icol, k];
-                        inverse[icol, k] = f;
-                    }
-                }
-
-                rowIdx[i] = irow;
-                colIdx[i] = icol;
-
-                float pivot = inverse[icol, icol];
-                // check for singular matrix
-                if (pivot == 0.0f)
-                {
-                    throw new InvalidOperationException("Matrix is singular and cannot be inverted.");
-                    //return mat;
-                }
-
-                // Scale row so it has a unit diagonal
-                float oneOverPivot = 1.0f / pivot;
-                inverse[icol, icol] = 1.0f;
-                for (int k = 0; k < 4; ++k)
-                    inverse[icol, k] *= oneOverPivot;
-
-                // Do elimination of non-diagonal elements
-                for (int j = 0; j < 4; ++j)
-                {
-                    // check this isn't on the diagonal
-                    if (icol != j)
-                    {
-                        float f = inverse[j, icol];
-                        inverse[j, icol] = 0.0f;
-                        for (int k = 0; k < 4; ++k)
-                            inverse[j, k] -= inverse[icol, k] * f;
-                    }
-                }
-            }
-
-            for (int j = 3; j >= 0; --j)
-            {
-                int ir = rowIdx[j];
-                int ic = colIdx[j];
-                for (int k = 0; k < 4; ++k)
-                {
-                    float f = inverse[k, ir];
-                    inverse[k, ir] = inverse[k, ic];
-                    inverse[k, ic] = f;
-                }
-            }
-
-            mat.Row0 = new Vector4(inverse[0, 0], inverse[0, 1], inverse[0, 2], inverse[0, 3]);
-            mat.Row1 = new Vector4(inverse[1, 0], inverse[1, 1], inverse[1, 2], inverse[1, 3]);
-            mat.Row2 = new Vector4(inverse[2, 0], inverse[2, 1], inverse[2, 2], inverse[2, 3]);
-            mat.Row3 = new Vector4(inverse[3, 0], inverse[3, 1], inverse[3, 2], inverse[3, 3]);
-            return mat;
-        }
-
-        #endregion
-
-        #region Transpose
-
-        /// <summary>
-        /// Calculate the transpose of the given matrix
-        /// </summary>
-        /// <param name="mat">The matrix to transpose</param>
-        /// <returns>The transpose of the given matrix</returns>
-        public static Matrix4 Transpose(Matrix4 mat)
-        {
-            return new Matrix4(mat.Column0, mat.Column1, mat.Column2, mat.Column3);
-        }
-
-
-        /// <summary>
-        /// Calculate the transpose of the given matrix
-        /// </summary>
-        /// <param name="mat">The matrix to transpose</param>
-        /// <param name="result">The result of the calculation</param>
-        public static void Transpose(ref Matrix4 mat, out Matrix4 result)
-        {
-            result.Row0 = mat.Column0;
-            result.Row1 = mat.Column1;
-            result.Row2 = mat.Column2;
-            result.Row3 = mat.Column3;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Operators
-
-        /// <summary>
-        /// Matrix multiplication
-        /// </summary>
-        /// <param name="left">left-hand operand</param>
-        /// <param name="right">right-hand operand</param>
-        /// <returns>A new Matrix44 which holds the result of the multiplication</returns>
-        public static Matrix4 operator *(Matrix4 left, Matrix4 right)
-        {
-            return Matrix4.Mult(left, right);
-        }
-
-        public static bool operator ==(Matrix4 left, Matrix4 right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Matrix4 left, Matrix4 right)
-        {
-            return !left.Equals(right);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Matrix44.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("{0}\n{1}\n{2}\n{3}", Row0, Row1, Row2, Row3);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return Row0.GetHashCode() ^ Row1.GetHashCode() ^ Row2.GetHashCode() ^ Row3.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare tresult.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Matrix4))
-                return false;
-
-            return this.Equals((Matrix4)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Matrix4> Members
-
-        /// <summary>Indicates whether the current matrix is equal to another matrix.</summary>
-        /// <param name="other">An matrix to compare with this matrix.</param>
-        /// <returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
-        public bool Equals(Matrix4 other)
-        {
-            return
-                Row0 == other.Row0 &&
-                Row1 == other.Row1 &&
-                Row2 == other.Row2 &&
-                Row3 == other.Row3;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/Matrix4d.cs b/Source/Compatibility/Math/Matrix4d.cs
deleted file mode 100644 (file)
index 132b25d..0000000
+++ /dev/null
@@ -1,969 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a 4x4 Matrix with double-precision components.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Matrix4d : IEquatable<Matrix4d>
-    {
-        #region Fields
-
-        /// <summary>
-        /// Top row of the matrix
-        /// </summary>
-        public Vector4d  Row0;
-        /// <summary>
-        /// 2nd row of the matrix
-        /// </summary>
-        public Vector4d  Row1;
-        /// <summary>
-        /// 3rd row of the matrix
-        /// </summary>
-        public Vector4d  Row2;
-        /// <summary>
-        /// Bottom row of the matrix
-        /// </summary>
-        public Vector4d  Row3;
-        /// <summary>
-        /// The identity matrix
-        /// </summary>
-        public static Matrix4d Identity = new Matrix4d(Vector4d .UnitX, Vector4d .UnitY, Vector4d .UnitZ, Vector4d .UnitW);
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new instance.
-        /// </summary>
-        /// <param name="row0">Top row of the matrix</param>
-        /// <param name="row1">Second row of the matrix</param>
-        /// <param name="row2">Third row of the matrix</param>
-        /// <param name="row3">Bottom row of the matrix</param>
-        public Matrix4d(Vector4d row0, Vector4d row1, Vector4d row2, Vector4d row3)
-        {
-            Row0 = row0;
-            Row1 = row1;
-            Row2 = row2;
-            Row3 = row3;
-        }
-
-        /// <summary>
-        /// Constructs a new instance.
-        /// </summary>
-        /// <param name="m00">First item of the first row.</param>
-        /// <param name="m01">Second item of the first row.</param>
-        /// <param name="m02">Third item of the first row.</param>
-        /// <param name="m03">Fourth item of the first row.</param>
-        /// <param name="m10">First item of the second row.</param>
-        /// <param name="m11">Second item of the second row.</param>
-        /// <param name="m12">Third item of the second row.</param>
-        /// <param name="m13">Fourth item of the second row.</param>
-        /// <param name="m20">First item of the third row.</param>
-        /// <param name="m21">Second item of the third row.</param>
-        /// <param name="m22">Third item of the third row.</param>
-        /// <param name="m23">First item of the third row.</param>
-        /// <param name="m30">Fourth item of the fourth row.</param>
-        /// <param name="m31">Second item of the fourth row.</param>
-        /// <param name="m32">Third item of the fourth row.</param>
-        /// <param name="m33">Fourth item of the fourth row.</param>
-        public Matrix4d(
-            float m00, float m01, float m02, float m03,
-            float m10, float m11, float m12, float m13,
-            float m20, float m21, float m22, float m23,
-            float m30, float m31, float m32, float m33)
-        {
-            Row0 = new Vector4d(m00, m01, m02, m03);
-            Row1 = new Vector4d(m10, m11, m12, m13);
-            Row2 = new Vector4d(m20, m21, m22, m23);
-            Row3 = new Vector4d(m30, m31, m32, m33);
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Properties
-
-        /// <summary>
-        /// The determinant of this matrix
-        /// </summary>
-        public double Determinant
-        {
-            get
-            {
-                return
-                    Row0.X * Row1.Y * Row2.Z * Row3.W - Row0.X * Row1.Y * Row2.W * Row3.Z + Row0.X * Row1.Z * Row2.W * Row3.Y - Row0.X * Row1.Z * Row2.Y * Row3.W
-                  + Row0.X * Row1.W * Row2.Y * Row3.Z - Row0.X * Row1.W * Row2.Z * Row3.Y - Row0.Y * Row1.Z * Row2.W * Row3.X + Row0.Y * Row1.Z * Row2.X * Row3.W
-                  - Row0.Y * Row1.W * Row2.X * Row3.Z + Row0.Y * Row1.W * Row2.Z * Row3.X - Row0.Y * Row1.X * Row2.Z * Row3.W + Row0.Y * Row1.X * Row2.W * Row3.Z
-                  + Row0.Z * Row1.W * Row2.X * Row3.Y - Row0.Z * Row1.W * Row2.Y * Row3.X + Row0.Z * Row1.X * Row2.Y * Row3.W - Row0.Z * Row1.X * Row2.W * Row3.Y
-                  + Row0.Z * Row1.Y * Row2.W * Row3.X - Row0.Z * Row1.Y * Row2.X * Row3.W - Row0.W * Row1.X * Row2.Y * Row3.Z + Row0.W * Row1.X * Row2.Z * Row3.Y
-                  - Row0.W * Row1.Y * Row2.Z * Row3.X + Row0.W * Row1.Y * Row2.X * Row3.Z - Row0.W * Row1.Z * Row2.X * Row3.Y + Row0.W * Row1.Z * Row2.Y * Row3.X;
-            }
-        }
-
-        /// <summary>
-        /// The first column of this matrix
-        /// </summary>
-        public Vector4d  Column0
-        {
-            get { return new Vector4d (Row0.X, Row1.X, Row2.X, Row3.X); }
-        }
-
-        /// <summary>
-        /// The second column of this matrix
-        /// </summary>
-        public Vector4d  Column1
-        {
-            get { return new Vector4d (Row0.Y, Row1.Y, Row2.Y, Row3.Y); }
-        }
-
-        /// <summary>
-        /// The third column of this matrix
-        /// </summary>
-        public Vector4d  Column2
-        {
-            get { return new Vector4d (Row0.Z, Row1.Z, Row2.Z, Row3.Z); }
-        }
-
-        /// <summary>
-        /// The fourth column of this matrix
-        /// </summary>
-        public Vector4d  Column3
-        {
-            get { return new Vector4d (Row0.W, Row1.W, Row2.W, Row3.W); }
-        }
-
-        public double this[int i, int j]
-        {
-            get
-            {
-                if (i < 0 || i > 3)
-                    throw new ArgumentOutOfRangeException("i");
-
-                if (j < 0 || j > 3)
-                    throw new ArgumentOutOfRangeException("j");
-
-                unsafe
-                {
-                    fixed (Matrix4d* ptr = &this)
-                        return *((double*)ptr + i + j * 4);
-                }
-            }
-            set
-            {
-                if (i < 0 || i > 3)
-                    throw new ArgumentOutOfRangeException("i");
-
-                if (j < 0 || j > 3)
-                    throw new ArgumentOutOfRangeException("j");
-
-                unsafe
-                {
-                    fixed (Matrix4d* ptr = &this)
-                        *((double*)ptr + i + j * 4) = value;
-                }
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 1 of this instance.
-        /// </summary>
-        public double M11 { get { return Row0.X; } set { Row0.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 2 of this instance.
-        /// </summary>
-        public double M12 { get { return Row0.Y; } set { Row0.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 3 of this instance.
-        /// </summary>
-        public double M13 { get { return Row0.Z; } set { Row0.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 1, column 4 of this instance.
-        /// </summary>
-        public double M14 { get { return Row0.W; } set { Row0.W = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 1 of this instance.
-        /// </summary>
-        public double M21 { get { return Row1.X; } set { Row1.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 2 of this instance.
-        /// </summary>
-        public double M22 { get { return Row1.Y; } set { Row1.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 3 of this instance.
-        /// </summary>
-        public double M23 { get { return Row1.Z; } set { Row1.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 2, column 4 of this instance.
-        /// </summary>
-        public double M24 { get { return Row1.W; } set { Row1.W = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 1 of this instance.
-        /// </summary>
-        public double M31 { get { return Row2.X; } set { Row2.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 2 of this instance.
-        /// </summary>
-        public double M32 { get { return Row2.Y; } set { Row2.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 3 of this instance.
-        /// </summary>
-        public double M33 { get { return Row2.Z; } set { Row2.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 3, column 4 of this instance.
-        /// </summary>
-        public double M34 { get { return Row2.W; } set { Row2.W = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 1 of this instance.
-        /// </summary>
-        public double M41 { get { return Row3.X; } set { Row3.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 3 of this instance.
-        /// </summary>
-        public double M42 { get { return Row3.Y; } set { Row3.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 3 of this instance.
-        /// </summary>
-        public double M43 { get { return Row3.Z; } set { Row3.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the value at row 4, column 4 of this instance.
-        /// </summary>
-        public double M44 { get { return Row3.W; } set { Row3.W = value; } }
-
-        #endregion
-
-        #region Instance
-
-        #region public void Invert()
-
-        public void Invert()
-        {
-            this = Matrix4d.Invert(this);
-        }
-
-        #endregion
-
-        #region public void Transpose()
-
-        public void Transpose()
-        {
-            this = Matrix4d.Transpose(this);
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Static
-
-        #region CreateTranslation
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="x">X translation.</param>
-        /// <param name="y">Y translation.</param>
-        /// <param name="z">Z translation.</param>
-        /// <param name="result">The resulting Matrix4d instance.</param>
-        public static void CreateTranslation(double x, double y, double z, out Matrix4d result)
-        {
-            result = Identity;
-            result.Row3 = new Vector4d(x, y, z, 1);
-        }
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="vector">The translation vector.</param>
-        /// <param name="result">The resulting Matrix4d instance.</param>
-        public static void CreateTranslation(ref Vector3d vector, out Matrix4d result)
-        {
-            result = Identity;
-            result.Row3 = new Vector4d(vector.X, vector.Y, vector.Z, 1);
-        }
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="x">X translation.</param>
-        /// <param name="y">Y translation.</param>
-        /// <param name="z">Z translation.</param>
-        /// <returns>The resulting Matrix4d instance.</returns>
-        public static Matrix4d CreateTranslation(double x, double y, double z)
-        {
-            Matrix4d result;
-            CreateTranslation(x, y, z, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Creates a translation matrix.
-        /// </summary>
-        /// <param name="vector">The translation vector.</param>
-        /// <returns>The resulting Matrix4d instance.</returns>
-        public static Matrix4d CreateTranslation(Vector3d vector)
-        {
-            Matrix4d result;
-            CreateTranslation(vector.X, vector.Y, vector.Z, out result);
-            return result;
-        }
-
-        #endregion
-
-        #region CreateOrthographic
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="width">The width of the projection volume.</param>
-        /// <param name="height">The height of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <param name="result">The resulting Matrix4d instance.</param>
-        public static void CreateOrthographic(double width, double height, double zNear, double zFar, out Matrix4d result)
-        {
-            CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result);
-        }
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="width">The width of the projection volume.</param>
-        /// <param name="height">The height of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <rereturns>The resulting Matrix4d instance.</rereturns>
-        public static Matrix4d CreateOrthographic(double width, double height, double zNear, double zFar)
-        {
-            Matrix4d result;
-            CreateOrthographicOffCenter(-width / 2, width / 2, -height / 2, height / 2, zNear, zFar, out result);
-            return result;
-        }
-
-        #endregion
-
-        #region CreateOrthographicOffCenter
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="left">The left edge of the projection volume.</param>
-        /// <param name="right">The right edge of the projection volume.</param>
-        /// <param name="bottom">The bottom edge of the projection volume.</param>
-        /// <param name="top">The top edge of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <param name="result">The resulting Matrix4d instance.</param>
-        public static void CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar, out Matrix4d result)
-        {
-            result = new Matrix4d();
-
-            double invRL = 1 / (right - left);
-            double invTB = 1 / (top - bottom);
-            double invFN = 1 / (zFar - zNear);
-
-            result.M11 = 2 * invRL;
-            result.M22 = 2 * invTB;
-            result.M33 = -2 * invFN;
-
-            result.M41 = -(right + left) * invRL;
-            result.M42 = -(top + bottom) * invTB;
-            result.M43 = -(zFar + zNear) * invFN;
-        }
-
-        /// <summary>
-        /// Creates an orthographic projection matrix.
-        /// </summary>
-        /// <param name="left">The left edge of the projection volume.</param>
-        /// <param name="right">The right edge of the projection volume.</param>
-        /// <param name="bottom">The bottom edge of the projection volume.</param>
-        /// <param name="top">The top edge of the projection volume.</param>
-        /// <param name="zNear">The near edge of the projection volume.</param>
-        /// <param name="zFar">The far edge of the projection volume.</param>
-        /// <returns>The resulting Matrix4d instance.</returns>
-        public static Matrix4d CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar)
-        {
-            Matrix4d result;
-            CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, out result);
-            return result;
-        }
-
-        #endregion
-
-        #region Obsolete Functions
-
-        #region Translation Functions
-
-        /// <summary>
-        /// Build a translation matrix with the given translation
-        /// </summary>
-        /// <param name="trans">The vector to translate along</param>
-        /// <returns>A Translation matrix</returns>
-        [Obsolete("Use CreateTranslation instead.")]
-        public static Matrix4d Translation(Vector3d trans)
-        {
-            return Translation(trans.X, trans.Y, trans.Z);
-        }
-
-        /// <summary>
-        /// Build a translation matrix with the given translation
-        /// </summary>
-        /// <param name="x">X translation</param>
-        /// <param name="y">Y translation</param>
-        /// <param name="z">Z translation</param>
-        /// <returns>A Translation matrix</returns>
-        [Obsolete("Use CreateTranslation instead.")]
-        public static Matrix4d Translation(double x, double y, double z)
-        {
-            Matrix4d result = Identity;
-            result.Row3 = new Vector4d(x, y, z, 1.0f);
-            return result;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Scale Functions
-
-        /// <summary>
-        /// Build a scaling matrix
-        /// </summary>
-        /// <param name="scale">Single scale factor for x,y and z axes</param>
-        /// <returns>A scaling matrix</returns>
-        public static Matrix4d Scale(double scale)
-        {
-            return Scale(scale, scale, scale);
-        }
-
-        /// <summary>
-        /// Build a scaling matrix
-        /// </summary>
-        /// <param name="scale">Scale factors for x,y and z axes</param>
-        /// <returns>A scaling matrix</returns>
-        public static Matrix4d Scale(Vector3d scale)
-        {
-            return Scale(scale.X, scale.Y, scale.Z);
-        }
-
-        /// <summary>
-        /// Build a scaling matrix
-        /// </summary>
-        /// <param name="x">Scale factor for x-axis</param>
-        /// <param name="y">Scale factor for y-axis</param>
-        /// <param name="z">Scale factor for z-axis</param>
-        /// <returns>A scaling matrix</returns>
-        public static Matrix4d Scale(double x, double y, double z)
-        {
-            Matrix4d result;
-            result.Row0 = Vector4d .UnitX * x;
-            result.Row1 = Vector4d .UnitY * y;
-            result.Row2 = Vector4d .UnitZ * z;
-            result.Row3 = Vector4d .UnitW;
-            return result;
-        }
-
-        #endregion
-
-        #region Rotation Functions
-
-        /// <summary>
-        /// Build a rotation matrix that rotates about the x-axis
-        /// </summary>
-        /// <param name="angle">angle in radians to rotate counter-clockwise around the x-axis</param>
-        /// <returns>A rotation matrix</returns>
-        public static Matrix4d RotateX(double angle)
-        {
-            double cos = (double)System.Math.Cos(angle);
-            double sin = (double)System.Math.Sin(angle);
-
-            Matrix4d result;
-            result.Row0 = Vector4d .UnitX;
-            result.Row1 = new Vector4d (0.0f, cos, sin, 0.0f);
-            result.Row2 = new Vector4d (0.0f, -sin, cos, 0.0f);
-            result.Row3 = Vector4d .UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix that rotates about the y-axis
-        /// </summary>
-        /// <param name="angle">angle in radians to rotate counter-clockwise around the y-axis</param>
-        /// <returns>A rotation matrix</returns>
-        public static Matrix4d RotateY(double angle)
-        {
-            double cos = (double)System.Math.Cos(angle);
-            double sin = (double)System.Math.Sin(angle);
-
-            Matrix4d result;
-            result.Row0 = new Vector4d (cos, 0.0f, -sin, 0.0f);
-            result.Row1 = Vector4d .UnitY;
-            result.Row2 = new Vector4d (sin, 0.0f, cos, 0.0f);
-            result.Row3 = Vector4d .UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix that rotates about the z-axis
-        /// </summary>
-        /// <param name="angle">angle in radians to rotate counter-clockwise around the z-axis</param>
-        /// <returns>A rotation matrix</returns>
-        public static Matrix4d RotateZ(double angle)
-        {
-            double cos = (double)System.Math.Cos(angle);
-            double sin = (double)System.Math.Sin(angle);
-
-            Matrix4d result;
-            result.Row0 = new Vector4d (cos, sin, 0.0f, 0.0f);
-            result.Row1 = new Vector4d (-sin, cos, 0.0f, 0.0f);
-            result.Row2 = Vector4d .UnitZ;
-            result.Row3 = Vector4d .UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix to rotate about the given axis
-        /// </summary>
-        /// <param name="axis">the axis to rotate about</param>
-        /// <param name="angle">angle in radians to rotate counter-clockwise (looking in the direction of the given axis)</param>
-        /// <returns>A rotation matrix</returns>
-        public static Matrix4d Rotate(Vector3d axis, double angle)
-        {
-            double cos = (double)System.Math.Cos(-angle);
-            double sin = (double)System.Math.Sin(-angle);
-            double t = 1.0f - cos;
-
-            axis.Normalize();
-
-            Matrix4d result;
-            result.Row0 = new Vector4d (t * axis.X * axis.X + cos, t * axis.X * axis.Y - sin * axis.Z, t * axis.X * axis.Z + sin * axis.Y, 0.0f);
-            result.Row1 = new Vector4d (t * axis.X * axis.Y + sin * axis.Z, t * axis.Y * axis.Y + cos, t * axis.Y * axis.Z - sin * axis.X, 0.0f);
-            result.Row2 = new Vector4d (t * axis.X * axis.Z - sin * axis.Y, t * axis.Y * axis.Z + sin * axis.X, t * axis.Z * axis.Z + cos, 0.0f);
-            result.Row3 = Vector4d .UnitW;
-            return result;
-        }
-
-        /// <summary>
-        /// Build a rotation matrix from a quaternion
-        /// </summary>
-        /// <param name="q">the quaternion</param>
-        /// <returns>A rotation matrix</returns>
-        public static Matrix4d Rotate(Quaterniond q)
-        {
-            Vector3d axis;
-            double angle;
-            q.ToAxisAngle(out axis, out angle);
-            return Rotate(axis, angle);
-        }
-
-        #endregion
-
-        #region Camera Helper Functions
-
-        /// <summary>
-        /// Build a world space to camera space matrix
-        /// </summary>
-        /// <param name="eye">Eye (camera) position in world space</param>
-        /// <param name="target">Target position in world space</param>
-        /// <param name="up">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <returns>A Matrix that transforms world space to camera space</returns>
-        public static Matrix4d LookAt(Vector3d eye, Vector3d target, Vector3d up)
-        {
-            Vector3d z = Vector3d.Normalize(eye - target);
-            Vector3d x = Vector3d.Normalize(Vector3d.Cross(up, z));
-            Vector3d y = Vector3d.Normalize(Vector3d.Cross(z, x));
-
-            Matrix4d rot = new Matrix4d(new Vector4d (x.X, y.X, z.X, 0.0f),
-                                        new Vector4d (x.Y, y.Y, z.Y, 0.0f),
-                                        new Vector4d (x.Z, y.Z, z.Z, 0.0f),
-                                        Vector4d .UnitW);
-
-            Matrix4d trans = Matrix4d.CreateTranslation(-eye);
-
-            return trans * rot;
-        }
-
-        /// <summary>
-        /// Build a world space to camera space matrix
-        /// </summary>
-        /// <param name="eyeX">Eye (camera) position in world space</param>
-        /// <param name="eyeY">Eye (camera) position in world space</param>
-        /// <param name="eyeZ">Eye (camera) position in world space</param>
-        /// <param name="targetX">Target position in world space</param>
-        /// <param name="targetY">Target position in world space</param>
-        /// <param name="targetZ">Target position in world space</param>
-        /// <param name="upX">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <param name="upY">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <param name="upZ">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
-        /// <returns>A Matrix4 that transforms world space to camera space</returns>
-        public static Matrix4d LookAt(double eyeX, double eyeY, double eyeZ, double targetX, double targetY, double targetZ, double upX, double upY, double upZ)
-        {
-            return LookAt(new Vector3d(eyeX, eyeY, eyeZ), new Vector3d(targetX, targetY, targetZ), new Vector3d(upX, upY, upZ));
-        }
-
-        /// <summary>
-        /// Build a projection matrix
-        /// </summary>
-        /// <param name="left">Left edge of the view frustum</param>
-        /// <param name="right">Right edge of the view frustum</param>
-        /// <param name="bottom">Bottom edge of the view frustum</param>
-        /// <param name="top">Top edge of the view frustum</param>
-        /// <param name="near">Distance to the near clip plane</param>
-        /// <param name="far">Distance to the far clip plane</param>
-        /// <returns>A projection matrix that transforms camera space to raster space</returns>
-        public static Matrix4d Frustum(double left, double right, double bottom, double top, double near, double far)
-        {
-            double invRL = 1.0f / (right - left);
-            double invTB = 1.0f / (top - bottom);
-            double invFN = 1.0f / (far - near);
-            return new Matrix4d(new Vector4d (2.0f * near * invRL, 0.0f, 0.0f, 0.0f),
-                               new Vector4d (0.0f, 2.0f * near * invTB, 0.0f, 0.0f),
-                               new Vector4d ((right + left) * invRL, (top + bottom) * invTB, -(far + near) * invFN, -1.0f),
-                               new Vector4d (0.0f, 0.0f, -2.0f * far * near * invFN, 0.0f));
-        }
-
-        /// <summary>
-        /// Build a projection matrix
-        /// </summary>
-        /// <param name="fovy">Angle of the field of view in the y direction (in radians)</param>
-        /// <param name="aspect">Aspect ratio of the view (width / height)</param>
-        /// <param name="near">Distance to the near clip plane</param>
-        /// <param name="far">Distance to the far clip plane</param>
-        /// <returns>A projection matrix that transforms camera space to raster space</returns>
-        public static Matrix4d Perspective(double fovy, double aspect, double near, double far)
-        {
-            double yMax = near * (double)System.Math.Tan(0.5f * fovy);
-            double yMin = -yMax;
-            double xMin = yMin * aspect;
-            double xMax = yMax * aspect;
-
-            return Frustum(xMin, xMax, yMin, yMax, near, far);
-        }
-
-        #endregion
-
-        #region Multiply Functions
-
-        /// <summary>
-        /// Multiplies two instances.
-        /// </summary>
-        /// <param name="left">The left operand of the multiplication.</param>
-        /// <param name="right">The right operand of the multiplication.</param>
-        /// <returns>A new instance that is the result of the multiplication</returns>
-        public static Matrix4d Mult(Matrix4d left, Matrix4d right)
-        {
-            Matrix4d result;
-            Mult(ref left, ref right, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Multiplies two instances.
-        /// </summary>
-        /// <param name="left">The left operand of the multiplication.</param>
-        /// <param name="right">The right operand of the multiplication.</param>
-        /// <param name="result">A new instance that is the result of the multiplication</param>
-        public static void Mult(ref Matrix4d left, ref Matrix4d right, out Matrix4d result)
-        {
-            result = new Matrix4d();
-            result.M11 = left.M11 * right.M11 + left.M12 * right.M21 + left.M13 * right.M31 + left.M14 * right.M41;
-            result.M12 = left.M11 * right.M12 + left.M12 * right.M22 + left.M13 * right.M32 + left.M14 * right.M42;
-            result.M13 = left.M11 * right.M13 + left.M12 * right.M23 + left.M13 * right.M33 + left.M14 * right.M43;
-            result.M14 = left.M11 * right.M14 + left.M12 * right.M24 + left.M13 * right.M34 + left.M14 * right.M44;
-            result.M21 = left.M21 * right.M11 + left.M22 * right.M21 + left.M23 * right.M31 + left.M24 * right.M41;
-            result.M22 = left.M21 * right.M12 + left.M22 * right.M22 + left.M23 * right.M32 + left.M24 * right.M42;
-            result.M23 = left.M21 * right.M13 + left.M22 * right.M23 + left.M23 * right.M33 + left.M24 * right.M43;
-            result.M24 = left.M21 * right.M14 + left.M22 * right.M24 + left.M23 * right.M34 + left.M24 * right.M44;
-            result.M31 = left.M31 * right.M11 + left.M32 * right.M21 + left.M33 * right.M31 + left.M34 * right.M41;
-            result.M32 = left.M31 * right.M12 + left.M32 * right.M22 + left.M33 * right.M32 + left.M34 * right.M42;
-            result.M33 = left.M31 * right.M13 + left.M32 * right.M23 + left.M33 * right.M33 + left.M34 * right.M43;
-            result.M34 = left.M31 * right.M14 + left.M32 * right.M24 + left.M33 * right.M34 + left.M34 * right.M44;
-            result.M41 = left.M41 * right.M11 + left.M42 * right.M21 + left.M43 * right.M31 + left.M44 * right.M41;
-            result.M42 = left.M41 * right.M12 + left.M42 * right.M22 + left.M43 * right.M32 + left.M44 * right.M42;
-            result.M43 = left.M41 * right.M13 + left.M42 * right.M23 + left.M43 * right.M33 + left.M44 * right.M43;
-            result.M44 = left.M41 * right.M14 + left.M42 * right.M24 + left.M43 * right.M34 + left.M44 * right.M44;
-        }
-
-        #endregion
-
-        #region Invert Functions
-
-        /// <summary>
-        /// Calculate the inverse of the given matrix
-        /// </summary>
-        /// <param name="mat">The matrix to invert</param>
-        /// <returns>The inverse of the given matrix if it has one, or the input if it is singular</returns>
-        /// <exception cref="InvalidOperationException">Thrown if the Matrix4d is singular.</exception>
-        public static Matrix4d Invert(Matrix4d mat)
-        {
-            int[] colIdx = { 0, 0, 0, 0 };
-            int[] rowIdx = { 0, 0, 0, 0 };
-            int[] pivotIdx = { -1, -1, -1, -1 };
-
-            // convert the matrix to an array for easy looping
-            double[,] inverse = {{mat.Row0.X, mat.Row0.Y, mat.Row0.Z, mat.Row0.W}, 
-                                {mat.Row1.X, mat.Row1.Y, mat.Row1.Z, mat.Row1.W}, 
-                                {mat.Row2.X, mat.Row2.Y, mat.Row2.Z, mat.Row2.W}, 
-                                {mat.Row3.X, mat.Row3.Y, mat.Row3.Z, mat.Row3.W} };
-            int icol = 0;
-            int irow = 0;
-            for (int i = 0; i < 4; i++)
-            {
-                // Find the largest pivot value
-                double maxPivot = 0.0f;
-                for (int j = 0; j < 4; j++)
-                {
-                    if (pivotIdx[j] != 0)
-                    {
-                        for (int k = 0; k < 4; ++k)
-                        {
-                            if (pivotIdx[k] == -1)
-                            {
-                                double absVal = System.Math.Abs(inverse[j, k]);
-                                if (absVal > maxPivot)
-                                {
-                                    maxPivot = absVal;
-                                    irow = j;
-                                    icol = k;
-                                }
-                            }
-                            else if (pivotIdx[k] > 0)
-                            {
-                                return mat;
-                            }
-                        }
-                    }
-                }
-
-                ++(pivotIdx[icol]);
-
-                // Swap rows over so pivot is on diagonal
-                if (irow != icol)
-                {
-                    for (int k = 0; k < 4; ++k)
-                    {
-                        double f = inverse[irow, k];
-                        inverse[irow, k] = inverse[icol, k];
-                        inverse[icol, k] = f;
-                    }
-                }
-
-                rowIdx[i] = irow;
-                colIdx[i] = icol;
-
-                double pivot = inverse[icol, icol];
-                // check for singular matrix
-                if (pivot == 0.0f)
-                {
-                    throw new InvalidOperationException("Matrix is singular and cannot be inverted.");
-                    //return mat;
-                }
-
-                // Scale row so it has a unit diagonal
-                double oneOverPivot = 1.0f / pivot;
-                inverse[icol, icol] = 1.0f;
-                for (int k = 0; k < 4; ++k)
-                    inverse[icol, k] *= oneOverPivot;
-
-                // Do elimination of non-diagonal elements
-                for (int j = 0; j < 4; ++j)
-                {
-                    // check this isn't on the diagonal
-                    if (icol != j)
-                    {
-                        double f = inverse[j, icol];
-                        inverse[j, icol] = 0.0f;
-                        for (int k = 0; k < 4; ++k)
-                            inverse[j, k] -= inverse[icol, k] * f;
-                    }
-                }
-            }
-
-            for (int j = 3; j >= 0; --j)
-            {
-                int ir = rowIdx[j];
-                int ic = colIdx[j];
-                for (int k = 0; k < 4; ++k)
-                {
-                    double f = inverse[k, ir];
-                    inverse[k, ir] = inverse[k, ic];
-                    inverse[k, ic] = f;
-                }
-            }
-
-            mat.Row0 = new Vector4d (inverse[0, 0], inverse[0, 1], inverse[0, 2], inverse[0, 3]);
-            mat.Row1 = new Vector4d (inverse[1, 0], inverse[1, 1], inverse[1, 2], inverse[1, 3]);
-            mat.Row2 = new Vector4d (inverse[2, 0], inverse[2, 1], inverse[2, 2], inverse[2, 3]);
-            mat.Row3 = new Vector4d (inverse[3, 0], inverse[3, 1], inverse[3, 2], inverse[3, 3]);
-            return mat;
-        }
-
-        #endregion
-
-        #region Transpose
-
-        /// <summary>
-        /// Calculate the transpose of the given matrix
-        /// </summary>
-        /// <param name="mat">The matrix to transpose</param>
-        /// <returns>The transpose of the given matrix</returns>
-        public static Matrix4d Transpose(Matrix4d mat)
-        {
-            return new Matrix4d(mat.Column0, mat.Column1, mat.Column2, mat.Column3);
-        }
-
-
-        /// <summary>
-        /// Calculate the transpose of the given matrix
-        /// </summary>
-        /// <param name="mat">The matrix to transpose</param>
-        /// <param name="result">The result of the calculation</param>
-        public static void Transpose(ref Matrix4d mat, out Matrix4d result)
-        {
-            result.Row0 = mat.Column0;
-            result.Row1 = mat.Column1;
-            result.Row2 = mat.Column2;
-            result.Row3 = mat.Column3;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Operators
-
-        /// <summary>
-        /// Matrix multiplication
-        /// </summary>
-        /// <param name="left">left-hand operand</param>
-        /// <param name="right">right-hand operand</param>
-        /// <returns>A new Matrix44 which holds the result of the multiplication</returns>
-        public static Matrix4d operator *(Matrix4d left, Matrix4d right)
-        {
-            return Matrix4d.Mult(left, right);
-        }
-
-        public static bool operator ==(Matrix4d left, Matrix4d right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Matrix4d left, Matrix4d right)
-        {
-            return !left.Equals(right);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Matrix44.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("{0}\n{1}\n{2}\n{3}", Row0, Row1, Row2, Row3);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return Row0.GetHashCode() ^ Row1.GetHashCode() ^ Row2.GetHashCode() ^ Row3.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Matrix4d))
-                return false;
-
-            return this.Equals((Matrix4d)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Matrix4d> Members
-
-        /// <summary>Indicates whether the current matrix is equal to another matrix.</summary>
-        /// <param name="other">An matrix to compare with this matrix.</param>
-        /// <returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
-        public bool Equals(Matrix4d other)
-        {
-            return
-                Row0 == other.Row0 &&
-                Row1 == other.Row1 &&
-                Row2 == other.Row2 &&
-                Row3 == other.Row3;
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Quaternion.cs b/Source/Compatibility/Math/Quaternion.cs
deleted file mode 100644 (file)
index 10093f6..0000000
+++ /dev/null
@@ -1,587 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.ComponentModel;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a Quaternion.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Quaternion : IEquatable<Quaternion>
-    {
-        #region Fields
-
-        Vector3 xyz;
-        float w;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Construct a new Quaternion from vector and w components
-        /// </summary>
-        /// <param name="v">The vector part</param>
-        /// <param name="w">The w part</param>
-        public Quaternion(Vector3 v, float w)
-        {
-            this.xyz = v;
-            this.w = w;
-        }
-
-        /// <summary>
-        /// Construct a new Quaternion
-        /// </summary>
-        /// <param name="x">The x component</param>
-        /// <param name="y">The y component</param>
-        /// <param name="z">The z component</param>
-        /// <param name="w">The w component</param>
-        public Quaternion(float x, float y, float z, float w)
-            : this(new Vector3(x, y, z), w)
-        { }
-
-        #endregion
-
-        #region Public Members
-
-        #region Properties
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance.
-        /// </summary>
-        [Obsolete("Use Xyz property instead.")]
-        [CLSCompliant(false)]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        [XmlIgnore]
-        public Vector3 XYZ { get { return Xyz; } set { Xyz = value; } }
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance.
-        /// </summary>
-        public Vector3 Xyz { get { return xyz; } set { xyz = value; } }
-
-        /// <summary>
-        /// Gets or sets the X component of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public float X { get { return xyz.X; } set { xyz.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the Y component of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public float Y { get { return xyz.Y; } set { xyz.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the Z component of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public float Z { get { return xyz.Z; } set { xyz.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the W component of this instance.
-        /// </summary>
-        public float W { get { return w; } set { w = value; } }
-
-        #endregion
-
-        #region Instance
-
-        #region ToAxisAngle
-
-        /// <summary>
-        /// Convert the current quaternion to axis angle representation
-        /// </summary>
-        /// <param name="axis">The resultant axis</param>
-        /// <param name="angle">The resultant angle</param>
-        public void ToAxisAngle(out Vector3 axis, out float angle)
-        {
-            Vector4 result = ToAxisAngle();
-            axis = result.Xyz;
-            angle = result.W;
-        }
-
-        /// <summary>
-        /// Convert this instance to an axis-angle representation.
-        /// </summary>
-        /// <returns>A Vector4 that is the axis-angle representation of this quaternion.</returns>
-        public Vector4 ToAxisAngle()
-        {
-            Quaternion q = this;
-            if (q.W > 1.0f)
-                q.Normalize();
-
-            Vector4 result = new Vector4();
-
-            result.W = 2.0f * (float)System.Math.Acos(q.W); // angle
-            float den = (float)System.Math.Sqrt(1.0 - q.W * q.W);
-            if (den > 0.0001f)
-            {
-                result.Xyz = q.Xyz / den;
-            }
-            else
-            {
-                // This occurs when the angle is zero. 
-                // Not a problem: just set an arbitrary normalized axis.
-                result.Xyz = Vector3.UnitX;
-            }
-
-            return result;
-        }
-
-        #endregion
-
-        #region public float Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the quaternion.
-        /// </summary>
-        /// <seealso cref="LengthSquared"/>
-        public float Length
-        {
-            get
-            {
-                return (float)System.Math.Sqrt(W * W + Xyz.LengthSquared);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthSquared
-
-        /// <summary>
-        /// Gets the square of the quaternion length (magnitude).
-        /// </summary>
-        public float LengthSquared
-        {
-            get
-            {
-                return W * W + Xyz.LengthSquared;
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Quaternion to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            float scale = 1.0f / this.Length;
-            Xyz *= scale;
-            W *= scale;
-        }
-
-        #endregion
-
-        #region public void Conjugate()
-
-        /// <summary>
-        /// Convert this quaternion to its conjugate
-        /// </summary>
-        public void Conjugate()
-        {
-            Xyz = -Xyz;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Static
-
-        #region Fields
-
-        /// <summary>
-        /// Defines the identity quaternion.
-        /// </summary>
-        public static Quaternion Identity = new Quaternion(0, 0, 0, 1);
-
-        #endregion
-
-        #region Add
-
-        /// <summary>
-        /// Add two quaternions
-        /// </summary>
-        /// <param name="left">The first operand</param>
-        /// <param name="right">The second operand</param>
-        /// <returns>The result of the addition</returns>
-        public static Quaternion Add(Quaternion left, Quaternion right)
-        {
-            return new Quaternion(
-                left.Xyz + right.Xyz,
-                left.W + right.W);
-        }
-
-        /// <summary>
-        /// Add two quaternions
-        /// </summary>
-        /// <param name="left">The first operand</param>
-        /// <param name="right">The second operand</param>
-        /// <param name="result">The result of the addition</param>
-        public static void Add(ref Quaternion left, ref Quaternion right, out Quaternion result)
-        {
-            result = new Quaternion(
-                left.Xyz + right.Xyz,
-                left.W + right.W);
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtracts two instances.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Quaternion Sub(Quaternion left, Quaternion right)
-        {
-            return  new Quaternion(
-                left.Xyz - right.Xyz,
-                left.W - right.W);
-        }
-
-        /// <summary>
-        /// Subtracts two instances.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <param name="result">The result of the operation.</param>
-        public static void Sub(ref Quaternion left, ref Quaternion right, out Quaternion result)
-        {
-            result = new Quaternion(
-                left.Xyz - right.Xyz,
-                left.W - right.W);
-        }
-
-        #endregion
-
-        #region Mult
-
-        public static Quaternion Mult(Quaternion left, Quaternion right)
-        {
-            return new Quaternion(
-                right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz),
-                left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz));
-        }
-
-        public static void Mult(ref Quaternion left, ref Quaternion right, out Quaternion result)
-        {
-            result = new Quaternion(
-                right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz),
-                left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz));
-        }
-
-        #endregion
-
-        #region Conjugate
-
-        /// <summary>
-        /// Get the conjugate of the given quaternion
-        /// </summary>
-        /// <param name="q">The quaternion</param>
-        /// <returns>The conjugate of the given quaternion</returns>
-        public static Quaternion Conjugate(Quaternion q)
-        {
-            return new Quaternion(-q.Xyz, q.W);
-        }
-
-        /// <summary>
-        /// Get the conjugate of the given quaternion
-        /// </summary>
-        /// <param name="q">The quaternion</param>
-        /// <param name="result">The conjugate of the given quaternion</param>
-        public static void Conjugate(ref Quaternion q, out Quaternion result)
-        {
-            result = new Quaternion(-q.Xyz, q.W);
-        }
-
-        #endregion
-
-        #region Invert
-
-        /// <summary>
-        /// Get the inverse of the given quaternion
-        /// </summary>
-        /// <param name="q">The quaternion to invert</param>
-        /// <returns>The inverse of the given quaternion</returns>
-        public static Quaternion Invert(Quaternion q)
-        {
-            Quaternion result;
-            Invert(ref q, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Get the inverse of the given quaternion
-        /// </summary>
-        /// <param name="q">The quaternion to invert</param>
-        /// <param name="result">The inverse of the given quaternion</param>
-        public static void Invert(ref Quaternion q, out Quaternion result)
-        {
-            float lengthSq = q.LengthSquared;
-            if (lengthSq != 0.0)
-            {
-                float i = 1.0f / lengthSq;
-                result = new Quaternion(q.Xyz * -i, q.W * i);
-            }
-            else
-            {
-                result = q;
-            }
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale the given quaternion to unit length
-        /// </summary>
-        /// <param name="q">The quaternion to normalize</param>
-        /// <returns>The normalized quaternion</returns>
-        public static Quaternion Normalize(Quaternion q)
-        {
-            Quaternion result;
-            Normalize(ref q, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Scale the given quaternion to unit length
-        /// </summary>
-        /// <param name="q">The quaternion to normalize</param>
-        /// <param name="result">The normalized quaternion</param>
-        public static void Normalize(ref Quaternion q, out Quaternion result)
-        {
-            float scale = 1.0f / q.Length;
-            result = new Quaternion(q.Xyz * scale, q.W * scale);
-        }
-
-        #endregion
-
-        #region FromAxisAngle
-
-        /// <summary>
-        /// Build a quaternion from the given axis and angle
-        /// </summary>
-        /// <param name="axis">The axis to rotate about</param>
-        /// <param name="angle">The rotation angle in radians</param>
-        /// <returns></returns>
-        public static Quaternion FromAxisAngle(Vector3 axis, float angle)
-        {
-            if (axis.LengthSquared == 0.0f)
-                return Identity;
-
-            Quaternion result = Identity;
-
-            angle *= 0.5f;
-            axis.Normalize();
-            result.Xyz = axis * (float)System.Math.Sin(angle);
-            result.W = (float)System.Math.Cos(angle);
-
-            return Normalize(result);
-        }
-
-        #endregion
-
-        #region Slerp
-
-        /// <summary>
-        /// Do Spherical linear interpolation between two quaternions 
-        /// </summary>
-        /// <param name="q1">The first quaternion</param>
-        /// <param name="q2">The second quaternion</param>
-        /// <param name="blend">The blend factor</param>
-        /// <returns>A smooth blend between the given quaternions</returns>
-        public static Quaternion Slerp(Quaternion q1, Quaternion q2, float blend)
-        {
-            // if either input is zero, return the other.
-            if (q1.LengthSquared == 0.0f)
-            {
-                if (q2.LengthSquared == 0.0f)
-                {
-                    return Identity;
-                }
-                return q2;
-            }
-            else if (q2.LengthSquared == 0.0f)
-            {
-                return q1;
-            }
-
-
-            float cosHalfAngle = q1.W * q2.W + Vector3.Dot(q1.Xyz, q2.Xyz);
-
-            if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f)
-            {
-                // angle = 0.0f, so just return one input.
-                return q1;
-            }
-            else if (cosHalfAngle < 0.0f)
-            {
-                q2.Xyz = -q2.Xyz;
-                q2.W = -q2.W;
-                cosHalfAngle = -cosHalfAngle;
-            }
-
-            float blendA;
-            float blendB;
-            if (cosHalfAngle < 0.99f)
-            {
-                // do proper slerp for big angles
-                float halfAngle = (float)System.Math.Acos(cosHalfAngle);
-                float sinHalfAngle = (float)System.Math.Sin(halfAngle);
-                float oneOverSinHalfAngle = 1.0f / sinHalfAngle;
-                blendA = (float)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle;
-                blendB = (float)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle;
-            }
-            else
-            {
-                // do lerp if angle is really small.
-                blendA = 1.0f - blend;
-                blendB = blend;
-            }
-
-            Quaternion result = new Quaternion(blendA * q1.Xyz + blendB * q2.Xyz, blendA * q1.W + blendB * q2.W);
-            if (result.LengthSquared > 0.0f)
-                return Normalize(result);
-            else
-                return Identity;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Operators
-
-        public static Quaternion operator +(Quaternion left, Quaternion right)
-        {
-            left.Xyz += right.Xyz;
-            left.W += right.W;
-            return left;
-        }
-
-        public static Quaternion operator -(Quaternion left, Quaternion right)
-        {
-            left.Xyz -= right.Xyz;
-            left.W -= right.W;
-            return left;
-        }
-
-        public static Quaternion operator *(Quaternion left, Quaternion right)
-        {
-            float w = left.W * right.W - Vector3.Dot(left.Xyz, right.Xyz);
-            left.Xyz = right.W * left.Xyz + left.W * right.Xyz + Vector3.Cross(left.Xyz, right.Xyz);
-            left.W = w;
-            return left;
-        }
-
-        public static bool operator ==(Quaternion left, Quaternion right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Quaternion left, Quaternion right)
-        {
-            return !left.Equals(right);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Quaternion.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("V: {0}, W: {1}", Xyz, W);
-        }
-
-        #endregion
-
-        #region public override bool Equals (object o)
-
-        /// <summary>
-        /// Compares this object instance to another object for equality. 
-        /// </summary>
-        /// <param name="other">The other object to be used in the comparison.</param>
-        /// <returns>True if both objects are Quaternions of equal value. Otherwise it returns false.</returns>
-        public override bool Equals(object other)
-        {
-            if (other is Quaternion == false) return false;
-               return this == (Quaternion)other;
-        }
-
-        #endregion
-
-        #region public override int GetHashCode ()
-
-        /// <summary>
-        /// Provides the hash code for this object. 
-        /// </summary>
-        /// <returns>A hash code formed from the bitwise XOR of this objects members.</returns>
-        public override int GetHashCode()
-        {
-            return Xyz.GetHashCode() ^ W.GetHashCode();
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Quaternion> Members
-
-        /// <summary>
-        /// Compares this Quaternion instance to another Quaternion for equality. 
-        /// </summary>
-        /// <param name="other">The other Quaternion to be used in the comparison.</param>
-        /// <returns>True if both instances are equal; false otherwise.</returns>
-        public bool Equals(Quaternion other)
-        {
-            return Xyz == other.Xyz && W == other.W;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/Quaterniond.cs b/Source/Compatibility/Math/Quaterniond.cs
deleted file mode 100644 (file)
index cbaab9c..0000000
+++ /dev/null
@@ -1,1212 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.ComponentModel;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a double-precision Quaternion.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Quaterniond : IEquatable<Quaterniond>
-    {
-        #region Fields
-
-        Vector3d xyz;
-        double w;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Construct a new Quaterniond from vector and w components
-        /// </summary>
-        /// <param name="v">The vector part</param>
-        /// <param name="w">The w part</param>
-        public Quaterniond(Vector3d v, double w)
-        {
-            this.xyz = v;
-            this.w = w;
-        }
-
-        /// <summary>
-        /// Construct a new Quaterniond
-        /// </summary>
-        /// <param name="x">The x component</param>
-        /// <param name="y">The y component</param>
-        /// <param name="z">The z component</param>
-        /// <param name="w">The w component</param>
-        public Quaterniond(double x, double y, double z, double w)
-            : this(new Vector3d(x, y, z), w)
-        { }
-
-        #endregion
-
-        #region Public Members
-
-        #region Properties
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance.
-        /// </summary>
-        [Obsolete("Use Xyz property instead.")]
-        [CLSCompliant(false)]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        [XmlIgnore]
-        public Vector3d XYZ { get { return Xyz; } set { Xyz = value; } }
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance.
-        /// </summary>
-        public Vector3d Xyz { get { return xyz; } set { xyz = value; } }
-
-        /// <summary>
-        /// Gets or sets the X component of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public double X { get { return xyz.X; } set { xyz.X = value; } }
-
-        /// <summary>
-        /// Gets or sets the Y component of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public double Y { get { return xyz.Y; } set { xyz.Y = value; } }
-
-        /// <summary>
-        /// Gets or sets the Z component of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public double Z { get { return xyz.Z; } set { xyz.Z = value; } }
-
-        /// <summary>
-        /// Gets or sets the W component of this instance.
-        /// </summary>
-        public double W { get { return w; } set { w = value; } }
-        
-        #endregion
-
-        #region Instance
-
-        #region ToAxisAngle
-
-        /// <summary>
-        /// Convert the current quaternion to axis angle representation
-        /// </summary>
-        /// <param name="axis">The resultant axis</param>
-        /// <param name="angle">The resultant angle</param>
-        public void ToAxisAngle(out Vector3d axis, out double angle)
-        {
-            Vector4d result = ToAxisAngle();
-            axis = result.Xyz;
-            angle = result.W;
-        }
-
-        /// <summary>
-        /// Convert this instance to an axis-angle representation.
-        /// </summary>
-        /// <returns>A Vector4 that is the axis-angle representation of this quaternion.</returns>
-        public Vector4d ToAxisAngle()
-        {
-            Quaterniond q = this;
-            if (q.W > 1.0f)
-                q.Normalize();
-
-            Vector4d result = new Vector4d();
-
-            result.W = 2.0f * (float)System.Math.Acos(q.W); // angle
-            float den = (float)System.Math.Sqrt(1.0 - q.W * q.W);
-            if (den > 0.0001f)
-            {
-                result.Xyz = q.Xyz / den;
-            }
-            else
-            {
-                // This occurs when the angle is zero. 
-                // Not a problem: just set an arbitrary normalized axis.
-                result.Xyz = Vector3d.UnitX;
-            }
-
-            return result;
-        }
-
-        #endregion
-
-        #region public double Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the Quaterniond.
-        /// </summary>
-        /// <seealso cref="LengthSquared"/>
-        public double Length
-        {
-            get
-            {
-                return (double)System.Math.Sqrt(W * W + Xyz.LengthSquared);
-            }
-        }
-
-        #endregion
-
-        #region public double LengthSquared
-
-        /// <summary>
-        /// Gets the square of the Quaterniond length (magnitude).
-        /// </summary>
-        public double LengthSquared
-        {
-            get
-            {
-                return W * W + Xyz.LengthSquared;
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Quaterniond to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            double scale = 1.0f / this.Length;
-            Xyz *= scale;
-            W *= scale;
-        }
-
-        #endregion
-
-        #region public void Conjugate()
-
-        /// <summary>
-        /// Convert this Quaterniond to its conjugate
-        /// </summary>
-        public void Conjugate()
-        {
-            Xyz = -Xyz;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Static
-
-        #region Fields
-
-        /// <summary>
-        /// Defines the identity quaternion.
-        /// </summary>
-        public readonly static Quaterniond Identity = new Quaterniond(0, 0, 0, 1);
-
-        #endregion
-
-        #region Add
-
-        /// <summary>
-        /// Add two quaternions
-        /// </summary>
-        /// <param name="left">The first operand</param>
-        /// <param name="right">The second operand</param>
-        /// <returns>The result of the addition</returns>
-        public static Quaterniond Add(Quaterniond left, Quaterniond right)
-        {
-            return new Quaterniond(
-                left.Xyz + right.Xyz,
-                left.W + right.W);
-        }
-
-        /// <summary>
-        /// Add two quaternions
-        /// </summary>
-        /// <param name="left">The first operand</param>
-        /// <param name="right">The second operand</param>
-        /// <param name="result">The result of the addition</param>
-        public static void Add(ref Quaterniond left, ref Quaterniond right, out Quaterniond result)
-        {
-            result = new Quaterniond(
-                left.Xyz + right.Xyz,
-                left.W + right.W);
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtracts two instances.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Quaterniond Sub(Quaterniond left, Quaterniond right)
-        {
-            return new Quaterniond(
-                left.Xyz - right.Xyz,
-                left.W - right.W);
-        }
-
-        /// <summary>
-        /// Subtracts two instances.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <param name="result">The result of the operation.</param>
-        public static void Sub(ref Quaterniond left, ref Quaterniond right, out Quaterniond result)
-        {
-            result = new Quaterniond(
-                left.Xyz - right.Xyz,
-                left.W - right.W);
-        }
-
-        #endregion
-
-        #region Mult
-
-        public static Quaterniond Mult(Quaterniond left, Quaterniond right)
-        {
-            return new Quaterniond(
-                right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz),
-                left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz));
-        }
-
-        public static void Mult(ref Quaterniond left, ref Quaterniond right, out Quaterniond result)
-        {
-            result = new Quaterniond(
-                right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz),
-                left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz));
-        }
-
-        #endregion
-
-        #region Conjugate
-
-        /// <summary>
-        /// Get the conjugate of the given Quaterniond
-        /// </summary>
-        /// <param name="q">The Quaterniond</param>
-        /// <returns>The conjugate of the given Quaterniond</returns>
-        public static Quaterniond Conjugate(Quaterniond q)
-        {
-            return new Quaterniond(-q.Xyz, q.W);
-        }
-
-        /// <summary>
-        /// Get the conjugate of the given Quaterniond
-        /// </summary>
-        /// <param name="q">The Quaterniond</param>
-        /// <param name="result">The conjugate of the given Quaterniond</param>
-        public static void Conjugate(ref Quaterniond q, out Quaterniond result)
-        {
-            result = new Quaterniond(-q.Xyz, q.W);
-        }
-
-        #endregion
-
-        #region Invert
-
-        /// <summary>
-        /// Get the inverse of the given Quaterniond
-        /// </summary>
-        /// <param name="q">The Quaterniond to invert</param>
-        /// <returns>The inverse of the given Quaterniond</returns>
-        public static Quaterniond Invert(Quaterniond q)
-        {
-            Quaterniond result;
-            Invert(ref q, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Get the inverse of the given Quaterniond
-        /// </summary>
-        /// <param name="q">The Quaterniond to invert</param>
-        /// <param name="result">The inverse of the given Quaterniond</param>
-        public static void Invert(ref Quaterniond q, out Quaterniond result)
-        {
-            double lengthSq = q.LengthSquared;
-            if (lengthSq != 0.0)
-            {
-                double i = 1.0f / lengthSq;
-                result = new Quaterniond(q.Xyz * -i, q.W * i);
-            }
-            else
-            {
-                result = q;
-            }
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale the given Quaterniond to unit length
-        /// </summary>
-        /// <param name="q">The Quaterniond to normalize</param>
-        /// <returns>The normalized Quaterniond</returns>
-        public static Quaterniond Normalize(Quaterniond q)
-        {
-            Quaterniond result;
-            Normalize(ref q, out result);
-            return result;
-        }
-
-        /// <summary>
-        /// Scale the given Quaterniond to unit length
-        /// </summary>
-        /// <param name="q">The Quaterniond to normalize</param>
-        /// <param name="result">The normalized Quaterniond</param>
-        public static void Normalize(ref Quaterniond q, out Quaterniond result)
-        {
-            double scale = 1.0f / q.Length;
-            result = new Quaterniond(q.Xyz * scale, q.W * scale);
-        }
-
-        #endregion
-
-        #region FromAxisAngle
-
-        /// <summary>
-        /// Build a Quaterniond from the given axis and angle
-        /// </summary>
-        /// <param name="axis">The axis to rotate about</param>
-        /// <param name="angle">The rotation angle in radians</param>
-        /// <returns></returns>
-        public static Quaterniond FromAxisAngle(Vector3d axis, double angle)
-        {
-            if (axis.LengthSquared == 0.0f)
-                return Identity;
-
-            Quaterniond result = Identity;
-
-            angle *= 0.5f;
-            axis.Normalize();
-            result.Xyz = axis * (double)System.Math.Sin(angle);
-            result.W = (double)System.Math.Cos(angle);
-
-            return Normalize(result);
-        }
-
-        #endregion
-
-        #region Slerp
-
-        /// <summary>
-        /// Do Spherical linear interpolation between two quaternions 
-        /// </summary>
-        /// <param name="q1">The first Quaterniond</param>
-        /// <param name="q2">The second Quaterniond</param>
-        /// <param name="blend">The blend factor</param>
-        /// <returns>A smooth blend between the given quaternions</returns>
-        public static Quaterniond Slerp(Quaterniond q1, Quaterniond q2, double blend)
-        {
-            // if either input is zero, return the other.
-            if (q1.LengthSquared == 0.0f)
-            {
-                if (q2.LengthSquared == 0.0f)
-                {
-                    return Identity;
-                }
-                return q2;
-            }
-            else if (q2.LengthSquared == 0.0f)
-            {
-                return q1;
-            }
-
-
-            double cosHalfAngle = q1.W * q2.W + Vector3d.Dot(q1.Xyz, q2.Xyz);
-
-            if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f)
-            {
-                // angle = 0.0f, so just return one input.
-                return q1;
-            }
-            else if (cosHalfAngle < 0.0f)
-            {
-                q2.Xyz = -q2.Xyz;
-                q2.W = -q2.W;
-                cosHalfAngle = -cosHalfAngle;
-            }
-
-            double blendA;
-            double blendB;
-            if (cosHalfAngle < 0.99f)
-            {
-                // do proper slerp for big angles
-                double halfAngle = (double)System.Math.Acos(cosHalfAngle);
-                double sinHalfAngle = (double)System.Math.Sin(halfAngle);
-                double oneOverSinHalfAngle = 1.0f / sinHalfAngle;
-                blendA = (double)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle;
-                blendB = (double)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle;
-            }
-            else
-            {
-                // do lerp if angle is really small.
-                blendA = 1.0f - blend;
-                blendB = blend;
-            }
-
-            Quaterniond result = new Quaterniond(blendA * q1.Xyz + blendB * q2.Xyz, blendA * q1.W + blendB * q2.W);
-            if (result.LengthSquared > 0.0f)
-                return Normalize(result);
-            else
-                return Identity;
-        }
-
-        #endregion
-
-        #endregion
-                
-        #region Operators
-
-        public static Quaterniond operator +(Quaterniond left, Quaterniond right)
-        {
-            left.Xyz += right.Xyz;
-            left.W += right.W;
-            return left;
-        }
-
-        public static Quaterniond operator -(Quaterniond left, Quaterniond right)
-        {
-            left.Xyz -= right.Xyz;
-            left.W -= right.W;
-            return left;
-        }
-
-        public static Quaterniond operator *(Quaterniond left, Quaterniond right)
-        {
-            double w = left.W * right.W - Vector3d.Dot(left.Xyz, right.Xyz);
-            left.Xyz = right.W * left.Xyz + left.W * right.Xyz + Vector3d.Cross(left.Xyz, right.Xyz);
-            left.W = w;
-            return left;
-        }
-
-        public static bool operator ==(Quaterniond left, Quaterniond right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Quaterniond left, Quaterniond right)
-        {
-            return !left.Equals(right);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Quaterniond.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("V: {0}, W: {1}", Xyz, W);
-        }
-
-        #endregion
-
-        #region public override bool Equals (object o)
-
-        /// <summary>
-        /// Compares this object instance to another object for equality. 
-        /// </summary>
-        /// <param name="other">The other object to be used in the comparison.</param>
-        /// <returns>True if both objects are Quaternions of equal value. Otherwise it returns false.</returns>
-        public override bool Equals(object other)
-        {
-            if (other is Quaterniond == false) return false;
-            return this == (Quaterniond)other;
-        }
-
-        #endregion
-
-        #region public override int GetHashCode ()
-
-        /// <summary>
-        /// Provides the hash code for this object. 
-        /// </summary>
-        /// <returns>A hash code formed from the bitwise XOR of this objects members.</returns>
-        public override int GetHashCode()
-        {
-            return Xyz.GetHashCode() ^ W.GetHashCode();
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-#if false
-
-        #region Fields
-
-        /// <summary>The W component of the Quaterniond.</summary>
-        public double W;
-
-        /// <summary>The X component of the Quaterniond.</summary>
-        public double X;
-
-        /// <summary>The Y component of the Quaterniond.</summary>
-        public double Y;
-
-        /// <summary>The Z component of the Quaterniond.</summary>
-        public double Z;
-
-        #endregion
-        
-        #region Constructors
-
-        /// <summary>Constructs left Quaterniond that is left copy of the given Quaterniond.</summary>
-        /// <param name="quaterniond">The Quaterniond to copy.</param>
-        public Quaterniond(ref Quaterniond Quaterniond) : this(Quaterniond.W, Quaterniond.X, Quaterniond.Y, Quaterniond.Z) { }
-
-        /// <summary>Constructs left Quaterniond from the given components.</summary>
-        /// <param name="w">The W component for the Quaterniond.</param>
-        /// <param name="vector3d">A Vector representing the X, Y, and Z componets for the quaterion.</param>
-        public Quaterniond(double w, ref Vector3d vector3d) : this(w, vector3d.X, vector3d.Y, vector3d.Z) { }
-
-        /// <summary>Constructs left Quaterniond from the given axis and angle.</summary>
-        /// <param name="axis">The axis for the Quaterniond.</param>
-        /// <param name="angle">The angle for the quaternione.</param>
-        public Quaterniond(ref Vector3d axis, double angle)
-        {
-            double halfAngle = Functions.DTOR * angle / 2;
-
-            this.W = System.Math.Cos(halfAngle);
-
-            double sin = System.Math.Sin(halfAngle);
-            Vector3d axisNormalized;
-            Vector3d.Normalize(ref axis, out axisNormalized);
-            this.X = axisNormalized.X * sin;
-            this.Y = axisNormalized.Y * sin;
-            this.Z = axisNormalized.Z * sin;
-        }
-
-        /// <summary>Constructs left Quaterniond from the given components.</summary>
-        /// <param name="w">The W component for the Quaterniond.</param>
-        /// <param name="x">The X component for the Quaterniond.</param>
-        /// <param name="y">The Y component for the Quaterniond.</param>
-        /// <param name="z">The Z component for the Quaterniond.</param>
-        public Quaterniond(double w, double x, double y, double z)
-        {
-            this.W = w;
-            this.X = x;
-            this.Y = y;
-            this.Z = z;
-        }
-
-        /// <summary>Constructs left Quaterniond from the given array of double-precision floating-point numbers.</summary>
-        /// <param name="doubleArray">The array of doubles for the components of the Quaterniond.</param>
-        public Quaterniond(double[] doubleArray)
-        {
-            if (doubleArray == null || doubleArray.GetLength(0) < 4) throw new MissingFieldException();
-
-            this.W = doubleArray[0];
-            this.X = doubleArray[1];
-            this.Y = doubleArray[2];
-            this.Z = doubleArray[3];
-        }
-
-        /// <summary>Constructs left Quaterniond from the given matrix.  Only contains rotation information.</summary>
-        /// <param name="matrix">The matrix for the components of the Quaterniond.</param>
-        public Quaterniond(ref Matrix4d matrix)
-        {
-            double scale = System.Math.Pow(matrix.Determinant, 1.0d/3.0d);
-            W = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] + matrix[1, 1] + matrix[2, 2])) / 2;
-            X = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] - matrix[1, 1] - matrix[2, 2])) / 2;
-            Y = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] + matrix[1, 1] - matrix[2, 2])) / 2;
-            Z = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] - matrix[1, 1] + matrix[2, 2])) / 2; 
-            if( matrix[2,1] - matrix[1,2] < 0 ) X = -X;
-            if( matrix[0,2] - matrix[2,0] < 0 ) Y = -Y;
-            if( matrix[1,0] - matrix[0,1] < 0 ) Z = -Z;
-        }
-
-        public Quaterniond(ref Matrix3d matrix)
-        {
-            double scale = System.Math.Pow(matrix.Determinant, 1.0d / 3.0d);
-
-            W = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] + matrix[1, 1] + matrix[2, 2])) / 2;
-            X = System.Math.Sqrt(System.Math.Max(0, scale + matrix[0, 0] - matrix[1, 1] - matrix[2, 2])) / 2;
-            Y = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] + matrix[1, 1] - matrix[2, 2])) / 2;
-            Z = System.Math.Sqrt(System.Math.Max(0, scale - matrix[0, 0] - matrix[1, 1] + matrix[2, 2])) / 2;
-            if (matrix[2, 1] - matrix[1, 2] < 0) X = -X;
-            if (matrix[0, 2] - matrix[2, 0] < 0) Y = -Y;
-            if (matrix[1, 0] - matrix[0, 1] < 0) Z = -Z;
-        }
-
-        #endregion
-
-        #region Arithmetic Operators
-
-        public void Add(ref Quaterniond Quaterniond)
-        {
-            W = W + Quaterniond.W;
-            X = X + Quaterniond.X;
-            Y = Y + Quaterniond.Y;
-            Z = Z + Quaterniond.Z;
-        }
-        public void Add(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            result.W = W + Quaterniond.W;
-            result.X = X + Quaterniond.X;
-            result.Y = Y + Quaterniond.Y;
-            result.Z = Z + Quaterniond.Z;
-        }
-        public static void Add(ref Quaterniond left, ref Quaterniond right, out Quaterniond result)
-        {
-            result.W = left.W + right.W;
-            result.X = left.X + right.X;
-            result.Y = left.Y + right.Y;
-            result.Z = left.Z + right.Z;
-        }
-
-        public void Subtract(ref Quaterniond Quaterniond)
-        {
-            W = W - Quaterniond.W;
-            X = X - Quaterniond.X;
-            Y = Y - Quaterniond.Y;
-            Z = Z - Quaterniond.Z;
-        }
-        public void Subtract(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            result.W = W - Quaterniond.W;
-            result.X = X - Quaterniond.X;
-            result.Y = Y - Quaterniond.Y;
-            result.Z = Z - Quaterniond.Z;
-        }
-        public static void Subtract(ref Quaterniond left, ref Quaterniond right, out Quaterniond result)
-        {
-            result.W = left.W - right.W;
-            result.X = left.X - right.X;
-            result.Y = left.Y - right.Y;
-            result.Z = left.Z - right.Z;
-        }
-
-        public void Multiply(ref Quaterniond Quaterniond)
-        {
-            double w = W * Quaterniond.W - X * Quaterniond.X - Y * Quaterniond.Y - Z * Quaterniond.Z;
-            double x = W * Quaterniond.X + X * Quaterniond.W + Y * Quaterniond.Z - Z * Quaterniond.Y;
-            double y = W * Quaterniond.Y + Y * Quaterniond.W + Z * Quaterniond.X - X * Quaterniond.Z;
-            Z = W * Quaterniond.Z + Z * Quaterniond.W + X * Quaterniond.Y - Y * Quaterniond.X;
-            W = w;
-            X = x;
-            Y = y;
-        }
-        public void Multiply(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            result.W = W * Quaterniond.W - X * Quaterniond.X - Y * Quaterniond.Y - Z * Quaterniond.Z;
-            result.X = W * Quaterniond.X + X * Quaterniond.W + Y * Quaterniond.Z - Z * Quaterniond.Y;
-            result.Y = W * Quaterniond.Y + Y * Quaterniond.W + Z * Quaterniond.X - X * Quaterniond.Z;
-            result.Z = W * Quaterniond.Z + Z * Quaterniond.W + X * Quaterniond.Y - Y * Quaterniond.X;
-        }
-        public static void Multiply(ref Quaterniond left, ref Quaterniond right, out Quaterniond result)
-        {
-            result.W = left.W * right.W - left.X * right.X - left.Y * right.Y - left.Z * right.Z;
-            result.X = left.W * right.X + left.X * right.W + left.Y * right.Z - left.Z * right.Y;
-            result.Y = left.W * right.Y + left.Y * right.W + left.Z * right.X - left.X * right.Z;
-            result.Z = left.W * right.Z + left.Z * right.W + left.X * right.Y - left.Y * right.X;
-        }
-
-        public void Multiply(double scalar)
-        {
-            W = W * scalar;
-            X = X * scalar;
-            Y = Y * scalar;
-            Z = Z * scalar;
-        }
-        public void Multiply(double scalar, out Quaterniond result)
-        {
-            result.W = W * scalar;
-            result.X = X * scalar;
-            result.Y = Y * scalar;
-            result.Z = Z * scalar;
-        }
-        public static void Multiply(ref Quaterniond Quaterniond, double scalar, out Quaterniond result)
-        {
-            result.W = Quaterniond.W * scalar;
-            result.X = Quaterniond.X * scalar;
-            result.Y = Quaterniond.Y * scalar;
-            result.Z = Quaterniond.Z * scalar;
-        }
-
-        public void Divide(double scalar)
-        {
-            if (scalar == 0) throw new DivideByZeroException();
-            W = W / scalar;
-            X = X / scalar;
-            Y = Y / scalar;
-            Z = Z / scalar;
-        }
-        public void Divide(double scalar, out Quaterniond result)
-        {
-            if (scalar == 0) throw new DivideByZeroException();
-            result.W = W / scalar;
-            result.X = X / scalar;
-            result.Y = Y / scalar;
-            result.Z = Z / scalar;
-        }
-        public static void Divide(ref Quaterniond Quaterniond, double scalar, out Quaterniond result)
-        {
-            if (scalar == 0) throw new DivideByZeroException();
-            result.W = Quaterniond.W / scalar;
-            result.X = Quaterniond.X / scalar;
-            result.Y = Quaterniond.Y / scalar;
-            result.Z = Quaterniond.Z / scalar;
-        }
-
-        #endregion
-        
-        #region Functions
-
-        public double Modulus
-        {
-            get
-            {
-                return System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z);
-            }
-        }
-        public double ModulusSquared
-        {
-            get
-            {
-                return W * W + X * X + Y * Y + Z * Z;
-            }
-        }
-
-        public static double DotProduct(Quaterniond left, Quaterniond right)
-        {
-            return left.W * right.W + left.X * right.X + left.Y * right.Y + left.Z * right.Z;
-        }
-
-        public void Normalize()
-        {
-            double modulus = System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z);
-            if (modulus == 0) throw new DivideByZeroException();
-            W = W / modulus;
-            X = X / modulus;
-            Y = Y / modulus;
-            Z = Z / modulus;
-        }
-        public void Normalize( out Quaterniond result )
-        {
-            double modulus = System.Math.Sqrt(W * W + X * X + Y * Y + Z * Z);
-            if (modulus == 0) throw new DivideByZeroException();
-            result.W = W / modulus;
-            result.X = X / modulus;
-            result.Y = Y / modulus;
-            result.Z = Z / modulus;
-        }
-        public static void Normalize(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            double modulus = System.Math.Sqrt(Quaterniond.W * Quaterniond.W + Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z);
-            if (modulus == 0) throw new DivideByZeroException();
-            result.W = Quaterniond.W / modulus;
-            result.X = Quaterniond.X / modulus;
-            result.Y = Quaterniond.Y / modulus;
-            result.Z = Quaterniond.Z / modulus;
-        }
-
-        public void Conjugate()
-        {
-            X = -X;
-            Y = -Y;
-            Z = -Z;
-        }
-        public void Conjugate( out Quaterniond result )
-        {
-            result.W = W;
-            result.X = -X;
-            result.Y = -Y;
-            result.Z = -Z;
-        }
-        public static void Conjugate(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            result.W = Quaterniond.W;
-            result.X = -Quaterniond.X;
-            result.Y = -Quaterniond.Y;
-            result.Z = -Quaterniond.Z;
-        }
-
-        public void Inverse()
-        {
-            double modulusSquared = W * W + X * X + Y * Y + Z * Z;
-            if (modulusSquared <= 0) throw new InvalidOperationException();
-            double inverseModulusSquared = 1.0 / modulusSquared;
-            W = W * inverseModulusSquared;
-            X = X * -inverseModulusSquared;
-            Y = Y * -inverseModulusSquared;
-            Z = Z * -inverseModulusSquared;
-        }
-        public void Inverse( out Quaterniond result )
-        {
-            double modulusSquared = W * W + X * X + Y * Y + Z * Z;
-            if (modulusSquared <= 0) throw new InvalidOperationException();
-            double inverseModulusSquared = 1.0 / modulusSquared;
-            result.W = W * inverseModulusSquared;
-            result.X = X * -inverseModulusSquared;
-            result.Y = Y * -inverseModulusSquared;
-            result.Z = Z * -inverseModulusSquared;
-        }
-        public static void Inverse(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            double modulusSquared = Quaterniond.W * Quaterniond.W + Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z;
-            if (modulusSquared <= 0) throw new InvalidOperationException();
-            double inverseModulusSquared = 1.0 / modulusSquared;
-            result.W = Quaterniond.W * inverseModulusSquared;
-            result.X = Quaterniond.X * -inverseModulusSquared;
-            result.Y = Quaterniond.Y * -inverseModulusSquared;
-            result.Z = Quaterniond.Z * -inverseModulusSquared;
-        }
-
-        public void Log()
-        {
-            if (System.Math.Abs(W) < 1.0)
-            {
-                double angle = System.Math.Acos(W);
-                double sin = System.Math.Sin(angle);
-
-                if (System.Math.Abs(sin) >= 0)
-                {
-                    double coefficient = angle / sin;
-                    X = X * coefficient;
-                    Y = Y * coefficient;
-                    Z = Z * coefficient;
-                }
-            }
-            else
-            {
-                X = 0;
-                Y = 0;
-                Z = 0;
-            }
-
-            W = 0;
-        }
-        public void Log( out Quaterniond result )
-        {
-            if (System.Math.Abs(W) < 1.0)
-            {
-                double angle = System.Math.Acos(W);
-                double sin = System.Math.Sin(angle);
-
-                if (System.Math.Abs(sin) >= 0)
-                {
-                    double coefficient = angle / sin;
-                    result.X = X * coefficient;
-                    result.Y = Y * coefficient;
-                    result.Z = Z * coefficient;
-                }
-                else
-                {
-                    result.X = X;
-                    result.Y = Y;
-                    result.Z = Z;
-                }
-            }
-            else
-            {
-                result.X = 0;
-                result.Y = 0;
-                result.Z = 0;
-            }
-
-            result.W = 0;
-        }
-        public static void Log(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            if (System.Math.Abs(Quaterniond.W) < 1.0)
-            {
-                double angle = System.Math.Acos(Quaterniond.W);
-                double sin = System.Math.Sin(angle);
-
-                if (System.Math.Abs(sin) >= 0)
-                {
-                    double coefficient = angle / sin;
-                    result.X = Quaterniond.X * coefficient;
-                    result.Y = Quaterniond.Y * coefficient;
-                    result.Z = Quaterniond.Z * coefficient;
-                }
-                else
-                {
-                    result.X = Quaterniond.X;
-                    result.Y = Quaterniond.Y;
-                    result.Z = Quaterniond.Z;
-                }
-            }
-            else
-            {
-                result.X = 0;
-                result.Y = 0;
-                result.Z = 0;
-            }
-
-            result.W = 0;
-        }
-
-        public void Exp()
-        {
-            double angle = System.Math.Sqrt(X * X + Y * Y + Z * Z);
-            double sin = System.Math.Sin(angle);
-
-            if (System.Math.Abs(sin) > 0)
-            {
-                double coefficient = angle / sin;
-                W = 0;
-                X = X * coefficient;
-                Y = Y * coefficient;
-                Z = Z * coefficient;
-            }
-            else
-            {
-                W = 0;
-            }
-        }
-        public void Exp(out Quaterniond result)
-        {
-            double angle = System.Math.Sqrt(X * X + Y * Y + Z * Z);
-            double sin = System.Math.Sin(angle);
-
-            if (System.Math.Abs(sin) > 0)
-            {
-                double coefficient = angle / sin;
-                result.W = 0;
-                result.X = X * coefficient;
-                result.Y = Y * coefficient;
-                result.Z = Z * coefficient;
-            }
-            else
-            {
-                result.W = 0;
-                result.X = X;
-                result.Y = Y;
-                result.Z = Z;
-            }
-        }
-        public static void Exp(ref Quaterniond Quaterniond, out Quaterniond result)
-        {
-            double angle = System.Math.Sqrt(Quaterniond.X * Quaterniond.X + Quaterniond.Y * Quaterniond.Y + Quaterniond.Z * Quaterniond.Z);
-            double sin = System.Math.Sin(angle);
-
-            if (System.Math.Abs(sin) > 0)
-            {
-                double coefficient = angle / sin;
-                result.W = 0;
-                result.X = Quaterniond.X * coefficient;
-                result.Y = Quaterniond.Y * coefficient;
-                result.Z = Quaterniond.Z * coefficient;
-            }
-            else
-            {
-                result.W = 0;
-                result.X = Quaterniond.X;
-                result.Y = Quaterniond.Y;
-                result.Z = Quaterniond.Z;
-            }
-        }
-
-        /// <summary>Returns left matrix for this Quaterniond.</summary>
-        public void Matrix4d(out Matrix4d result)
-        {
-            // TODO Expand
-            result = new Matrix4d(ref this);
-        }
-
-        public void GetAxisAndAngle(out Vector3d axis, out double angle)
-        {
-            Quaterniond Quaterniond;
-            Normalize(out Quaterniond);
-            double cos = Quaterniond.W;
-            angle = System.Math.Acos(cos) * 2 * Functions.RTOD;
-            double sin = System.Math.Sqrt( 1.0d - cos * cos );
-            if ( System.Math.Abs( sin ) < 0.0001 ) sin = 1;
-            axis = new Vector3d(X / sin, Y / sin, Z / sin);
-        }
-
-        public static void Slerp(ref Quaterniond start, ref Quaterniond end, double blend, out Quaterniond result)
-        {
-            if (start.W == 0 && start.X == 0 && start.Y == 0 && start.Z == 0)
-            {
-                if (end.W == 0 && end.X == 0 && end.Y == 0 && end.Z == 0)
-                {
-                    result.W = 1;
-                    result.X = 0;
-                    result.Y = 0;
-                    result.Z = 0;
-                }
-                else
-                {
-                    result = end;
-                }
-            }
-            else if (end.W == 0 && end.X == 0 && end.Y == 0 && end.Z == 0)
-            {
-                result = start;
-            }
-
-            Vector3d startVector = new Vector3d(start.X, start.Y, start.Z);
-            Vector3d endVector = new Vector3d(end.X, end.Y, end.Z);
-            double cosHalfAngle = start.W * end.W + Vector3d.Dot(startVector, endVector);
-
-            if (cosHalfAngle >= 1.0f || cosHalfAngle <= -1.0f)
-            {
-                // angle = 0.0f, so just return one input.
-                result = start;
-            }
-            else if (cosHalfAngle < 0.0f)
-            {
-                end.W = -end.W;
-                end.X = -end.X;
-                end.Y = -end.Y;
-                end.Z = -end.Z;
-                cosHalfAngle = -cosHalfAngle;
-            }
-
-            double blendA;
-            double blendB;
-            if (cosHalfAngle < 0.99f)
-            {
-                // do proper slerp for big angles
-                double halfAngle = (double)System.Math.Acos(cosHalfAngle);
-                double sinHalfAngle = (double)System.Math.Sin(halfAngle);
-                double oneOverSinHalfAngle = 1.0f / sinHalfAngle;
-                blendA = (double)System.Math.Sin(halfAngle * (1.0f - blend)) * oneOverSinHalfAngle;
-                blendB = (double)System.Math.Sin(halfAngle * blend) * oneOverSinHalfAngle;
-            }
-            else
-            {
-                // do lerp if angle is really small.
-                blendA = 1.0f - blend;
-                blendB = blend;
-            }
-
-            result.W = blendA * start.W + blendB * end.W;
-            result.X = blendA * start.X + blendB * end.X;
-            result.Y = blendA * start.Y + blendB * end.Y;
-            result.Z = blendA * start.Z + blendB * end.Z;
-
-            if (result.W != 0 || result.X != 0 || result.Y != 0 || result.Z != 0)
-            {
-                result.Normalize();
-            }
-            else
-            {
-                result.W = 1;
-                result.X = 0;
-                result.Y = 0;
-                result.Z = 0;
-            }
-        }
-
-        #endregion
-        
-        #region HashCode
-
-        /// <summary>Returns the hash code for this instance.</summary>
-        /// <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
-        public override int GetHashCode()
-        {
-            base.GetHashCode();
-            return W.GetHashCode() ^ X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode();
-        }
-
-        #endregion
-        
-        #region String and Parse
-
-        /// <summary>Returns the fully qualified type name of this instance.</summary>
-        /// <returns>A System.String containing left fully qualified type name.</returns>
-        public override string ToString()
-        {
-            return string.Format("({0}, {1}, {2}, {3})", W, X, Y, Z);
-        }
-
-        /// <summary>Parses left string, converting it to left Quaterniond.</summary>
-        /// <param name="str">The string to parse.</param>
-        /// <returns>The Quaterniond represented by the string.</returns>
-        public static void Parse(string str, out Quaterniond result)
-        {
-            Match match = new Regex(@"\((?<w>.*),(?<x>.*),(?<y>.*),(?<z>.*)\)", RegexOptions.None).Match(str);
-            if (!match.Success) throw new Exception("Parse failed!");
-
-            result.W = double.Parse(match.Result("${w}"));
-            result.X = double.Parse(match.Result("${x}"));
-            result.Y = double.Parse(match.Result("${y}"));
-            result.Z = double.Parse(match.Result("${z}"));
-        }
-
-        #endregion
-        
-        #region Constants
-
-        /// <summary>A quaterion with all zero components.</summary>
-        public static readonly Quaterniond Zero = new Quaterniond(0, 0, 0, 0);
-
-        /// <summary>A quaterion representing an identity.</summary>
-        public static readonly Quaterniond Identity = new Quaterniond(1, 0, 0, 0);
-
-        /// <summary>A quaterion representing the W axis.</summary>
-        public static readonly Quaterniond WAxis = new Quaterniond(1, 0, 0, 0);
-
-        /// <summary>A quaterion representing the X axis.</summary>
-        public static readonly Quaterniond XAxis = new Quaterniond(0, 1, 0, 0);
-
-        /// <summary>A quaterion representing the Y axis.</summary>
-        public static readonly Quaterniond YAxis = new Quaterniond(0, 0, 1, 0);
-
-        /// <summary>A quaterion representing the Z axis.</summary>
-        public static readonly Quaterniond ZAxis = new Quaterniond(0, 0, 0, 1);
-
-        #endregion
-
-#endif
-
-        #region IEquatable<Quaterniond> Members
-
-        /// <summary>
-        /// Compares this Quaterniond instance to another Quaterniond for equality. 
-        /// </summary>
-        /// <param name="other">The other Quaterniond to be used in the comparison.</param>
-        /// <returns>True if both instances are equal; false otherwise.</returns>
-        public bool Equals(Quaterniond other)
-        {
-            return Xyz == other.Xyz && W == other.W;
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Vector2.cs b/Source/Compatibility/Math/Vector2.cs
deleted file mode 100644 (file)
index c7fce06..0000000
+++ /dev/null
@@ -1,915 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Math
-{
-    /// <summary>Represents a 2D vector using two single-precision floating-point numbers.</summary>
-    /// <remarks>
-    /// The Vector2 structure is suitable for interoperation with unmanaged code requiring two consecutive floats.
-    /// </remarks>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Vector2 : IEquatable<Vector2>
-    {
-        #region Fields
-
-        /// <summary>
-        /// The X component of the Vector2.
-        /// </summary>
-        public float X;
-
-        /// <summary>
-        /// The Y component of the Vector2.
-        /// </summary>
-        public float Y;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Vector2.
-        /// </summary>
-        /// <param name="x">The x coordinate of the net Vector2.</param>
-        /// <param name="y">The y coordinate of the net Vector2.</param>
-        public Vector2(float x, float y)
-        {
-            X = x;
-            Y = y;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector2 from the given Vector2.
-        /// </summary>
-        /// <param name="v">The Vector2 to copy components from.</param>
-        [Obsolete]
-        public Vector2(Vector2 v)
-        {
-            X = v.X;
-            Y = v.Y;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector2 from the given Vector3.
-        /// </summary>
-        /// <param name="v">The Vector3 to copy components from. Z is discarded.</param>
-        [Obsolete]
-        public Vector2(Vector3 v)
-        {
-            X = v.X;
-            Y = v.Y;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector2 from the given Vector4.
-        /// </summary>
-        /// <param name="v">The Vector4 to copy components from. Z and W are discarded.</param>
-        [Obsolete]
-        public Vector2(Vector4 v)
-        {
-            X = v.X;
-            Y = v.Y;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Instance
-
-        #region public void Add()
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Add( Vector2 right )
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-        }
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Add( ref Vector2 right )
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-        }
-
-        #endregion public void Add()
-
-        #region public void Sub()
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Sub( Vector2 right )
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-        }
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Sub( ref Vector2 right )
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-        }
-
-        #endregion public void Sub()
-
-        #region public void Mult()
-
-        /// <summary>Multiply this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Mult( float f )
-        {
-            this.X *= f;
-            this.Y *= f;
-        }
-
-        #endregion public void Mult()
-
-        #region public void Div()
-
-        /// <summary>Divide this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Div( float f )
-        {
-            float mult = 1.0f / f;
-            this.X *= mult;
-            this.Y *= mult;
-        }
-
-        #endregion public void Div()
-
-        #region public float Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the vector.
-        /// </summary>
-        /// <see cref="LengthFast"/>
-        /// <seealso cref="LengthSquared"/>
-        public float Length
-        {
-            get
-            {
-                return (float)System.Math.Sqrt(X * X + Y * Y);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthFast
-
-        /// <summary>
-        /// Gets an approximation of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property uses an approximation of the square root function to calculate vector magnitude, with
-        /// an upper error bound of 0.001.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthSquared"/>
-        public float LengthFast
-        {
-            get
-            {
-                return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthSquared
-
-        /// <summary>
-        /// Gets the square of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property avoids the costly square root operation required by the Length property. This makes it more suitable
-        /// for comparisons.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthFast"/>
-        public float LengthSquared
-        {
-            get
-            {
-                return X * X + Y * Y;
-            }
-        }
-
-        #endregion
-
-        #region public Vector2 PerpendicularRight
-
-        /// <summary>
-        /// Gets the perpendicular vector on the right side of this vector.
-        /// </summary>
-        public Vector2 PerpendicularRight
-        {
-            get
-            {
-                return new Vector2(Y, -X);
-            }
-        }
-
-        #endregion
-
-        #region public Vector2 PerpendicularLeft
-
-        /// <summary>
-        /// Gets the perpendicular vector on the left side of this vector.
-        /// </summary>
-        public Vector2 PerpendicularLeft
-        {
-            get
-            {
-                return new Vector2(-Y, X);
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Vector2 to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            float scale = 1.0f / this.Length;
-            X *= scale;
-            Y *= scale;
-        }
-
-        #endregion
-
-        #region public void NormalizeFast()
-
-        /// <summary>
-        /// Scales the Vector2 to approximately unit length.
-        /// </summary>
-        public void NormalizeFast()
-        {
-            float scale = Functions.InverseSqrtFast(X * X + Y * Y);
-            X *= scale;
-            Y *= scale;
-        }
-
-        #endregion
-
-        #region public void Scale()
-
-        /// <summary>
-        /// Scales the current Vector2 by the given amounts.
-        /// </summary>
-        /// <param name="sx">The scale of the X component.</param>
-        /// <param name="sy">The scale of the Y component.</param>
-        public void Scale(float sx, float sy)
-        {
-            this.X = X * sx;
-            this.Y = Y * sy;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        public void Scale( Vector2 scale )
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        [CLSCompliant(false)]
-        public void Scale( ref Vector2 scale )
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-        }
-
-        #endregion public void Scale()
-
-        #endregion
-
-        #region Static
-
-        #region Fields
-
-        /// <summary>
-        /// Defines a unit-length Vector2 that points towards the X-axis.
-        /// </summary>
-        public static readonly Vector2 UnitX = new Vector2(1, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector2 that points towards the Y-axis.
-        /// </summary>
-        public static readonly Vector2 UnitY = new Vector2(0, 1);
-
-        /// <summary>
-        /// Defines a zero-length Vector2.
-        /// </summary>
-        public static readonly Vector2 Zero = new Vector2(0, 0);
-
-        /// <summary>
-        /// Defines an instance with all components set to 1.
-        /// </summary>
-        public static readonly Vector2 One = new Vector2(1, 1);
-        
-        /// <summary>
-        /// Defines the size of the Vector2 struct in bytes.
-        /// </summary>
-        public static readonly int SizeInBytes = Marshal.SizeOf(new Vector2());
-
-        #endregion
-
-        #region Add
-
-        /// <summary>
-        /// Add the specified instances
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of addition</returns>
-        public static Vector2 Add(Vector2 a, Vector2 b)
-        {
-            a.X += b.X;
-            a.Y += b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of addition</param>
-        public static void Add(ref Vector2 a, ref Vector2 b, out Vector2 result)
-        {
-            result.X = a.X + b.X;
-            result.Y = a.Y + b.Y;
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of subtraction</returns>
-        public static Vector2 Sub(Vector2 a, Vector2 b)
-        {
-            a.X -= b.X;
-            a.Y -= b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of subtraction</param>
-        public static void Sub(ref Vector2 a, ref Vector2 b, out Vector2 result)
-        {
-            result.X = a.X - b.X;
-            result.Y = a.Y - b.Y;
-        }
-
-        #endregion
-
-        #region Mult
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the multiplication</returns>
-        public static Vector2 Mult(Vector2 a, float f)
-        {
-            a.X *= f;
-            a.Y *= f;
-            return a;
-        }
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the multiplication</param>
-        public static void Mult(ref Vector2 a, float f, out Vector2 result)
-        {
-            result.X = a.X * f;
-            result.Y = a.Y * f;
-        }
-
-        #endregion
-
-        #region Div
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the division</returns>
-        public static Vector2 Div(Vector2 a, float f)
-        {
-            float mult = 1.0f / f;
-            a.X *= mult;
-            a.Y *= mult;
-            return a;
-        }
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the division</param>
-        public static void Div(ref Vector2 a, float f, out Vector2 result)
-        {
-            float mult = 1.0f / f;
-            result.X = a.X * mult;
-            result.Y = a.Y * mult;
-        }
-
-        #endregion
-
-        #region ComponentMin
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise minimum</returns>
-        public static Vector2 ComponentMin(Vector2 a, Vector2 b)
-        {
-            a.X = a.X < b.X ? a.X : b.X;
-            a.Y = a.Y < b.Y ? a.Y : b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise minimum</param>
-        public static void ComponentMin(ref Vector2 a, ref Vector2 b, out Vector2 result)
-        {
-            result.X = a.X < b.X ? a.X : b.X;
-            result.Y = a.Y < b.Y ? a.Y : b.Y;
-        }
-
-        #endregion
-
-        #region ComponentMax
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise maximum</returns>
-        public static Vector2 ComponentMax(Vector2 a, Vector2 b)
-        {
-            a.X = a.X > b.X ? a.X : b.X;
-            a.Y = a.Y > b.Y ? a.Y : b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise maximum</param>
-        public static void ComponentMax(ref Vector2 a, ref Vector2 b, out Vector2 result)
-        {
-            result.X = a.X > b.X ? a.X : b.X;
-            result.Y = a.Y > b.Y ? a.Y : b.Y;
-        }
-
-        #endregion
-
-        #region Min
-
-        /// <summary>
-        /// Returns the Vector3 with the minimum magnitude
-        /// </summary>
-        /// <param name="left">Left operand</param>
-        /// <param name="right">Right operand</param>
-        /// <returns>The minimum Vector3</returns>
-        public static Vector2 Min(Vector2 left, Vector2 right)
-        {
-            return left.LengthSquared < right.LengthSquared ? left : right;
-        }
-
-        #endregion
-
-        #region Max
-
-        /// <summary>
-        /// Returns the Vector3 with the minimum magnitude
-        /// </summary>
-        /// <param name="left">Left operand</param>
-        /// <param name="right">Right operand</param>
-        /// <returns>The minimum Vector3</returns>
-        public static Vector2 Max(Vector2 left, Vector2 right)
-        {
-            return left.LengthSquared >= right.LengthSquared ? left : right;
-        }
-
-        #endregion
-
-        #region Clamp
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <returns>The clamped vector</returns>
-        public static Vector2 Clamp(Vector2 vec, Vector2 min, Vector2 max)
-        {
-            vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            return vec;
-        }
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <param name="result">The clamped vector</param>
-        public static void Clamp(ref Vector2 vec, ref Vector2 min, ref Vector2 max, out Vector2 result)
-        {
-            result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector2 Normalize(Vector2 vec)
-        {
-            float scale = 1.0f / vec.Length;
-            vec.X *= scale;
-            vec.Y *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void Normalize(ref Vector2 vec, out Vector2 result)
-        {
-            float scale = 1.0f / vec.Length;
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-        }
-
-        #endregion
-
-        #region NormalizeFast
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector2 NormalizeFast(Vector2 vec)
-        {
-            float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y);
-            vec.X *= scale;
-            vec.Y *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void NormalizeFast(ref Vector2 vec, out Vector2 result)
-        {
-            float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y);
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-        }
-
-        #endregion
-
-        #region Dot
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The dot product of the two inputs</returns>
-        public static float Dot(Vector2 left, Vector2 right)
-        {
-            return left.X * right.X + left.Y * right.Y;
-        }
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <param name="result">The dot product of the two inputs</param>
-        public static void Dot( ref Vector2 left, ref Vector2 right, out float result )
-        {
-            result = left.X * right.X + left.Y * right.Y;
-        }
-
-        #endregion
-
-        #region Lerp
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
-        public static Vector2 Lerp(Vector2 a, Vector2 b, float blend)
-        {
-            a.X = blend * (b.X - a.X) + a.X;
-            a.Y = blend * (b.Y - a.Y) + a.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
-        public static void Lerp( ref Vector2 a, ref Vector2 b, float blend, out Vector2 result )
-        {
-            result.X = blend * ( b.X - a.X ) + a.X;
-            result.Y = blend * ( b.Y - a.Y ) + a.Y;
-        }
-
-        #endregion
-
-        #region Barycentric
-
-        /// <summary>
-        /// Interpolate 3 Vectors using Barycentric coordinates
-        /// </summary>
-        /// <param name="a">First input Vector</param>
-        /// <param name="b">Second input Vector</param>
-        /// <param name="c">Third input Vector</param>
-        /// <param name="u">First Barycentric Coordinate</param>
-        /// <param name="v">Second Barycentric Coordinate</param>
-        /// <returns>a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</returns>
-        public static Vector2 BaryCentric(Vector2 a, Vector2 b, Vector2 c, float u, float v)
-        {
-            return a + u * (b - a) + v * (c - a);
-        }
-
-        /// <summary>Interpolate 3 Vectors using Barycentric coordinates</summary>
-        /// <param name="a">First input Vector.</param>
-        /// <param name="b">Second input Vector.</param>
-        /// <param name="c">Third input Vector.</param>
-        /// <param name="u">First Barycentric Coordinate.</param>
-        /// <param name="v">Second Barycentric Coordinate.</param>
-        /// <param name="result">Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</param>
-        public static void BaryCentric( ref Vector2 a, ref Vector2 b, ref Vector2 c, float u, float v, out Vector2 result )
-        {
-            result = a; // copy
-
-            Vector2 temp = b; // copy
-            temp.Sub( ref a );
-            temp.Mult( u );
-            result.Add( ref temp );
-
-            temp = c; // copy
-            temp.Sub( ref a );
-            temp.Mult( v );
-            result.Add( ref temp );
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Operators
-
-        /// <summary>
-        /// Adds the specified instances.
-        /// </summary>
-        /// <param name="left">Left operand.</param>
-        /// <param name="right">Right operand.</param>
-        /// <returns>Result of addition.</returns>
-        public static Vector2 operator +(Vector2 left, Vector2 right)
-        {
-            left.X += right.X;
-            left.Y += right.Y;
-            return left;
-        }
-
-        /// <summary>
-        /// Subtracts the specified instances.
-        /// </summary>
-        /// <param name="left">Left operand.</param>
-        /// <param name="right">Right operand.</param>
-        /// <returns>Result of subtraction.</returns>
-        public static Vector2 operator -(Vector2 left, Vector2 right)
-        {
-            left.X -= right.X;
-            left.Y -= right.Y;
-            return left;
-        }
-
-        /// <summary>
-        /// Negates the specified instance.
-        /// </summary>
-        /// <param name="vec">Operand.</param>
-        /// <returns>Result of negation.</returns>
-        public static Vector2 operator -(Vector2 vec)
-        {
-            vec.X = -vec.X;
-            vec.Y = -vec.Y;
-            return vec;
-        }
-
-        /// <summary>
-        /// Multiplies the specified instance by a scalar.
-        /// </summary>
-        /// <param name="vec">Left operand.</param>
-        /// <param name="scale">Right operand.</param>
-        /// <returns>Result of multiplication.</returns>
-        public static Vector2 operator *(Vector2 vec, float scale)
-        {
-            vec.X *= scale;
-            vec.Y *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Multiplies the specified instance by a scalar.
-        /// </summary>
-        /// <param name="scale">Left operand.</param>
-        /// <param name="vec">Right operand.</param>
-        /// <returns>Result of multiplication.</returns>
-        public static Vector2 operator *(float scale, Vector2 vec)
-        {
-            vec.X *= scale;
-            vec.Y *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Divides the specified instance by a scalar.
-        /// </summary>
-        /// <param name="vec">Left operand</param>
-        /// <param name="scale">Right operand</param>
-        /// <returns>Result of the division.</returns>
-        public static Vector2 operator /(Vector2 vec, float scale)
-        {
-            float mult = 1.0f / scale;
-            vec.X *= mult;
-            vec.Y *= mult;
-            return vec;
-        }
-
-        /// <summary>
-        /// Compares the specified instances for equality.
-        /// </summary>
-        /// <param name="left">Left operand.</param>
-        /// <param name="right">Right operand.</param>
-        /// <returns>True if both instances are equal; false otherwise.</returns>
-        public static bool operator ==(Vector2 left, Vector2 right)
-        {
-            return left.Equals(right);
-        }
-
-        /// <summary>
-        /// Compares the specified instances for inequality.
-        /// </summary>
-        /// <param name="left">Left operand.</param>
-        /// <param name="right">Right operand.</param>
-        /// <returns>True if both instances are not equal; false otherwise.</returns>
-        public static bool operator !=(Vector2 left, Vector2 right)
-        {
-            return !left.Equals(right);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Vector2.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1})", X, Y);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode() ^ Y.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Vector2))
-                return false;
-
-            return this.Equals((Vector2)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Vector2> Members
-
-        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
-        /// <param name="other">A vector to compare with this vector.</param>
-        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
-        public bool Equals(Vector2 other)
-        {
-            return
-                X == other.X &&
-                Y == other.Y;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/Vector2d.cs b/Source/Compatibility/Math/Vector2d.cs
deleted file mode 100644 (file)
index 1f53101..0000000
+++ /dev/null
@@ -1,818 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace OpenTK.Math
-{
-    /// <summary>Represents a 2D vector using two double-precision floating-point numbers.</summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Vector2d : IEquatable<Vector2d>
-    {
-        #region Fields
-
-        /// <summary>The X coordinate of this instance.</summary>
-        public double X;
-
-        /// <summary>The Y coordinate of this instance.</summary>
-        public double Y;
-
-        /// <summary>
-        /// Defines a unit-length Vector2d that points towards the X-axis.
-        /// </summary>
-        public static Vector2d UnitX = new Vector2d(1, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector2d that points towards the Y-axis.
-        /// </summary>
-        public static Vector2d UnitY = new Vector2d(0, 1);
-
-        /// <summary>
-        /// Defines a zero-length Vector2d.
-        /// </summary>
-        public static Vector2d Zero = new Vector2d(0, 0);
-
-        /// <summary>
-        /// Defines an instance with all components set to 1.
-        /// </summary>
-        public static readonly Vector2d One = new Vector2d(1, 1);
-
-        /// <summary>
-        /// Defines the size of the Vector2d struct in bytes.
-        /// </summary>
-        public static readonly int SizeInBytes = Marshal.SizeOf(new Vector2d());
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>Constructs left vector with the given coordinates.</summary>
-        /// <param name="x">The X coordinate.</param>
-        /// <param name="y">The Y coordinate.</param>
-        public Vector2d(double x, double y)
-        {
-            this.X = x;
-            this.Y = y;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Instance
-
-        #region public void Add()
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Add(Vector2d right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-        }
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Add(ref Vector2d right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-        }
-
-        #endregion public void Add()
-
-        #region public void Sub()
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Sub(Vector2d right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-        }
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Sub(ref Vector2d right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-        }
-
-        #endregion public void Sub()
-
-        #region public void Mult()
-
-        /// <summary>Multiply this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Mult(double f)
-        {
-            this.X *= f;
-            this.Y *= f;
-        }
-
-        #endregion public void Mult()
-
-        #region public void Div()
-
-        /// <summary>Divide this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Div(double f)
-        {
-            double mult = 1.0 / f;
-            this.X *= mult;
-            this.Y *= mult;
-        }
-
-        #endregion public void Div()
-
-        #region public double Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the vector.
-        /// </summary>
-        /// <seealso cref="LengthSquared"/>
-        public double Length
-        {
-            get
-            {
-                return (float)System.Math.Sqrt(X * X + Y * Y);
-            }
-        }
-
-        #endregion
-
-        #region public double LengthSquared
-
-        /// <summary>
-        /// Gets the square of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property avoids the costly square root operation required by the Length property. This makes it more suitable
-        /// for comparisons.
-        /// </remarks>
-        /// <see cref="Length"/>
-        public double LengthSquared
-        {
-            get
-            {
-                return X * X + Y * Y;
-            }
-        }
-
-        #endregion
-
-        #region public Vector2d PerpendicularRight
-
-        /// <summary>
-        /// Gets the perpendicular vector on the right side of this vector.
-        /// </summary>
-        public Vector2d PerpendicularRight
-        {
-            get
-            {
-                return new Vector2d(Y, -X);
-            }
-        }
-
-        #endregion
-
-        #region public Vector2d PerpendicularLeft
-
-        /// <summary>
-        /// Gets the perpendicular vector on the left side of this vector.
-        /// </summary>
-        public Vector2d PerpendicularLeft
-        {
-            get
-            {
-                return new Vector2d(-Y, X);
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Vector2 to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            double scale = 1.0f / Length;
-            X *= scale;
-            Y *= scale;
-        }
-
-        #endregion
-
-        #region public void Scale()
-
-        /// <summary>
-        /// Scales the current Vector2 by the given amounts.
-        /// </summary>
-        /// <param name="sx">The scale of the X component.</param>
-        /// <param name="sy">The scale of the Y component.</param>
-        public void Scale(double sx, double sy)
-        {
-            X *= sx;
-            Y *= sy;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        public void Scale(Vector2d scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        [CLSCompliant(false)]
-        public void Scale(ref Vector2d scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-        }
-
-        #endregion public void Scale()
-
-        #endregion
-
-        #region Static
-
-        #region Add
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of addition</returns>
-        public static Vector2d Add(Vector2d a, Vector2d b)
-        {
-            a.X += b.X;
-            a.Y += b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of addition</param>
-        public static void Add(ref Vector2d a, ref Vector2d b, out Vector2d result)
-        {
-            result.X = a.X + b.X;
-            result.Y = a.Y + b.Y;
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of subtraction</returns>
-        public static Vector2d Sub(Vector2d a, Vector2d b)
-        {
-            a.X -= b.X;
-            a.Y -= b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of subtraction</param>
-        public static void Sub(ref Vector2d a, ref Vector2d b, out Vector2d result)
-        {
-            result.X = a.X - b.X;
-            result.Y = a.Y - b.Y;
-        }
-
-        #endregion
-
-        #region Mult
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="d">Scalar operand</param>
-        /// <returns>Result of the multiplication</returns>
-        public static Vector2d Mult(Vector2d a, double d)
-        {
-            a.X *= d;
-            a.Y *= d;
-            return a;
-        }
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="d">Scalar operand</param>
-        /// <param name="result">Result of the multiplication</param>
-        public static void Mult(ref Vector2d a, double d, out Vector2d result)
-        {
-            result.X = a.X * d;
-            result.Y = a.Y * d;
-        }
-
-        #endregion
-
-        #region Div
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="d">Scalar operand</param>
-        /// <returns>Result of the division</returns>
-        public static Vector2d Div(Vector2d a, double d)
-        {
-            double mult = 1.0 / d;
-            a.X *= mult;
-            a.Y *= mult;
-            return a;
-        }
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="d">Scalar operand</param>
-        /// <param name="result">Result of the division</param>
-        public static void Div(ref Vector2d a, double d, out Vector2d result)
-        {
-            double mult = 1.0 / d;
-            result.X = a.X * mult;
-            result.Y = a.Y * mult;
-        }
-
-        #endregion
-
-        #region Min
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise minimum</returns>
-        public static Vector2d Min(Vector2d a, Vector2d b)
-        {
-            a.X = a.X < b.X ? a.X : b.X;
-            a.Y = a.Y < b.Y ? a.Y : b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise minimum</param>
-        public static void Min(ref Vector2d a, ref Vector2d b, out Vector2d result)
-        {
-            result.X = a.X < b.X ? a.X : b.X;
-            result.Y = a.Y < b.Y ? a.Y : b.Y;
-        }
-
-        #endregion
-
-        #region Max
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise maximum</returns>
-        public static Vector2d Max(Vector2d a, Vector2d b)
-        {
-            a.X = a.X > b.X ? a.X : b.X;
-            a.Y = a.Y > b.Y ? a.Y : b.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise maximum</param>
-        public static void Max(ref Vector2d a, ref Vector2d b, out Vector2d result)
-        {
-            result.X = a.X > b.X ? a.X : b.X;
-            result.Y = a.Y > b.Y ? a.Y : b.Y;
-        }
-
-        #endregion
-
-        #region Clamp
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <returns>The clamped vector</returns>
-        public static Vector2d Clamp(Vector2d vec, Vector2d min, Vector2d max)
-        {
-            vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            return vec;
-        }
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <param name="result">The clamped vector</param>
-        public static void Clamp(ref Vector2d vec, ref Vector2d min, ref Vector2d max, out Vector2d result)
-        {
-            result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector2d Normalize(Vector2d vec)
-        {
-            double scale = 1.0f / vec.Length;
-            vec.X *= scale;
-            vec.Y *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void Normalize(ref Vector2d vec, out Vector2d result)
-        {
-            double scale = 1.0f / vec.Length;
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-        }
-
-        #endregion
-
-        #region NormalizeFast
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector2d NormalizeFast(Vector2d vec)
-        {
-            double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y);
-            vec.X *= scale;
-            vec.Y *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void NormalizeFast(ref Vector2d vec, out Vector2d result)
-        {
-            double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y);
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-        }
-
-        #endregion
-
-        #region Dot
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The dot product of the two inputs</returns>
-        public static double Dot(Vector2d left, Vector2d right)
-        {
-            return left.X * right.X + left.Y * right.Y;
-        }
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <param name="result">The dot product of the two inputs</param>
-        public static void Dot(ref Vector2d left, ref Vector2d right, out double result)
-        {
-            result = left.X * right.X + left.Y * right.Y;
-        }
-
-        #endregion
-
-        #region Lerp
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
-        public static Vector2d Lerp(Vector2d a, Vector2d b, double blend)
-        {
-            a.X = blend * (b.X - a.X) + a.X;
-            a.Y = blend * (b.Y - a.Y) + a.Y;
-            return a;
-        }
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
-        public static void Lerp(ref Vector2d a, ref Vector2d b, double blend, out Vector2d result)
-        {
-            result.X = blend * (b.X - a.X) + a.X;
-            result.Y = blend * (b.Y - a.Y) + a.Y;
-        }
-
-        #endregion
-
-        #region Barycentric
-
-        /// <summary>
-        /// Interpolate 3 Vectors using Barycentric coordinates
-        /// </summary>
-        /// <param name="a">First input Vector</param>
-        /// <param name="b">Second input Vector</param>
-        /// <param name="c">Third input Vector</param>
-        /// <param name="u">First Barycentric Coordinate</param>
-        /// <param name="v">Second Barycentric Coordinate</param>
-        /// <returns>a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</returns>
-        public static Vector2d BaryCentric(Vector2d a, Vector2d b, Vector2d c, double u, double v)
-        {
-            return a + u * (b - a) + v * (c - a);
-        }
-
-        /// <summary>Interpolate 3 Vectors using Barycentric coordinates</summary>
-        /// <param name="a">First input Vector.</param>
-        /// <param name="b">Second input Vector.</param>
-        /// <param name="c">Third input Vector.</param>
-        /// <param name="u">First Barycentric Coordinate.</param>
-        /// <param name="v">Second Barycentric Coordinate.</param>
-        /// <param name="result">Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</param>
-        public static void BaryCentric(ref Vector2d a, ref Vector2d b, ref Vector2d c, float u, float v, out Vector2d result)
-        {
-            result = a; // copy
-
-            Vector2d temp = b; // copy
-            temp.Sub(ref a);
-            temp.Mult(u);
-            result.Add(ref temp);
-
-            temp = c; // copy
-            temp.Sub(ref a);
-            temp.Mult(v);
-            result.Add(ref temp);
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Operators
-
-        /// <summary>
-        /// Adds two instances.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Vector2d operator +(Vector2d left, Vector2d right)
-        {
-            left.X += right.X;
-            left.Y += right.Y;
-            return left;
-        }
-
-        /// <summary>
-        /// Subtracts two instances.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Vector2d operator -(Vector2d left, Vector2d right)
-        {
-            left.X -= right.X;
-            left.Y -= right.Y;
-            return left;
-        }
-
-        /// <summary>
-        /// Negates an instance.
-        /// </summary>
-        /// <param name="vec">The instance.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Vector2d operator -(Vector2d vec)
-        {
-            vec.X = -vec.X;
-            vec.Y = -vec.Y;
-            return vec;
-        }
-
-        /// <summary>
-        /// Multiplies an instance by a scalar.
-        /// </summary>
-        /// <param name="vec">The instance.</param>
-        /// <param name="f">The scalar.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Vector2d operator *(Vector2d vec, double f)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            return vec;
-        }
-
-        /// <summary>
-        /// Multiply an instance by a scalar.
-        /// </summary>
-        /// <param name="f">The scalar.</param>
-        /// <param name="vec">The instance.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Vector2d operator *(double f, Vector2d vec)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            return vec;
-        }
-
-        /// <summary>
-        /// Divides an instance by a scalar.
-        /// </summary>
-        /// <param name="vec">The instance.</param>
-        /// <param name="f">The scalar.</param>
-        /// <returns>The result of the operation.</returns>
-        public static Vector2d operator /(Vector2d vec, double f)
-        {
-            double mult = 1.0f / f;
-            vec.X *= mult;
-            vec.Y *= mult;
-            return vec;
-        }
-
-        /// <summary>
-        /// Compares two instances for equality.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <returns>True, if both instances are equal; false otherwise.</returns>
-        public static bool operator ==(Vector2d left, Vector2d right)
-        {
-            return left.Equals(right);
-        }
-
-        /// <summary>
-        /// Compares two instances for ienquality.
-        /// </summary>
-        /// <param name="left">The left instance.</param>
-        /// <param name="right">The right instance.</param>
-        /// <returns>True, if the instances are not equal; false otherwise.</returns>
-        public static bool operator !=(Vector2d left, Vector2d right)
-        {
-            return !left.Equals(right);
-        }
-
-        /// <summary>Converts OpenTK.Vector2 to OpenTK.Vector2d.</summary>
-        /// <param name="v2">The Vector2 to convert.</param>
-        /// <returns>The resulting Vector2d.</returns>
-        public static explicit operator Vector2d(Vector2 v2)
-        {
-            return new Vector2d(v2.X, v2.Y);
-        }
-
-        /// <summary>Converts OpenTK.Vector2d to OpenTK.Vector2.</summary>
-        /// <param name="v2d">The Vector2d to convert.</param>
-        /// <returns>The resulting Vector2.</returns>
-        public static explicit operator Vector2(Vector2d v2d)
-        {
-            return new Vector2((float)v2d.X, (float)v2d.Y);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current instance.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1})", X, Y);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode() ^ Y.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Vector2d))
-                return false;
-
-            return this.Equals((Vector2d)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Vector2d> Members
-
-        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
-        /// <param name="other">A vector to compare with this vector.</param>
-        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
-        public bool Equals(Vector2d other)
-        {
-            return
-                X == other.X &&
-                Y == other.Y;
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Vector2h.cs b/Source/Compatibility/Math/Vector2h.cs
deleted file mode 100644 (file)
index ff8f7a0..0000000
+++ /dev/null
@@ -1,337 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Runtime.Serialization;
-
-namespace OpenTK.Math
-{
-
-    /// <summary>2-component Vector of the Half type. Occupies 4 Byte total.</summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable, StructLayout(LayoutKind.Sequential)]
-    public struct Vector2h : ISerializable, IEquatable<Vector2h>
-    {
-        #region Fields
-
-        /// <summary>The X component of the Half2.</summary>
-        public Half X;
-
-        /// <summary>The Y component of the Half2.</summary>
-        public Half Y;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// The new Half2 instance will avoid conversion and copy directly from the Half parameters.
-        /// </summary>
-        /// <param name="x">An Half instance of a 16-bit half-precision floating-point number.</param>
-        /// <param name="y">An Half instance of a 16-bit half-precision floating-point number.</param>
-        public Vector2h(Half x, Half y)
-        {
-            X = x;
-            Y = y;
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="x">32-bit single-precision floating-point number.</param>
-        /// <param name="y">32-bit single-precision floating-point number.</param>
-        public Vector2h(Single x, Single y)
-        {
-            X = new Half(x);
-            Y = new Half(y);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the 2 parameters into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="x">32-bit single-precision floating-point number.</param>
-        /// <param name="y">32-bit single-precision floating-point number.</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector2h(Single x, Single y, bool throwOnError)
-        {
-            X = new Half(x, throwOnError);
-            Y = new Half(y, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2</param>
-        [CLSCompliant(false)]
-        public Vector2h(Vector2 v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        [CLSCompliant(false)]
-        public Vector2h(Vector2 v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point.
-        /// This is the fastest constructor.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2</param>
-        public Vector2h(ref Vector2 v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector2h(ref Vector2 v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2d</param>
-        public Vector2h(Vector2d v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2d</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector2h(Vector2d v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point.
-        /// This is the faster constructor.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2d</param>
-        [CLSCompliant(false)]
-        public Vector2h(ref Vector2d v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-        }
-
-        /// <summary>
-        /// The new Half2 instance will convert the Vector2d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector2d</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        [CLSCompliant(false)]
-        public Vector2h(ref Vector2d v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-        }
-
-        #endregion Constructors
-
-        #region Half -> Single
-
-        /// <summary>
-        /// Returns this Half2 instance's contents as Vector2.
-        /// </summary>
-        /// <returns>OpenTK.Vector2</returns>
-        public Vector2 ToVector2()
-        {
-            return new Vector2(X, Y);
-        }
-
-        /// <summary>
-        /// Returns this Half2 instance's contents as Vector2d.
-        /// </summary>
-        public Vector2d ToVector2d()
-        {
-            return new Vector2d(X, Y);
-        }
-
-        #endregion Half -> Single
-
-        #region Conversions
-
-        /// <summary>Converts OpenTK.Vector2 to OpenTK.Half2.</summary>
-        /// <param name="v">The Vector2 to convert.</param>
-        /// <returns>The resulting Half vector.</returns>
-        public static explicit operator Vector2h(Vector2 v)
-        {
-            return new Vector2h(v);
-        }
-
-        /// <summary>Converts OpenTK.Vector2d to OpenTK.Half2.</summary>
-        /// <param name="v">The Vector2d to convert.</param>
-        /// <returns>The resulting Half vector.</returns>
-        public static explicit operator Vector2h(Vector2d v)
-        {
-            return new Vector2h(v);
-        }
-
-        /// <summary>Converts OpenTK.Half2 to OpenTK.Vector2.</summary>
-        /// <param name="h">The Half2 to convert.</param>
-        /// <returns>The resulting Vector2.</returns>
-        public static explicit operator Vector2(Vector2h h)
-        {
-            return new Vector2(h.X, h.Y);
-        }
-
-        /// <summary>Converts OpenTK.Half2 to OpenTK.Vector2d.</summary>
-        /// <param name="h">The Half2 to convert.</param>
-        /// <returns>The resulting Vector2d.</returns>
-        public static explicit operator Vector2d(Vector2h h)
-        {
-            return new Vector2d(h.X, h.Y);
-        }
-
-        #endregion Conversions
-
-        #region Constants
-
-        /// <summary>The size in bytes for an instance of the Half2 struct is 4.</summary>
-        public static readonly int SizeInBytes = 4;
-
-        #endregion Constants
-
-        #region ISerializable
-
-        /// <summary>Constructor used by ISerializable to deserialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public Vector2h(SerializationInfo info, StreamingContext context)
-        {
-            this.X = (Half)info.GetValue("X", typeof(Half));
-            this.Y = (Half)info.GetValue("Y", typeof(Half));
-        }
-
-        /// <summary>Used by ISerialize to serialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public void GetObjectData(SerializationInfo info, StreamingContext context)
-        {
-            info.AddValue("X", this.X);
-            info.AddValue("Y", this.Y);
-        }
-
-        #endregion ISerializable
-
-        #region Binary dump
-
-        /// <summary>Updates the X and Y components of this instance by reading from a Stream.</summary>
-        /// <param name="bin">A BinaryReader instance associated with an open Stream.</param>
-        public void FromBinaryStream(BinaryReader bin)
-        {
-            X.FromBinaryStream(bin);
-            Y.FromBinaryStream(bin);
-        }
-
-        /// <summary>Writes the X and Y components of this instance into a Stream.</summary>
-        /// <param name="bin">A BinaryWriter instance associated with an open Stream.</param>
-        public void ToBinaryStream(BinaryWriter bin)
-        {
-            X.ToBinaryStream(bin);
-            Y.ToBinaryStream(bin);
-        }
-
-        #endregion Binary dump
-
-        #region IEquatable<Half2> Members
-
-        /// <summary>Returns a value indicating whether this instance is equal to a specified OpenTK.Half2 vector.</summary>
-        /// <param name="other">OpenTK.Half2 to compare to this instance..</param>
-        /// <returns>True, if other is equal to this instance; false otherwise.</returns>
-        public bool Equals(Vector2h other)
-        {
-            return (this.X.Equals(other.X) && this.Y.Equals(other.Y));
-        }
-
-        #endregion
-
-        #region ToString()
-
-        /// <summary>Returns a string that contains this Half2's numbers in human-legible form.</summary>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1})", X.ToString(), Y.ToString());
-        }
-
-        #endregion ToString()
-
-        #region BitConverter
-
-        /// <summary>Returns the Half2 as an array of bytes.</summary>
-        /// <param name="h">The Half2 to convert.</param>
-        /// <returns>The input as byte array.</returns>
-        public static byte[] GetBytes(Vector2h h)
-        {
-            byte[] result = new byte[SizeInBytes];
-
-            byte[] temp = Half.GetBytes(h.X);
-            result[0] = temp[0];
-            result[1] = temp[1];
-            temp = Half.GetBytes(h.Y);
-            result[2] = temp[0];
-            result[3] = temp[1];
-
-            return result;
-        }
-
-        /// <summary>Converts an array of bytes into Half2.</summary>
-        /// <param name="value">A Half2 in it's byte[] representation.</param>
-        /// <param name="startIndex">The starting position within value.</param>
-        /// <returns>A new Half2 instance.</returns>
-        public static Vector2h FromBytes(byte[] value, int startIndex)
-        {
-            Vector2h h2 = new Vector2h();
-            h2.X = Half.FromBytes(value, startIndex);
-            h2.Y = Half.FromBytes(value, startIndex + 2);
-            return h2;
-        }
-
-        #endregion BitConverter
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Vector3.cs b/Source/Compatibility/Math/Vector3.cs
deleted file mode 100644 (file)
index e670b52..0000000
+++ /dev/null
@@ -1,1152 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a 3D vector using three single-precision floating-point numbers.
-    /// </summary>
-    /// <remarks>
-    /// The Vector3 structure is suitable for interoperation with unmanaged code requiring three consecutive floats.
-    /// </remarks>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Vector3 : IEquatable<Vector3>
-    {
-        #region Fields
-
-        /// <summary>
-        /// The X component of the Vector3.
-        /// </summary>
-        public float X;
-
-        /// <summary>
-        /// The Y component of the Vector3.
-        /// </summary>
-        public float Y;
-
-        /// <summary>
-        /// The Z component of the Vector3.
-        /// </summary>
-        public float Z;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Vector3.
-        /// </summary>
-        /// <param name="x">The x component of the Vector3.</param>
-        /// <param name="y">The y component of the Vector3.</param>
-        /// <param name="z">The z component of the Vector3.</param>
-        public Vector3(float x, float y, float z)
-        {
-            X = x;
-            Y = y;
-            Z = z;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector3 from the given Vector2.
-        /// </summary>
-        /// <param name="v">The Vector2 to copy components from.</param>
-        public Vector3(Vector2 v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector3 from the given Vector3.
-        /// </summary>
-        /// <param name="v">The Vector3 to copy components from.</param>
-        public Vector3(Vector3 v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector3 from the given Vector4.
-        /// </summary>
-        /// <param name="v">The Vector4 to copy components from.</param>
-        public Vector3(Vector4 v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Instance
-
-        #region public void Add()
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Add(Vector3 right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-        }
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Add(ref Vector3 right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-        }
-
-        #endregion public void Add()
-
-        #region public void Sub()
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Sub(Vector3 right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-        }
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Sub(ref Vector3 right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-        }
-
-        #endregion public void Sub()
-
-        #region public void Mult()
-
-        /// <summary>Multiply this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Mult(float f)
-        {
-            this.X *= f;
-            this.Y *= f;
-            this.Z *= f;
-        }
-
-        #endregion public void Mult()
-
-        #region public void Div()
-
-        /// <summary>Divide this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Div(float f)
-        {
-            float mult = 1.0f / f;
-            this.X *= mult;
-            this.Y *= mult;
-            this.Z *= mult;
-        }
-
-        #endregion public void Div()
-
-        #region public float Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the vector.
-        /// </summary>
-        /// <see cref="LengthFast"/>
-        /// <seealso cref="LengthSquared"/>
-        public float Length
-        {
-            get
-            {
-                return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthFast
-
-        /// <summary>
-        /// Gets an approximation of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property uses an approximation of the square root function to calculate vector magnitude, with
-        /// an upper error bound of 0.001.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthSquared"/>
-        public float LengthFast
-        {
-            get
-            {
-                return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthSquared
-
-        /// <summary>
-        /// Gets the square of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property avoids the costly square root operation required by the Length property. This makes it more suitable
-        /// for comparisons.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthFast"/>
-        public float LengthSquared
-        {
-            get
-            {
-                return X * X + Y * Y + Z * Z;
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Vector3 to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            float scale = 1.0f / this.Length;
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-        }
-
-        #endregion
-
-        #region public void NormalizeFast()
-
-        /// <summary>
-        /// Scales the Vector3 to approximately unit length.
-        /// </summary>
-        public void NormalizeFast()
-        {
-            float scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z);
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-        }
-
-        #endregion
-
-        #region public void Scale()
-
-        /// <summary>
-        /// Scales the current Vector3 by the given amounts.
-        /// </summary>
-        /// <param name="sx">The scale of the X component.</param>
-        /// <param name="sy">The scale of the Y component.</param>
-        /// <param name="sz">The scale of the Z component.</param>
-        public void Scale(float sx, float sy, float sz)
-        {
-            this.X = X * sx;
-            this.Y = Y * sy;
-            this.Z = Z * sz;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        public void Scale(Vector3 scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        [CLSCompliant(false)]
-        public void Scale(ref Vector3 scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-        }
-
-        #endregion public void Scale()
-
-        #endregion
-
-        #region Static
-
-        #region Fields
-
-        /// <summary>
-        /// Defines a unit-length Vector3 that points towards the X-axis.
-        /// </summary>
-        public static readonly Vector3 UnitX = new Vector3(1, 0, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector3 that points towards the Y-axis.
-        /// </summary>
-        public static readonly Vector3 UnitY = new Vector3(0, 1, 0);
-
-        /// <summary>
-        /// /// Defines a unit-length Vector3 that points towards the Z-axis.
-        /// </summary>
-        public static readonly Vector3 UnitZ = new Vector3(0, 0, 1);
-
-        /// <summary>
-        /// Defines a zero-length Vector3.
-        /// </summary>
-        public static readonly Vector3 Zero = new Vector3(0, 0, 0);
-
-        /// <summary>
-        /// Defines an instance with all components set to 1.
-        /// </summary>
-        public static readonly Vector3 One = new Vector3(1, 1, 1);
-
-        /// <summary>
-        /// Defines the size of the Vector3 struct in bytes.
-        /// </summary>
-        public static readonly int SizeInBytes = Marshal.SizeOf(new Vector3());
-
-        #endregion
-
-        #region Add
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of addition</returns>
-        public static Vector3 Add(Vector3 a, Vector3 b)
-        {
-            a.X += b.X;
-            a.Y += b.Y;
-            a.Z += b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of addition</param>
-        public static void Add(ref Vector3 a, ref Vector3 b, out Vector3 result)
-        {
-            result.X = a.X + b.X;
-            result.Y = a.Y + b.Y;
-            result.Z = a.Z + b.Z;
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of subtraction</returns>
-        public static Vector3 Sub(Vector3 a, Vector3 b)
-        {
-            a.X -= b.X;
-            a.Y -= b.Y;
-            a.Z -= b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of subtraction</param>
-        public static void Sub(ref Vector3 a, ref Vector3 b, out Vector3 result)
-        {
-            result.X = a.X - b.X;
-            result.Y = a.Y - b.Y;
-            result.Z = a.Z - b.Z;
-        }
-
-        #endregion
-
-        #region Mult
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the multiplication</returns>
-        public static Vector3 Mult(Vector3 a, float f)
-        {
-            a.X *= f;
-            a.Y *= f;
-            a.Z *= f;
-            return a;
-        }
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the multiplication</param>
-        public static void Mult(ref Vector3 a, float f, out Vector3 result)
-        {
-            result.X = a.X * f;
-            result.Y = a.Y * f;
-            result.Z = a.Z * f;
-        }
-
-        #endregion
-
-        #region Div
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the division</returns>
-        public static Vector3 Div(Vector3 a, float f)
-        {
-            float mult = 1.0f / f;
-            a.X *= mult;
-            a.Y *= mult;
-            a.Z *= mult;
-            return a;
-        }
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the division</param>
-        public static void Div(ref Vector3 a, float f, out Vector3 result)
-        {
-            float mult = 1.0f / f;
-            result.X = a.X * mult;
-            result.Y = a.Y * mult;
-            result.Z = a.Z * mult;
-        }
-
-        #endregion
-
-        #region ComponentMin
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise minimum</returns>
-        public static Vector3 ComponentMin(Vector3 a, Vector3 b)
-        {
-            a.X = a.X < b.X ? a.X : b.X;
-            a.Y = a.Y < b.Y ? a.Y : b.Y;
-            a.Z = a.Z < b.Z ? a.Z : b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise minimum</param>
-        public static void ComponentMin(ref Vector3 a, ref Vector3 b, out Vector3 result)
-        {
-            result.X = a.X < b.X ? a.X : b.X;
-            result.Y = a.Y < b.Y ? a.Y : b.Y;
-            result.Z = a.Z < b.Z ? a.Z : b.Z;
-        }
-
-        #endregion
-
-        #region ComponentMax
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise maximum</returns>
-        public static Vector3 ComponentMax(Vector3 a, Vector3 b)
-        {
-            a.X = a.X > b.X ? a.X : b.X;
-            a.Y = a.Y > b.Y ? a.Y : b.Y;
-            a.Z = a.Z > b.Z ? a.Z : b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise maximum</param>
-        public static void ComponentMax(ref Vector3 a, ref Vector3 b, out Vector3 result)
-        {
-            result.X = a.X > b.X ? a.X : b.X;
-            result.Y = a.Y > b.Y ? a.Y : b.Y;
-            result.Z = a.Z > b.Z ? a.Z : b.Z;
-        }
-
-        #endregion
-
-        #region Min
-
-        /// <summary>
-        /// Returns the Vector3 with the minimum magnitude
-        /// </summary>
-        /// <param name="left">Left operand</param>
-        /// <param name="right">Right operand</param>
-        /// <returns>The minimum Vector3</returns>
-        public static Vector3 Min(Vector3 left, Vector3 right)
-        {
-            return left.LengthSquared < right.LengthSquared ? left : right;
-        }
-
-        #endregion
-
-        #region Max
-
-        /// <summary>
-        /// Returns the Vector3 with the minimum magnitude
-        /// </summary>
-        /// <param name="left">Left operand</param>
-        /// <param name="right">Right operand</param>
-        /// <returns>The minimum Vector3</returns>
-        public static Vector3 Max(Vector3 left, Vector3 right)
-        {
-            return left.LengthSquared >= right.LengthSquared ? left : right;
-        }
-
-        #endregion
-
-        #region Clamp
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <returns>The clamped vector</returns>
-        public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max)
-        {
-            vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-            return vec;
-        }
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <param name="result">The clamped vector</param>
-        public static void Clamp(ref Vector3 vec, ref Vector3 min, ref Vector3 max, out Vector3 result)
-        {
-            result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            result.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector3 Normalize(Vector3 vec)
-        {
-            float scale = 1.0f / vec.Length;
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void Normalize(ref Vector3 vec, out Vector3 result)
-        {
-            float scale = 1.0f / vec.Length;
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-        }
-
-        #endregion
-
-        #region NormalizeFast
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector3 NormalizeFast(Vector3 vec)
-        {
-            float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z);
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void NormalizeFast(ref Vector3 vec, out Vector3 result)
-        {
-            float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z);
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-        }
-
-        #endregion
-
-        #region Dot
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The dot product of the two inputs</returns>
-        public static float Dot(Vector3 left, Vector3 right)
-        {
-            return left.X * right.X + left.Y * right.Y + left.Z * right.Z;
-        }
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <param name="result">The dot product of the two inputs</param>
-        public static void Dot(ref Vector3 left, ref Vector3 right, out float result)
-        {
-            result = left.X * right.X + left.Y * right.Y + left.Z * right.Z;
-        }
-
-        #endregion
-
-        #region Cross
-
-        /// <summary>
-        /// Caclulate the cross (vector) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The cross product of the two inputs</returns>
-        public static Vector3 Cross(Vector3 left, Vector3 right)
-        {
-            return new Vector3(left.Y * right.Z - left.Z * right.Y,
-                               left.Z * right.X - left.X * right.Z,
-                               left.X * right.Y - left.Y * right.X);
-        }
-
-        /// <summary>
-        /// Caclulate the cross (vector) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The cross product of the two inputs</returns>
-        /// <param name="result">The cross product of the two inputs</param>
-        public static void Cross(ref Vector3 left, ref Vector3 right, out Vector3 result)
-        {
-            result.X = left.Y * right.Z - left.Z * right.Y;
-            result.Y = left.Z * right.X - left.X * right.Z;
-            result.Z = left.X * right.Y - left.Y * right.X;
-        }
-
-        #endregion
-
-        #region Lerp
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
-        public static Vector3 Lerp(Vector3 a, Vector3 b, float blend)
-        {
-            a.X = blend * (b.X - a.X) + a.X;
-            a.Y = blend * (b.Y - a.Y) + a.Y;
-            a.Z = blend * (b.Z - a.Z) + a.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
-        public static void Lerp(ref Vector3 a, ref Vector3 b, float blend, out Vector3 result)
-        {
-            result.X = blend * (b.X - a.X) + a.X;
-            result.Y = blend * (b.Y - a.Y) + a.Y;
-            result.Z = blend * (b.Z - a.Z) + a.Z;
-        }
-
-        #endregion
-
-        #region Barycentric
-
-        /// <summary>
-        /// Interpolate 3 Vectors using Barycentric coordinates
-        /// </summary>
-        /// <param name="a">First input Vector</param>
-        /// <param name="b">Second input Vector</param>
-        /// <param name="c">Third input Vector</param>
-        /// <param name="u">First Barycentric Coordinate</param>
-        /// <param name="v">Second Barycentric Coordinate</param>
-        /// <returns>a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</returns>
-        public static Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, float u, float v)
-        {
-            return a + u * (b - a) + v * (c - a);
-        }
-
-        /// <summary>Interpolate 3 Vectors using Barycentric coordinates</summary>
-        /// <param name="a">First input Vector.</param>
-        /// <param name="b">Second input Vector.</param>
-        /// <param name="c">Third input Vector.</param>
-        /// <param name="u">First Barycentric Coordinate.</param>
-        /// <param name="v">Second Barycentric Coordinate.</param>
-        /// <param name="result">Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</param>
-        public static void BaryCentric(ref Vector3 a, ref Vector3 b, ref Vector3 c, float u, float v, out Vector3 result)
-        {
-            result = a; // copy
-
-            Vector3 temp = b; // copy
-            temp.Sub(ref a);
-            temp.Mult(u);
-            result.Add(ref temp);
-
-            temp = c; // copy
-            temp.Sub(ref a);
-            temp.Mult(v);
-            result.Add(ref temp);
-        }
-
-        #endregion
-
-        #region Transform
-
-        /// <summary>Transform a direction vector by the given Matrix
-        /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored.
-        /// </summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector3 TransformVector(Vector3 vec, Matrix4 mat)
-        {
-            Vector3 v;
-            v.X = Vector3.Dot(vec, new Vector3(mat.Column0));
-            v.Y = Vector3.Dot(vec, new Vector3(mat.Column1));
-            v.Z = Vector3.Dot(vec, new Vector3(mat.Column2));
-            return v;
-        }
-
-        /// <summary>Transform a direction vector by the given Matrix
-        /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored.
-        /// </summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void TransformVector(ref Vector3 vec, ref Matrix4 mat, out Vector3 result)
-        {
-            result.X = vec.X * mat.Row0.X +
-                       vec.Y * mat.Row1.X +
-                       vec.Z * mat.Row2.X;
-
-            result.Y = vec.X * mat.Row0.Y +
-                       vec.Y * mat.Row1.Y +
-                       vec.Z * mat.Row2.Y;
-
-            result.Z = vec.X * mat.Row0.Z +
-                       vec.Y * mat.Row1.Z +
-                       vec.Z * mat.Row2.Z;
-        }
-
-        /// <summary>Transform a Normal by the given Matrix</summary>
-        /// <remarks>
-        /// This calculates the inverse of the given matrix, use TransformNormalInverse if you
-        /// already have the inverse to avoid this extra calculation
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed normal</returns>
-        public static Vector3 TransformNormal(Vector3 norm, Matrix4 mat)
-        {
-            mat.Invert();
-            return TransformNormalInverse(norm, mat);
-        }
-
-        /// <summary>Transform a Normal by the given Matrix</summary>
-        /// <remarks>
-        /// This calculates the inverse of the given matrix, use TransformNormalInverse if you
-        /// already have the inverse to avoid this extra calculation
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed normal</param>
-        public static void TransformNormal(ref Vector3 norm, ref Matrix4 mat, out Vector3 result)
-        {
-            Matrix4 Inverse = Matrix4.Invert(mat);
-            Vector3.TransformNormalInverse(ref norm, ref Inverse, out result);
-        }
-
-        /// <summary>Transform a Normal by the (transpose of the) given Matrix</summary>
-        /// <remarks>
-        /// This version doesn't calculate the inverse matrix.
-        /// Use this version if you already have the inverse of the desired transform to hand
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="invMat">The inverse of the desired transformation</param>
-        /// <returns>The transformed normal</returns>
-        public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4 invMat)
-        {
-            Vector3 n;
-            n.X = Vector3.Dot(norm, new Vector3(invMat.Row0));
-            n.Y = Vector3.Dot(norm, new Vector3(invMat.Row1));
-            n.Z = Vector3.Dot(norm, new Vector3(invMat.Row2));
-            return n;
-        }
-
-        /// <summary>Transform a Normal by the (transpose of the) given Matrix</summary>
-        /// <remarks>
-        /// This version doesn't calculate the inverse matrix.
-        /// Use this version if you already have the inverse of the desired transform to hand
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="invMat">The inverse of the desired transformation</param>
-        /// <param name="result">The transformed normal</param>
-        public static void TransformNormalInverse(ref Vector3 norm, ref Matrix4 invMat, out Vector3 result)
-        {
-            result.X = norm.X * invMat.Row0.X +
-                       norm.Y * invMat.Row0.Y +
-                       norm.Z * invMat.Row0.Z;
-
-            result.Y = norm.X * invMat.Row1.X +
-                       norm.Y * invMat.Row1.Y +
-                       norm.Z * invMat.Row1.Z;
-
-            result.Z = norm.X * invMat.Row2.X +
-                       norm.Y * invMat.Row2.Y +
-                       norm.Z * invMat.Row2.Z;
-        }
-
-        /// <summary>Transform a Position by the given Matrix</summary>
-        /// <param name="pos">The position to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed position</returns>
-        public static Vector3 TransformPosition(Vector3 pos, Matrix4 mat)
-        {
-            Vector3 p;
-            p.X = Vector3.Dot(pos, new Vector3(mat.Column0)) + mat.Row3.X;
-            p.Y = Vector3.Dot(pos, new Vector3(mat.Column1)) + mat.Row3.Y;
-            p.Z = Vector3.Dot(pos, new Vector3(mat.Column2)) + mat.Row3.Z;
-            return p;
-        }
-
-        /// <summary>Transform a Position by the given Matrix</summary>
-        /// <param name="pos">The position to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed position</param>
-        public static void TransformPosition(ref Vector3 pos, ref Matrix4 mat, out Vector3 result)
-        {
-            result.X = pos.X * mat.Row0.X +
-                       pos.Y * mat.Row1.X +
-                       pos.Z * mat.Row2.X +
-                       mat.Row3.X;
-
-            result.Y = pos.X * mat.Row0.Y +
-                       pos.Y * mat.Row1.Y +
-                       pos.Z * mat.Row2.Y +
-                       mat.Row3.Y;
-
-            result.Z = pos.X * mat.Row0.Z +
-                       pos.Y * mat.Row1.Z +
-                       pos.Z * mat.Row2.Z +
-                       mat.Row3.Z;
-        }
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector4 Transform(Vector3 vec, Matrix4 mat)
-        {
-            Vector4 v4 = new Vector4(vec.X, vec.Y, vec.Z, 1.0f);
-            Vector4 result;
-            result.X = Vector4.Dot(v4, mat.Column0);
-            result.Y = Vector4.Dot(v4, mat.Column1);
-            result.Z = Vector4.Dot(v4, mat.Column2);
-            result.W = Vector4.Dot(v4, mat.Column3);
-            return result;
-        }
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void Transform(ref Vector3 vec, ref Matrix4 mat, out Vector4 result)
-        {
-            Vector4 v4 = new Vector4(vec.X, vec.Y, vec.Z, 1.0f);
-            Vector4.Transform(ref v4, ref mat, out result);
-        }
-
-        /// <summary>Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector3 TransformPerspective(Vector3 vec, Matrix4 mat)
-        {
-            Vector4 h = Transform(vec, mat);
-            return new Vector3(h.X / h.W, h.Y / h.W, h.Z / h.W);
-        }
-
-        /// <summary>Transform a Vector3 by the given Matrix, and project the resulting Vector4 back to a Vector3</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void TransformPerspective(ref Vector3 vec, ref Matrix4 mat, out Vector3 result)
-        {
-            Vector4 h;
-            Vector3.Transform(ref vec, ref mat, out h);
-            result.X = h.X / h.W;
-            result.Y = h.Y / h.W;
-            result.Z = h.Z / h.W;
-        }
-
-        #endregion
-
-        #region CalculateAngle
-
-        /// <summary>
-        /// Calculates the angle (in radians) between two vectors.
-        /// </summary>
-        /// <param name="first">The first vector.</param>
-        /// <param name="second">The second vector.</param>
-        /// <returns>Angle (in radians) between the vectors.</returns>
-        /// <remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
-        public static float CalculateAngle(Vector3 first, Vector3 second)
-        {
-            return (float)System.Math.Acos((Vector3.Dot(first, second)) / (first.Length * second.Length));
-        }
-
-        /// <summary>Calculates the angle (in radians) between two vectors.</summary>
-        /// <param name="first">The first vector.</param>
-        /// <param name="second">The second vector.</param>
-        /// <param name="result">Angle (in radians) between the vectors.</param>
-        /// <remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
-        public static void CalculateAngle(ref Vector3 first, ref Vector3 second, out float result)
-        {
-            float temp;
-            Vector3.Dot(ref first, ref second, out temp);
-            result = (float)System.Math.Acos(temp / (first.Length * second.Length));
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Swizzle
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector2 with the X and Y components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } }
-
-        #endregion
-
-        #region Operators
-
-        public static Vector3 operator +(Vector3 left, Vector3 right)
-        {
-            left.X += right.X;
-            left.Y += right.Y;
-            left.Z += right.Z;
-            return left;
-        }
-
-        public static Vector3 operator -(Vector3 left, Vector3 right)
-        {
-            left.X -= right.X;
-            left.Y -= right.Y;
-            left.Z -= right.Z;
-            return left;
-        }
-
-        public static Vector3 operator -(Vector3 vec)
-        {
-            vec.X = -vec.X;
-            vec.Y = -vec.Y;
-            vec.Z = -vec.Z;
-            return vec;
-        }
-
-        public static Vector3 operator *(Vector3 vec, float f)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            return vec;
-        }
-
-        public static Vector3 operator *(float f, Vector3 vec)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            return vec;
-        }
-
-        public static Vector3 operator /(Vector3 vec, float f)
-        {
-            float mult = 1.0f / f;
-            vec.X *= mult;
-            vec.Y *= mult;
-            vec.Z *= mult;
-            return vec;
-        }
-
-        public static bool operator ==(Vector3 left, Vector3 right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Vector3 left, Vector3 right)
-        {
-            return !left.Equals(right);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Vector3.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1}, {2})", X, Y, Z);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Vector3))
-                return false;
-
-            return this.Equals((Vector3)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Vector3> Members
-
-        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
-        /// <param name="other">A vector to compare with this vector.</param>
-        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
-        public bool Equals(Vector3 other)
-        {
-            return
-                X == other.X &&
-                Y == other.Y &&
-                Z == other.Z;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/Vector3d.cs b/Source/Compatibility/Math/Vector3d.cs
deleted file mode 100644 (file)
index 989f8b9..0000000
+++ /dev/null
@@ -1,1164 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// Represents a 3D vector using three double-precision floating-point numbers.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Vector3d : IEquatable<Vector3d>
-    {
-        #region Fields
-
-        /// <summary>
-        /// The X component of the Vector3.
-        /// </summary>
-        public double X;
-
-        /// <summary>
-        /// The Y component of the Vector3.
-        /// </summary>
-        public double Y;
-
-        /// <summary>
-        /// The Z component of the Vector3.
-        /// </summary>
-        public double Z;
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Vector3.
-        /// </summary>
-        /// <param name="x">The x component of the Vector3.</param>
-        /// <param name="y">The y component of the Vector3.</param>
-        /// <param name="z">The z component of the Vector3.</param>
-        public Vector3d(double x, double y, double z)
-        {
-            X = x;
-            Y = y;
-            Z = z;
-        }
-
-        /// <summary>
-        /// Constructs a new instance from the given Vector2d.
-        /// </summary>
-        /// <param name="v">The Vector2d to copy components from.</param>
-        public Vector3d(Vector2d v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new instance from the given Vector3d.
-        /// </summary>
-        /// <param name="v">The Vector3d to copy components from.</param>
-        public Vector3d(Vector3d v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-        }
-
-        /// <summary>
-        /// Constructs a new instance from the given Vector4d.
-        /// </summary>
-        /// <param name="v">The Vector4d to copy components from.</param>
-        public Vector3d(Vector4d v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-        }
-
-
-        #endregion
-
-        #region Public Members
-
-        #region Instance
-
-        #region public void Add()
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Add(Vector3d right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-        }
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Add(ref Vector3d right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-        }
-
-        #endregion public void Add()
-
-        #region public void Sub()
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Sub(Vector3d right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-        }
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Sub(ref Vector3d right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-        }
-
-        #endregion public void Sub()
-
-        #region public void Mult()
-
-        /// <summary>Multiply this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Mult(double f)
-        {
-            this.X *= f;
-            this.Y *= f;
-            this.Z *= f;
-        }
-
-        #endregion public void Mult()
-
-        #region public void Div()
-
-        /// <summary>Divide this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Div(double f)
-        {
-            double mult = 1.0 / f;
-            this.X *= mult;
-            this.Y *= mult;
-            this.Z *= mult;
-        }
-
-        #endregion public void Div()
-
-        #region public double Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the vector.
-        /// </summary>
-        /// <see cref="LengthFast"/>
-        /// <seealso cref="LengthSquared"/>
-        public double Length
-        {
-            get
-            {
-                return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z);
-            }
-        }
-
-        #endregion
-
-        #region public double LengthFast
-
-        /// <summary>
-        /// Gets an approximation of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property uses an approximation of the square root function to calculate vector magnitude, with
-        /// an upper error bound of 0.001.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthSquared"/>
-        public double LengthFast
-        {
-            get
-            {
-                return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z);
-            }
-        }
-
-        #endregion
-
-        #region public double LengthSquared
-
-        /// <summary>
-        /// Gets the square of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property avoids the costly square root operation required by the Length property. This makes it more suitable
-        /// for comparisons.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthFast"/>
-        public double LengthSquared
-        {
-            get
-            {
-                return X * X + Y * Y + Z * Z;
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Vector3d to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            double scale = 1.0f / this.Length;
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-        }
-
-        #endregion
-
-        #region public void NormalizeFast()
-
-        /// <summary>
-        /// Scales the Vector3d to approximately unit length.
-        /// </summary>
-        public void NormalizeFast()
-        {
-            double scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z);
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-        }
-
-        #endregion
-
-        #region public void Scale()
-
-        /// <summary>
-        /// Scales the current Vector3d by the given amounts.
-        /// </summary>
-        /// <param name="sx">The scale of the X component.</param>
-        /// <param name="sy">The scale of the Y component.</param>
-        /// <param name="sz">The scale of the Z component.</param>
-        public void Scale(double sx, double sy, double sz)
-        {
-            this.X = X * sx;
-            this.Y = Y * sy;
-            this.Z = Z * sz;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        public void Scale(Vector3d scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        [CLSCompliant(false)]
-        public void Scale(ref Vector3d scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-        }
-
-        #endregion public void Scale()
-
-        #endregion
-
-        #region Static
-
-        #region Fields
-
-        /// <summary>
-        /// Defines a unit-length Vector3d that points towards the X-axis.
-        /// </summary>
-        public static readonly Vector3d UnitX = new Vector3d(1, 0, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector3d that points towards the Y-axis.
-        /// </summary>
-        public static readonly Vector3d UnitY = new Vector3d(0, 1, 0);
-
-        /// <summary>
-        /// /// Defines a unit-length Vector3d that points towards the Z-axis.
-        /// </summary>
-        public static readonly Vector3d UnitZ = new Vector3d(0, 0, 1);
-
-        /// <summary>
-        /// Defines a zero-length Vector3.
-        /// </summary>
-        public static readonly Vector3d Zero = new Vector3d(0, 0, 0);
-
-        /// <summary>
-        /// Defines an instance with all components set to 1.
-        /// </summary>
-        public static readonly Vector3d One = new Vector3d(1, 1, 1);
-
-        /// <summary>
-        /// Defines the size of the Vector3d struct in bytes.
-        /// </summary>
-        public static readonly int SizeInBytes = Marshal.SizeOf(new Vector3d());
-
-        #endregion
-
-        #region Add
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of addition</returns>
-        public static Vector3d Add(Vector3d a, Vector3d b)
-        {
-            a.X += b.X;
-            a.Y += b.Y;
-            a.Z += b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of addition</param>
-        public static void Add(ref Vector3d a, ref Vector3d b, out Vector3d result)
-        {
-            result.X = a.X + b.X;
-            result.Y = a.Y + b.Y;
-            result.Z = a.Z + b.Z;
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of subtraction</returns>
-        public static Vector3d Sub(Vector3d a, Vector3d b)
-        {
-            a.X -= b.X;
-            a.Y -= b.Y;
-            a.Z -= b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of subtraction</param>
-        public static void Sub(ref Vector3d a, ref Vector3d b, out Vector3d result)
-        {
-            result.X = a.X - b.X;
-            result.Y = a.Y - b.Y;
-            result.Z = a.Z - b.Z;
-        }
-
-        #endregion
-
-        #region Mult
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the multiplication</returns>
-        public static Vector3d Mult(Vector3d a, double f)
-        {
-            a.X *= f;
-            a.Y *= f;
-            a.Z *= f;
-            return a;
-        }
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the multiplication</param>
-        public static void Mult(ref Vector3d a, double f, out Vector3d result)
-        {
-            result.X = a.X * f;
-            result.Y = a.Y * f;
-            result.Z = a.Z * f;
-        }
-
-        #endregion
-
-        #region Div
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the division</returns>
-        public static Vector3d Div(Vector3d a, double f)
-        {
-            double mult = 1.0f / f;
-            a.X *= mult;
-            a.Y *= mult;
-            a.Z *= mult;
-            return a;
-        }
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the division</param>
-        public static void Div(ref Vector3d a, double f, out Vector3d result)
-        {
-            double mult = 1.0f / f;
-            result.X = a.X * mult;
-            result.Y = a.Y * mult;
-            result.Z = a.Z * mult;
-        }
-
-        #endregion
-
-        #region ComponentMin
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise minimum</returns>
-        public static Vector3d ComponentMin(Vector3d a, Vector3d b)
-        {
-            a.X = a.X < b.X ? a.X : b.X;
-            a.Y = a.Y < b.Y ? a.Y : b.Y;
-            a.Z = a.Z < b.Z ? a.Z : b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise minimum</param>
-        public static void ComponentMin(ref Vector3d a, ref Vector3d b, out Vector3d result)
-        {
-            result.X = a.X < b.X ? a.X : b.X;
-            result.Y = a.Y < b.Y ? a.Y : b.Y;
-            result.Z = a.Z < b.Z ? a.Z : b.Z;
-        }
-
-        #endregion
-
-        #region ComponentMax
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise maximum</returns>
-        public static Vector3d ComponentMax(Vector3d a, Vector3d b)
-        {
-            a.X = a.X > b.X ? a.X : b.X;
-            a.Y = a.Y > b.Y ? a.Y : b.Y;
-            a.Z = a.Z > b.Z ? a.Z : b.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise maximum</param>
-        public static void ComponentMax(ref Vector3d a, ref Vector3d b, out Vector3d result)
-        {
-            result.X = a.X > b.X ? a.X : b.X;
-            result.Y = a.Y > b.Y ? a.Y : b.Y;
-            result.Z = a.Z > b.Z ? a.Z : b.Z;
-        }
-
-        #endregion
-
-        #region Min
-
-        /// <summary>
-        /// Returns the Vector3d with the minimum magnitude
-        /// </summary>
-        /// <param name="left">Left operand</param>
-        /// <param name="right">Right operand</param>
-        /// <returns>The minimum Vector3</returns>
-        public static Vector3d Min(Vector3d left, Vector3d right)
-        {
-            return left.LengthSquared < right.LengthSquared ? left : right;
-        }
-
-        #endregion
-
-        #region Max
-
-        /// <summary>
-        /// Returns the Vector3d with the minimum magnitude
-        /// </summary>
-        /// <param name="left">Left operand</param>
-        /// <param name="right">Right operand</param>
-        /// <returns>The minimum Vector3</returns>
-        public static Vector3d Max(Vector3d left, Vector3d right)
-        {
-            return left.LengthSquared >= right.LengthSquared ? left : right;
-        }
-
-        #endregion
-
-        #region Clamp
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <returns>The clamped vector</returns>
-        public static Vector3d Clamp(Vector3d vec, Vector3d min, Vector3d max)
-        {
-            vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            vec.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-            return vec;
-        }
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <param name="result">The clamped vector</param>
-        public static void Clamp(ref Vector3d vec, ref Vector3d min, ref Vector3d max, out Vector3d result)
-        {
-            result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            result.Z = vec.Z < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector3d Normalize(Vector3d vec)
-        {
-            double scale = 1.0f / vec.Length;
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void Normalize(ref Vector3d vec, out Vector3d result)
-        {
-            double scale = 1.0f / vec.Length;
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-        }
-
-        #endregion
-
-        #region NormalizeFast
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector3d NormalizeFast(Vector3d vec)
-        {
-            double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z);
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void NormalizeFast(ref Vector3d vec, out Vector3d result)
-        {
-            double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z);
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-        }
-
-        #endregion
-
-        #region Dot
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The dot product of the two inputs</returns>
-        public static double Dot(Vector3d left, Vector3d right)
-        {
-            return left.X * right.X + left.Y * right.Y + left.Z * right.Z;
-        }
-
-        /// <summary>
-        /// Calculate the dot (scalar) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <param name="result">The dot product of the two inputs</param>
-        public static void Dot(ref Vector3d left, ref Vector3d right, out double result)
-        {
-            result = left.X * right.X + left.Y * right.Y + left.Z * right.Z;
-        }
-
-        #endregion
-
-        #region Cross
-
-        /// <summary>
-        /// Caclulate the cross (vector) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The cross product of the two inputs</returns>
-        public static Vector3d Cross(Vector3d left, Vector3d right)
-        {
-            return new Vector3d(left.Y * right.Z - left.Z * right.Y,
-                                left.Z * right.X - left.X * right.Z,
-                                left.X * right.Y - left.Y * right.X);
-        }
-
-        /// <summary>
-        /// Caclulate the cross (vector) product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The cross product of the two inputs</returns>
-        /// <param name="result">The cross product of the two inputs</param>
-        public static void Cross(ref Vector3d left, ref Vector3d right, out Vector3d result)
-        {
-            result.X = left.Y * right.Z - left.Z * right.Y;
-            result.Y = left.Z * right.X - left.X * right.Z;
-            result.Z = left.X * right.Y - left.Y * right.X;
-        }
-
-        #endregion
-
-        #region Lerp
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
-        public static Vector3d Lerp(Vector3d a, Vector3d b, double blend)
-        {
-            a.X = blend * (b.X - a.X) + a.X;
-            a.Y = blend * (b.Y - a.Y) + a.Y;
-            a.Z = blend * (b.Z - a.Z) + a.Z;
-            return a;
-        }
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
-        public static void Lerp(ref Vector3d a, ref Vector3d b, double blend, out Vector3d result)
-        {
-            result.X = blend * (b.X - a.X) + a.X;
-            result.Y = blend * (b.Y - a.Y) + a.Y;
-            result.Z = blend * (b.Z - a.Z) + a.Z;
-        }
-
-        #endregion
-
-        #region Barycentric
-
-        /// <summary>
-        /// Interpolate 3 Vectors using Barycentric coordinates
-        /// </summary>
-        /// <param name="a">First input Vector</param>
-        /// <param name="b">Second input Vector</param>
-        /// <param name="c">Third input Vector</param>
-        /// <param name="u">First Barycentric Coordinate</param>
-        /// <param name="v">Second Barycentric Coordinate</param>
-        /// <returns>a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</returns>
-        public static Vector3d BaryCentric(Vector3d a, Vector3d b, Vector3d c, double u, double v)
-        {
-            return a + u * (b - a) + v * (c - a);
-        }
-
-        /// <summary>Interpolate 3 Vectors using Barycentric coordinates</summary>
-        /// <param name="a">First input Vector.</param>
-        /// <param name="b">Second input Vector.</param>
-        /// <param name="c">Third input Vector.</param>
-        /// <param name="u">First Barycentric Coordinate.</param>
-        /// <param name="v">Second Barycentric Coordinate.</param>
-        /// <param name="result">Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</param>
-        public static void BaryCentric(ref Vector3d a, ref Vector3d b, ref Vector3d c, float u, float v, out Vector3d result)
-        {
-            result = a; // copy
-
-            Vector3d temp = b; // copy
-            temp.Sub(ref a);
-            temp.Mult(u);
-            result.Add(ref temp);
-
-            temp = c; // copy
-            temp.Sub(ref a);
-            temp.Mult(v);
-            result.Add(ref temp);
-        }
-
-        #endregion
-
-        #region Transform
-
-        /// <summary>Transform a direction vector by the given Matrix
-        /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored.
-        /// </summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector3d TransformVector(Vector3d vec, Matrix4d mat)
-        {
-            return new Vector3d(
-                Vector3d.Dot(vec, new Vector3d(mat.Column0)),
-                Vector3d.Dot(vec, new Vector3d(mat.Column1)),
-                Vector3d.Dot(vec, new Vector3d(mat.Column2)));
-        }
-
-        /// <summary>Transform a direction vector by the given Matrix
-        /// Assumes the matrix has a bottom row of (0,0,0,1), that is the translation part is ignored.
-        /// </summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void TransformVector(ref Vector3d vec, ref Matrix4d mat, out Vector3d result)
-        {
-            result.X = vec.X * mat.Row0.X +
-                       vec.Y * mat.Row1.X +
-                       vec.Z * mat.Row2.X;
-
-            result.Y = vec.X * mat.Row0.Y +
-                       vec.Y * mat.Row1.Y +
-                       vec.Z * mat.Row2.Y;
-
-            result.Z = vec.X * mat.Row0.Z +
-                       vec.Y * mat.Row1.Z +
-                       vec.Z * mat.Row2.Z;
-        }
-
-        /// <summary>Transform a Normal by the given Matrix</summary>
-        /// <remarks>
-        /// This calculates the inverse of the given matrix, use TransformNormalInverse if you
-        /// already have the inverse to avoid this extra calculation
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed normal</returns>
-        public static Vector3d TransformNormal(Vector3d norm, Matrix4d mat)
-        {
-            mat.Invert();
-            return TransformNormalInverse(norm, mat);
-        }
-
-        /// <summary>Transform a Normal by the given Matrix</summary>
-        /// <remarks>
-        /// This calculates the inverse of the given matrix, use TransformNormalInverse if you
-        /// already have the inverse to avoid this extra calculation
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed normal</param>
-        public static void TransformNormal(ref Vector3d norm, ref Matrix4d mat, out Vector3d result)
-        {
-            Matrix4d Inverse = Matrix4d.Invert(mat);
-            Vector3d.TransformNormalInverse(ref norm, ref Inverse, out result);
-        }
-
-        /// <summary>Transform a Normal by the (transpose of the) given Matrix</summary>
-        /// <remarks>
-        /// This version doesn't calculate the inverse matrix.
-        /// Use this version if you already have the inverse of the desired transform to hand
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="invMat">The inverse of the desired transformation</param>
-        /// <returns>The transformed normal</returns>
-        public static Vector3d TransformNormalInverse(Vector3d norm, Matrix4d invMat)
-        {
-            return new Vector3d(
-                Vector3d.Dot(norm, new Vector3d(invMat.Row0)),
-                Vector3d.Dot(norm, new Vector3d(invMat.Row1)),
-                Vector3d.Dot(norm, new Vector3d(invMat.Row2)));
-        }
-
-        /// <summary>Transform a Normal by the (transpose of the) given Matrix</summary>
-        /// <remarks>
-        /// This version doesn't calculate the inverse matrix.
-        /// Use this version if you already have the inverse of the desired transform to hand
-        /// </remarks>
-        /// <param name="norm">The normal to transform</param>
-        /// <param name="invMat">The inverse of the desired transformation</param>
-        /// <param name="result">The transformed normal</param>
-        public static void TransformNormalInverse(ref Vector3d norm, ref Matrix4d invMat, out Vector3d result)
-        {
-            result.X = norm.X * invMat.Row0.X +
-                       norm.Y * invMat.Row0.Y +
-                       norm.Z * invMat.Row0.Z;
-
-            result.Y = norm.X * invMat.Row1.X +
-                       norm.Y * invMat.Row1.Y +
-                       norm.Z * invMat.Row1.Z;
-
-            result.Z = norm.X * invMat.Row2.X +
-                       norm.Y * invMat.Row2.Y +
-                       norm.Z * invMat.Row2.Z;
-        }
-
-        /// <summary>Transform a Position by the given Matrix</summary>
-        /// <param name="pos">The position to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed position</returns>
-        public static Vector3d TransformPosition(Vector3d pos, Matrix4d mat)
-        {
-            return new Vector3d(
-                Vector3d.Dot(pos, new Vector3d(mat.Column0)) + mat.Row3.X,
-                Vector3d.Dot(pos, new Vector3d(mat.Column1)) + mat.Row3.Y,
-                Vector3d.Dot(pos, new Vector3d(mat.Column2)) + mat.Row3.Z);
-        }
-
-        /// <summary>Transform a Position by the given Matrix</summary>
-        /// <param name="pos">The position to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed position</param>
-        public static void TransformPosition(ref Vector3d pos, ref Matrix4d mat, out Vector3d result)
-        {
-            result.X = pos.X * mat.Row0.X +
-                       pos.Y * mat.Row1.X +
-                       pos.Z * mat.Row2.X +
-                       mat.Row3.X;
-
-            result.Y = pos.X * mat.Row0.Y +
-                       pos.Y * mat.Row1.Y +
-                       pos.Z * mat.Row2.Y +
-                       mat.Row3.Y;
-
-            result.Z = pos.X * mat.Row0.Z +
-                       pos.Y * mat.Row1.Z +
-                       pos.Z * mat.Row2.Z +
-                       mat.Row3.Z;
-        }
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector4d Transform(Vector3d vec, Matrix4d mat)
-        {
-            Vector4d v4 = new Vector4d(vec.X, vec.Y, vec.Z, 1.0f);
-            return new Vector4d(
-                Vector4d.Dot(v4, mat.Column0),
-                Vector4d.Dot(v4, mat.Column1),
-                Vector4d.Dot(v4, mat.Column2),
-                Vector4d.Dot(v4, mat.Column3));
-        }
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void Transform(ref Vector3d vec, ref Matrix4d mat, out Vector4d result)
-        {
-            Vector4d v4 = new Vector4d(vec.X, vec.Y, vec.Z, 1.0f);
-            Vector4d.Transform(ref v4, ref mat, out result);
-        }
-
-        /// <summary>
-        /// Transform a Vector3d by the given Matrix, and project the resulting Vector4 back to a Vector3
-        /// </summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector3d TransformPerspective(Vector3d vec, Matrix4d mat)
-        {
-            Vector4d h = Transform(vec, mat);
-            return new Vector3d(h.X / h.W, h.Y / h.W, h.Z / h.W);
-        }
-
-        /// <summary>Transform a Vector3d by the given Matrix, and project the resulting Vector4d back to a Vector3d</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void TransformPerspective(ref Vector3d vec, ref Matrix4d mat, out Vector3d result)
-        {
-            Vector4d h;
-            Vector3d.Transform(ref vec, ref mat, out h);
-            result.X = h.X / h.W;
-            result.Y = h.Y / h.W;
-            result.Z = h.Z / h.W;
-        }
-
-        #endregion
-
-        #region CalculateAngle
-
-        /// <summary>
-        /// Calculates the angle (in radians) between two vectors.
-        /// </summary>
-        /// <param name="first">The first vector.</param>
-        /// <param name="second">The second vector.</param>
-        /// <returns>Angle (in radians) between the vectors.</returns>
-        /// <remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
-        public static double CalculateAngle(Vector3d first, Vector3d second)
-        {
-            return System.Math.Acos((Vector3d.Dot(first, second)) / (first.Length * second.Length));
-        }
-
-        /// <summary>Calculates the angle (in radians) between two vectors.</summary>
-        /// <param name="first">The first vector.</param>
-        /// <param name="second">The second vector.</param>
-        /// <param name="result">Angle (in radians) between the vectors.</param>
-        /// <remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
-        public static void CalculateAngle(ref Vector3d first, ref Vector3d second, out double result)
-        {
-            double temp;
-            Vector3d.Dot(ref first, ref second, out temp);
-            result = System.Math.Acos(temp / (first.Length * second.Length));
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Swizzle
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector2d with the X and Y components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector2d Xy { get { return new Vector2d(X, Y); } set { X = value.X; Y = value.Y; } }
-
-        #endregion
-
-        #region Operators
-
-        public static Vector3d operator +(Vector3d left, Vector3d right)
-        {
-            left.X += right.X;
-            left.Y += right.Y;
-            left.Z += right.Z;
-            return left;
-        }
-
-        public static Vector3d operator -(Vector3d left, Vector3d right)
-        {
-            left.X -= right.X;
-            left.Y -= right.Y;
-            left.Z -= right.Z;
-            return left;
-        }
-
-        public static Vector3d operator -(Vector3d vec)
-        {
-            vec.X = -vec.X;
-            vec.Y = -vec.Y;
-            vec.Z = -vec.Z;
-            return vec;
-        }
-
-        public static Vector3d operator *(Vector3d vec, double f)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            return vec;
-        }
-
-        public static Vector3d operator *(double f, Vector3d vec)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            return vec;
-        }
-
-        public static Vector3d operator /(Vector3d vec, double f)
-        {
-            double mult = 1.0f / f;
-            vec.X *= mult;
-            vec.Y *= mult;
-            vec.Z *= mult;
-            return vec;
-        }
-
-        public static bool operator ==(Vector3d left, Vector3d right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Vector3d left, Vector3d right)
-        {
-            return !left.Equals(right);
-        }
-
-        /// <summary>Converts OpenTK.Vector3 to OpenTK.Vector3d.</summary>
-        /// <param name="v3">The Vector3 to convert.</param>
-        /// <returns>The resulting Vector3d.</returns>
-        public static explicit operator Vector3d(Vector3 v3)
-        {
-            return new Vector3d(v3.X, v3.Y, v3.Z);
-        }
-
-        /// <summary>Converts OpenTK.Vector3d to OpenTK.Vector3.</summary>
-        /// <param name="v3d">The Vector3d to convert.</param>
-        /// <returns>The resulting Vector3.</returns>
-        public static explicit operator Vector3(Vector3d v3d)
-        {
-            return new Vector3((float)v3d.X, (float)v3d.Y, (float)v3d.Z);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Vector3.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1}, {2})", X, Y, Z);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Vector3))
-                return false;
-
-            return this.Equals((Vector3)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Vector3> Members
-
-        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
-        /// <param name="other">A vector to compare with this vector.</param>
-        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
-        public bool Equals(Vector3d other)
-        {
-            return
-                X == other.X &&
-                Y == other.Y &&
-                Z == other.Z;
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Vector3h.cs b/Source/Compatibility/Math/Vector3h.cs
deleted file mode 100644 (file)
index a9439e0..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Runtime.Serialization;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// 3-component Vector of the Half type. Occupies 6 Byte total.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable, StructLayout(LayoutKind.Sequential)]
-    public struct Vector3h : ISerializable, IEquatable<Vector3h>
-    {
-        #region Public Fields
-
-        /// <summary>The X component of the Half3.</summary>
-        public Half X;
-
-        /// <summary>The Y component of the Half3.</summary>
-        public Half Y;
-
-        /// <summary>The Z component of the Half3.</summary>
-        public Half Z;
-
-        #endregion Public Fields
-
-        #region Constructors
-
-        /// <summary>
-        /// The new Half3 instance will avoid conversion and copy directly from the Half parameters.
-        /// </summary>
-        /// <param name="x">An Half instance of a 16-bit half-precision floating-point number.</param>
-        /// <param name="y">An Half instance of a 16-bit half-precision floating-point number.</param>
-        /// <param name="z">An Half instance of a 16-bit half-precision floating-point number.</param>
-        public Vector3h(Half x, Half y, Half z)
-        {
-            this.X = x;
-            this.Y = y;
-            this.Z = z;
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="x">32-bit single-precision floating-point number.</param>
-        /// <param name="y">32-bit single-precision floating-point number.</param>
-        /// <param name="z">32-bit single-precision floating-point number.</param>
-        public Vector3h(Single x, Single y, Single z)
-        {
-            X = new Half(x);
-            Y = new Half(y);
-            Z = new Half(z);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the 3 parameters into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="x">32-bit single-precision floating-point number.</param>
-        /// <param name="y">32-bit single-precision floating-point number.</param>
-        /// <param name="z">32-bit single-precision floating-point number.</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector3h(Single x, Single y, Single z, bool throwOnError)
-        {
-            X = new Half(x, throwOnError);
-            Y = new Half(y, throwOnError);
-            Z = new Half(z, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3</param>
-        [CLSCompliant(false)]
-        public Vector3h(Vector3 v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        [CLSCompliant(false)]
-        public Vector3h(Vector3 v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point.
-        /// This is the fastest constructor.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3</param>
-        public Vector3h(ref Vector3 v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector3h(ref Vector3 v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3d</param>
-        public Vector3h(Vector3d v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3d</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector3h(Vector3d v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point.
-        /// This is the faster constructor.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3d</param>
-        [CLSCompliant(false)]
-        public Vector3h(ref Vector3d v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-        }
-
-        /// <summary>
-        /// The new Half3 instance will convert the Vector3d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector3d</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        [CLSCompliant(false)]
-        public Vector3h(ref Vector3d v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-        }
-
-        #endregion Constructors
-
-        #region Swizzle
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector2h with the X and Y components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector2h Xy { get { return new Vector2h(X, Y); } set { X = value.X; Y = value.Y; } }
-
-        #endregion
-
-        #region Half -> Single
-
-        /// <summary>
-        /// Returns this Half3 instance's contents as Vector3.
-        /// </summary>
-        /// <returns>OpenTK.Vector3</returns>
-        public Vector3 ToVector3()
-        {
-            return new Vector3(X, Y, Z);
-        }
-
-        /// <summary>
-        /// Returns this Half3 instance's contents as Vector3d.
-        /// </summary>
-        public Vector3d ToVector3d()
-        {
-            return new Vector3d(X, Y, Z);
-        }
-
-        #endregion Half -> Single
-
-        #region Conversions
-
-        /// <summary>Converts OpenTK.Vector3 to OpenTK.Half3.</summary>
-        /// <param name="v3f">The Vector3 to convert.</param>
-        /// <returns>The resulting Half vector.</returns>
-        public static explicit operator Vector3h(Vector3 v3f)
-        {
-            return new Vector3h(v3f);
-        }
-
-        /// <summary>Converts OpenTK.Vector3d to OpenTK.Half3.</summary>
-        /// <param name="v3d">The Vector3d to convert.</param>
-        /// <returns>The resulting Half vector.</returns>
-        public static explicit operator Vector3h(Vector3d v3d)
-        {
-            return new Vector3h(v3d);
-        }
-
-        /// <summary>Converts OpenTK.Half3 to OpenTK.Vector3.</summary>
-        /// <param name="h3">The Half3 to convert.</param>
-        /// <returns>The resulting Vector3.</returns>
-        public static explicit operator Vector3(Vector3h h3)
-        {
-            Vector3 result = new Vector3();
-            result.X = h3.X.ToSingle();
-            result.Y = h3.Y.ToSingle();
-            result.Z = h3.Z.ToSingle();
-            return result;
-        }
-
-        /// <summary>Converts OpenTK.Half3 to OpenTK.Vector3d.</summary>
-        /// <param name="h3">The Half3 to convert.</param>
-        /// <returns>The resulting Vector3d.</returns>
-        public static explicit operator Vector3d(Vector3h h3)
-        {
-            Vector3d result = new Vector3d();
-            result.X = h3.X.ToSingle();
-            result.Y = h3.Y.ToSingle();
-            result.Z = h3.Z.ToSingle();
-            return result;
-        }
-
-        #endregion Conversions
-
-        #region Constants
-
-        /// <summary>The size in bytes for an instance of the Half3 struct is 6.</summary>
-        public static readonly int SizeInBytes = 6;
-
-        #endregion Constants
-
-        #region ISerializable
-
-        /// <summary>Constructor used by ISerializable to deserialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public Vector3h(SerializationInfo info, StreamingContext context)
-        {
-            this.X = (Half)info.GetValue("X", typeof(Half));
-            this.Y = (Half)info.GetValue("Y", typeof(Half));
-            this.Z = (Half)info.GetValue("Z", typeof(Half));
-        }
-
-        /// <summary>Used by ISerialize to serialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public void GetObjectData(SerializationInfo info, StreamingContext context)
-        {
-            info.AddValue("X", this.X);
-            info.AddValue("Y", this.Y);
-            info.AddValue("Z", this.Z);
-        }
-
-        #endregion ISerializable
-
-        #region Binary dump
-
-        /// <summary>Updates the X,Y and Z components of this instance by reading from a Stream.</summary>
-        /// <param name="bin">A BinaryReader instance associated with an open Stream.</param>
-        public void FromBinaryStream(BinaryReader bin)
-        {
-            X.FromBinaryStream(bin);
-            Y.FromBinaryStream(bin);
-            Z.FromBinaryStream(bin);
-        }
-
-        /// <summary>Writes the X,Y and Z components of this instance into a Stream.</summary>
-        /// <param name="bin">A BinaryWriter instance associated with an open Stream.</param>
-        public void ToBinaryStream(BinaryWriter bin)
-        {
-            X.ToBinaryStream(bin);
-            Y.ToBinaryStream(bin);
-            Z.ToBinaryStream(bin);
-        }
-
-        #endregion Binary dump
-
-        #region IEquatable<Half3> Members
-
-        /// <summary>Returns a value indicating whether this instance is equal to a specified OpenTK.Half3 vector.</summary>
-        /// <param name="other">OpenTK.Half3 to compare to this instance..</param>
-        /// <returns>True, if other is equal to this instance; false otherwise.</returns>
-        public bool Equals(Vector3h other)
-        {
-            return (this.X.Equals(other.X) && this.Y.Equals(other.Y) && this.Z.Equals(other.Z));
-        }
-
-        #endregion
-
-        #region ToString()
-
-        /// <summary>Returns a string that contains this Half3's numbers in human-legible form.</summary>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1}, {2})", X.ToString(), Y.ToString(), Z.ToString());
-        }
-
-        #endregion ToString()
-
-        #region BitConverter
-
-        /// <summary>Returns the Half3 as an array of bytes.</summary>
-        /// <param name="h">The Half3 to convert.</param>
-        /// <returns>The input as byte array.</returns>
-        public static byte[] GetBytes(Vector3h h)
-        {
-            byte[] result = new byte[SizeInBytes];
-
-            byte[] temp = Half.GetBytes(h.X);
-            result[0] = temp[0];
-            result[1] = temp[1];
-            temp = Half.GetBytes(h.Y);
-            result[2] = temp[0];
-            result[3] = temp[1];
-            temp = Half.GetBytes(h.Z);
-            result[4] = temp[0];
-            result[5] = temp[1];
-
-            return result;
-        }
-
-        /// <summary>Converts an array of bytes into Half3.</summary>
-        /// <param name="value">A Half3 in it's byte[] representation.</param>
-        /// <param name="startIndex">The starting position within value.</param>
-        /// <returns>A new Half3 instance.</returns>
-        public static Vector3h FromBytes(byte[] value, int startIndex)
-        {
-            Vector3h h3 = new Vector3h();
-            h3.X = Half.FromBytes(value, startIndex);
-            h3.Y = Half.FromBytes(value, startIndex + 2);
-            h3.Z = Half.FromBytes(value, startIndex + 4);
-            return h3;
-        }
-
-        #endregion BitConverter
-    }
-}
diff --git a/Source/Compatibility/Math/Vector4.cs b/Source/Compatibility/Math/Vector4.cs
deleted file mode 100644 (file)
index bdcb52e..0000000
+++ /dev/null
@@ -1,998 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>Represents a 4D vector using four single-precision floating-point numbers.</summary>
-    /// <remarks>
-    /// The Vector4 structure is suitable for interoperation with unmanaged code requiring four consecutive floats.
-    /// </remarks>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Vector4 : IEquatable<Vector4>
-    {
-        #region Fields
-
-        /// <summary>
-        /// The X component of the Vector4.
-        /// </summary>
-        public float X;
-
-        /// <summary>
-        /// The Y component of the Vector4.
-        /// </summary>
-        public float Y;
-
-        /// <summary>
-        /// The Z component of the Vector4.
-        /// </summary>
-        public float Z;
-
-        /// <summary>
-        /// The W component of the Vector4.
-        /// </summary>
-        public float W;
-
-        /// <summary>
-        /// Defines a unit-length Vector4 that points towards the X-axis.
-        /// </summary>
-        public static Vector4 UnitX = new Vector4(1, 0, 0, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector4 that points towards the Y-axis.
-        /// </summary>
-        public static Vector4 UnitY = new Vector4(0, 1, 0, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector4 that points towards the Z-axis.
-        /// </summary>
-        public static Vector4 UnitZ = new Vector4(0, 0, 1, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector4 that points towards the W-axis.
-        /// </summary>
-        public static Vector4 UnitW = new Vector4(0, 0, 0, 1);
-
-        /// <summary>
-        /// Defines a zero-length Vector4.
-        /// </summary>
-        public static Vector4 Zero = new Vector4(0, 0, 0, 0);
-
-        /// <summary>
-        /// Defines an instance with all components set to 1.
-        /// </summary>
-        public static readonly Vector4 One = new Vector4(1, 1, 1, 1);
-
-        /// <summary>
-        /// Defines the size of the Vector4 struct in bytes.
-        /// </summary>
-        public static readonly int SizeInBytes = Marshal.SizeOf(new Vector4());
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Vector4.
-        /// </summary>
-        /// <param name="x">The x component of the Vector4.</param>
-        /// <param name="y">The y component of the Vector4.</param>
-        /// <param name="z">The z component of the Vector4.</param>
-        /// <param name="w">The w component of the Vector4.</param>
-        public Vector4(float x, float y, float z, float w)
-        {
-            X = x;
-            Y = y;
-            Z = z;
-            W = w;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4 from the given Vector2.
-        /// </summary>
-        /// <param name="v">The Vector2 to copy components from.</param>
-        public Vector4(Vector2 v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = 0.0f;
-            W = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4 from the given Vector3.
-        /// </summary>
-        /// <param name="v">The Vector3 to copy components from.</param>
-        public Vector4(Vector3 v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-            W = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4 from the specified Vector3 and w component.
-        /// </summary>
-        /// <param name="v">The Vector3 to copy components from.</param>
-        /// <param name="w">The w component of the new Vector4.</param>
-        public Vector4(Vector3 v, float w)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-            W = w;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4 from the given Vector4.
-        /// </summary>
-        /// <param name="v">The Vector4 to copy components from.</param>
-        public Vector4(Vector4 v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-            W = v.W;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Instance
-
-        #region public void Add()
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Add( Vector4 right )
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-            this.W += right.W;
-        }
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Add( ref Vector4 right )
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-            this.W += right.W;
-        }
-
-        #endregion public void Add()
-
-        #region public void Sub()
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Sub( Vector4 right )
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-            this.W -= right.W;
-        }
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Sub( ref Vector4 right )
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-            this.W -= right.W;
-        }
-
-        #endregion public void Sub()
-
-        #region public void Mult()
-
-        /// <summary>Multiply this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Mult( float f )
-        {
-            this.X *= f;
-            this.Y *= f;
-            this.Z *= f;
-            this.W *= f;
-        }
-
-        #endregion public void Mult()
-
-        #region public void Div()
-
-        /// <summary>Divide this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Div( float f )
-        {
-            float mult = 1.0f / f;
-            this.X *= mult;
-            this.Y *= mult;
-            this.Z *= mult;
-            this.W *= mult;
-        }
-
-        #endregion public void Div()
-
-        #region public float Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the vector.
-        /// </summary>
-        /// <see cref="LengthFast"/>
-        /// <seealso cref="LengthSquared"/>
-        public float Length
-        {
-            get
-            {
-                return (float)System.Math.Sqrt(X * X + Y * Y + Z * Z + W * W);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthFast
-
-        /// <summary>
-        /// Gets an approximation of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property uses an approximation of the square root function to calculate vector magnitude, with
-        /// an upper error bound of 0.001.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthSquared"/>
-        public float LengthFast
-        {
-            get
-            {
-                return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W);
-            }
-        }
-
-        #endregion
-
-        #region public float LengthSquared
-
-        /// <summary>
-        /// Gets the square of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property avoids the costly square root operation required by the Length property. This makes it more suitable
-        /// for comparisons.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthFast"/>
-        public float LengthSquared
-        {
-            get
-            {
-                return X * X + Y * Y + Z * Z + W * W;
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Vector4 to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            float scale = 1.0f / this.Length;
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-            W *= scale;
-        }
-
-        #endregion
-
-        #region public void NormalizeFast()
-
-        /// <summary>
-        /// Scales the Vector4 to approximately unit length.
-        /// </summary>
-        public void NormalizeFast()
-        {
-            float scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W);
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-            W *= scale;
-        }
-
-        #endregion
-
-        #region public void Scale()
-
-        /// <summary>
-        /// Scales the current Vector4 by the given amounts.
-        /// </summary>
-        /// <param name="sx">The scale of the X component.</param>
-        /// <param name="sy">The scale of the Y component.</param>
-        /// <param name="sz">The scale of the Z component.</param>
-        /// <param name="sw">The scale of the Z component.</param>
-        public void Scale( float sx, float sy, float sz, float sw )
-        {
-            this.X = X * sx;
-            this.Y = Y * sy;
-            this.Z = Z * sz;
-            this.W = W * sw;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        public void Scale( Vector4 scale )
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-            this.W *= scale.W;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        [CLSCompliant(false)]
-        public void Scale( ref Vector4 scale )
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-            this.W *= scale.W;
-        }
-
-        #endregion public void Scale()
-
-        #endregion
-
-        #region Static
-
-        #region Add
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of addition</returns>
-        public static Vector4 Add(Vector4 a, Vector4 b)
-        {
-            a.X += b.X;
-            a.Y += b.Y;
-            a.Z += b.Z;
-            a.W += b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of addition</param>
-        public static void Add(ref Vector4 a, ref Vector4 b, out Vector4 result)
-        {
-            result.X = a.X + b.X;
-            result.Y = a.Y + b.Y;
-            result.Z = a.Z + b.Z;
-            result.W = a.W + b.W;
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of subtraction</returns>
-        public static Vector4 Sub(Vector4 a, Vector4 b)
-        {
-            a.X -= b.X;
-            a.Y -= b.Y;
-            a.Z -= b.Z;
-            a.W -= b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of subtraction</param>
-        public static void Sub(ref Vector4 a, ref Vector4 b, out Vector4 result)
-        {
-            result.X = a.X - b.X;
-            result.Y = a.Y - b.Y;
-            result.Z = a.Z - b.Z;
-            result.W = a.W - b.W;
-        }
-
-        #endregion
-
-        #region Mult
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the multiplication</returns>
-        public static Vector4 Mult(Vector4 a, float f)
-        {
-            a.X *= f;
-            a.Y *= f;
-            a.Z *= f;
-            a.W *= f;
-            return a;
-        }
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the multiplication</param>
-        public static void Mult(ref Vector4 a, float f, out Vector4 result)
-        {
-            result.X = a.X * f;
-            result.Y = a.Y * f;
-            result.Z = a.Z * f;
-            result.W = a.W * f;
-        }
-
-        #endregion
-
-        #region Div
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the division</returns>
-        public static Vector4 Div(Vector4 a, float f)
-        {
-            float mult = 1.0f / f;
-            a.X *= mult;
-            a.Y *= mult;
-            a.Z *= mult;
-            a.W *= mult;
-            return a;
-        }
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the division</param>
-        public static void Div(ref Vector4 a, float f, out Vector4 result)
-        {
-            float mult = 1.0f / f;
-            result.X = a.X * mult;
-            result.Y = a.Y * mult;
-            result.Z = a.Z * mult;
-            result.W = a.W * mult;
-        }
-
-        #endregion
-
-        #region Min
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise minimum</returns>
-        public static Vector4 Min(Vector4 a, Vector4 b)
-        {
-            a.X = a.X < b.X ? a.X : b.X;
-            a.Y = a.Y < b.Y ? a.Y : b.Y;
-            a.Z = a.Z < b.Z ? a.Z : b.Z;
-            a.W = a.W < b.W ? a.W : b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise minimum</param>
-        public static void Min(ref Vector4 a, ref Vector4 b, out Vector4 result)
-        {
-            result.X = a.X < b.X ? a.X : b.X;
-            result.Y = a.Y < b.Y ? a.Y : b.Y;
-            result.Z = a.Z < b.Z ? a.Z : b.Z;
-            result.W = a.W < b.W ? a.W : b.W;
-        }
-
-        #endregion
-
-        #region Max
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise maximum</returns>
-        public static Vector4 Max(Vector4 a, Vector4 b)
-        {
-            a.X = a.X > b.X ? a.X : b.X;
-            a.Y = a.Y > b.Y ? a.Y : b.Y;
-            a.Z = a.Z > b.Z ? a.Z : b.Z;
-            a.W = a.W > b.W ? a.W : b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise maximum</param>
-        public static void Max(ref Vector4 a, ref Vector4 b, out Vector4 result)
-        {
-            result.X = a.X > b.X ? a.X : b.X;
-            result.Y = a.Y > b.Y ? a.Y : b.Y;
-            result.Z = a.Z > b.Z ? a.Z : b.Z;
-            result.W = a.W > b.W ? a.W : b.W;
-        }
-
-        #endregion
-
-        #region Clamp
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <returns>The clamped vector</returns>
-        public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max)
-        {
-            vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            vec.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-            vec.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W;
-            return vec;
-        }
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <param name="result">The clamped vector</param>
-        public static void Clamp(ref Vector4 vec, ref Vector4 min, ref Vector4 max, out Vector4 result)
-        {
-            result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            result.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-            result.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W;
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector4 Normalize(Vector4 vec)
-        {
-            float scale = 1.0f / vec.Length;
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            vec.W *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void Normalize(ref Vector4 vec, out Vector4 result)
-        {
-            float scale = 1.0f / vec.Length;
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-            result.W = vec.W * scale;
-        }
-
-        #endregion
-
-        #region NormalizeFast
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector4 NormalizeFast(Vector4 vec)
-        {
-            float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W);
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            vec.W *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void NormalizeFast(ref Vector4 vec, out Vector4 result)
-        {
-            float scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W);
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-            result.W = vec.W * scale;
-        }
-
-        #endregion
-
-        #region Dot
-
-        /// <summary>
-        /// Calculate the dot product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The dot product of the two inputs</returns>
-        public static float Dot(Vector4 left, Vector4 right)
-        {
-            return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W;
-        }
-
-        /// <summary>
-        /// Calculate the dot product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <param name="result">The dot product of the two inputs</param>
-        public static void Dot( ref Vector4 left, ref Vector4 right, out float result )
-        {
-            result = left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W;
-        }
-
-        #endregion
-
-        #region Lerp
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
-        public static Vector4 Lerp(Vector4 a, Vector4 b, float blend)
-        {
-            a.X = blend * (b.X - a.X) + a.X;
-            a.Y = blend * (b.Y - a.Y) + a.Y;
-            a.Z = blend * (b.Z - a.Z) + a.Z;
-            a.W = blend * (b.W - a.W) + a.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
-        public static void Lerp( ref Vector4 a, ref Vector4 b, float blend, out Vector4 result )
-        {
-            result.X = blend * ( b.X - a.X ) + a.X;
-            result.Y = blend * ( b.Y - a.Y ) + a.Y;
-            result.Z = blend * ( b.Z - a.Z ) + a.Z;
-            result.W = blend * ( b.W - a.W ) + a.W;
-        }
-
-        #endregion
-
-        #region Barycentric
-
-        /// <summary>
-        /// Interpolate 3 Vectors using Barycentric coordinates
-        /// </summary>
-        /// <param name="a">First input Vector</param>
-        /// <param name="b">Second input Vector</param>
-        /// <param name="c">Third input Vector</param>
-        /// <param name="u">First Barycentric Coordinate</param>
-        /// <param name="v">Second Barycentric Coordinate</param>
-        /// <returns>a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</returns>
-        public static Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, float u, float v)
-        {
-            return a + u * (b - a) + v * (c - a);
-        }
-
-        /// <summary>Interpolate 3 Vectors using Barycentric coordinates</summary>
-        /// <param name="a">First input Vector.</param>
-        /// <param name="b">Second input Vector.</param>
-        /// <param name="c">Third input Vector.</param>
-        /// <param name="u">First Barycentric Coordinate.</param>
-        /// <param name="v">Second Barycentric Coordinate.</param>
-        /// <param name="result">Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</param>
-        public static void BaryCentric( ref Vector4 a, ref Vector4 b, ref Vector4 c, float u, float v, out Vector4 result )
-        {
-            result = a; // copy
-
-            Vector4 temp = b; // copy
-            temp.Sub( ref a );
-            temp.Mult( u );
-            result.Add( ref temp );
-
-            temp = c; // copy
-            temp.Sub( ref a );
-            temp.Mult( v );
-            result.Add( ref temp );
-        }
-
-        #endregion
-
-        #region Transform
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector4 Transform(Vector4 vec, Matrix4 mat)
-        {
-            Vector4 result;
-            result.X = Vector4.Dot(vec, mat.Column0);
-            result.Y = Vector4.Dot(vec, mat.Column1);
-            result.Z = Vector4.Dot(vec, mat.Column2);
-            result.W = Vector4.Dot(vec, mat.Column3);
-            return result;
-        }
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void Transform( ref Vector4 vec, ref Matrix4 mat, out Vector4 result )
-        {
-            result.X = vec.X * mat.Row0.X +
-                       vec.Y * mat.Row1.X +
-                       vec.Z * mat.Row2.X +
-                       vec.W * mat.Row3.X;
-
-            result.Y = vec.X * mat.Row0.Y +
-                       vec.Y * mat.Row1.Y +
-                       vec.Z * mat.Row2.Y +
-                       vec.W * mat.Row3.Y;
-
-            result.Z = vec.X * mat.Row0.Z +
-                       vec.Y * mat.Row1.Z +
-                       vec.Z * mat.Row2.Z +
-                       vec.W * mat.Row3.Z;
-
-            result.W = vec.X * mat.Row0.W +
-                       vec.Y * mat.Row1.W +
-                       vec.Z * mat.Row2.W +
-                       vec.W * mat.Row3.W;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Swizzle
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector2 with the X and Y components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } }
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector3 Xyz { get { return new Vector3(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } }
-
-        #endregion
-
-        #region Operators
-
-        public static Vector4 operator +(Vector4 left, Vector4 right)
-        {
-            left.X += right.X;
-            left.Y += right.Y;
-            left.Z += right.Z;
-            left.W += right.W;
-            return left;
-        }
-
-        public static Vector4 operator -(Vector4 left, Vector4 right)
-        {
-            left.X -= right.X;
-            left.Y -= right.Y;
-            left.Z -= right.Z;
-            left.W -= right.W;
-            return left;
-        }
-
-        public static Vector4 operator -(Vector4 vec)
-        {
-            vec.X = -vec.X;
-            vec.Y = -vec.Y;
-            vec.Z = -vec.Z;
-            vec.W = -vec.W;
-            return vec;
-        }
-
-        public static Vector4 operator *(Vector4 vec, float f)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            vec.W *= f;
-            return vec;
-        }
-
-        public static Vector4 operator *(float f, Vector4 vec)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            vec.W *= f;
-            return vec;
-        }
-
-        public static Vector4 operator /(Vector4 vec, float f)
-        {
-            float mult = 1.0f / f;
-            vec.X *= mult;
-            vec.Y *= mult;
-            vec.Z *= mult;
-            vec.W *= mult;
-            return vec;
-        }
-
-        public static bool operator ==(Vector4 left, Vector4 right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Vector4 left, Vector4 right)
-        {
-            return !left.Equals(right);
-        }
-
-        [CLSCompliant(false)]
-        unsafe public static explicit operator float*(Vector4 v)
-        {
-            return &v.X;
-        }
-
-        public static explicit operator IntPtr(Vector4 v)
-        {
-            unsafe
-            {
-                return (IntPtr)(&v.X);
-            }
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Vector4.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1}, {2}, {3})", X, Y, Z, W);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode() ^ W.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Vector4))
-                return false;
-
-            return this.Equals((Vector4)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Vector4> Members
-
-        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
-        /// <param name="other">A vector to compare with this vector.</param>
-        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
-        public bool Equals(Vector4 other)
-        {
-            return
-                X == other.X &&
-                Y == other.Y &&
-                Z == other.Z &&
-                W == other.W;
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Math/Vector4d.cs b/Source/Compatibility/Math/Vector4d.cs
deleted file mode 100644 (file)
index 301936d..0000000
+++ /dev/null
@@ -1,1010 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.Runtime.InteropServices;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>Represents a 4D vector using four double-precision floating-point numbers.</summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable]
-    [StructLayout(LayoutKind.Sequential)]
-    public struct Vector4d : IEquatable<Vector4d>
-    {
-        #region Fields
-
-        /// <summary>
-        /// The X component of the Vector4d.
-        /// </summary>
-        public double X;
-
-        /// <summary>
-        /// The Y component of the Vector4d.
-        /// </summary>
-        public double Y;
-
-        /// <summary>
-        /// The Z component of the Vector4d.
-        /// </summary>
-        public double Z;
-
-        /// <summary>
-        /// The W component of the Vector4d.
-        /// </summary>
-        public double W;
-
-        /// <summary>
-        /// Defines a unit-length Vector4d that points towards the X-axis.
-        /// </summary>
-        public static Vector4d UnitX = new Vector4d(1, 0, 0, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector4d that points towards the Y-axis.
-        /// </summary>
-        public static Vector4d UnitY = new Vector4d(0, 1, 0, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector4d that points towards the Z-axis.
-        /// </summary>
-        public static Vector4d UnitZ = new Vector4d(0, 0, 1, 0);
-
-        /// <summary>
-        /// Defines a unit-length Vector4d that points towards the W-axis.
-        /// </summary>
-        public static Vector4d UnitW = new Vector4d(0, 0, 0, 1);
-
-        /// <summary>
-        /// Defines a zero-length Vector4d.
-        /// </summary>
-        public static Vector4d Zero = new Vector4d(0, 0, 0, 0);
-
-        /// <summary>
-        /// Defines an instance with all components set to 1.
-        /// </summary>
-        public static readonly Vector4d One = new Vector4d(1, 1, 1, 1);
-
-        /// <summary>
-        /// Defines the size of the Vector4d struct in bytes.
-        /// </summary>
-        public static readonly int SizeInBytes = Marshal.SizeOf(new Vector4d());
-
-        #endregion
-
-        #region Constructors
-
-        /// <summary>
-        /// Constructs a new Vector4d.
-        /// </summary>
-        /// <param name="x">The x component of the Vector4d.</param>
-        /// <param name="y">The y component of the Vector4d.</param>
-        /// <param name="z">The z component of the Vector4d.</param>
-        /// <param name="w">The w component of the Vector4d.</param>
-        public Vector4d(double x, double y, double z, double w)
-        {
-            X = x;
-            Y = y;
-            Z = z;
-            W = w;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4d from the given Vector2d.
-        /// </summary>
-        /// <param name="v">The Vector2d to copy components from.</param>
-        public Vector4d(Vector2d v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = 0.0f;
-            W = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4d from the given Vector3d.
-        /// </summary>
-        /// <param name="v">The Vector3d to copy components from.</param>
-        public Vector4d(Vector3d v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-            W = 0.0f;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4d from the specified Vector3d and w component.
-        /// </summary>
-        /// <param name="v">The Vector3d to copy components from.</param>
-        /// <param name="w">The w component of the new Vector4.</param>
-        public Vector4d(Vector3 v, double w)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-            W = w;
-        }
-
-        /// <summary>
-        /// Constructs a new Vector4d from the given Vector4d.
-        /// </summary>
-        /// <param name="v">The Vector4d to copy components from.</param>
-        public Vector4d(Vector4d v)
-        {
-            X = v.X;
-            Y = v.Y;
-            Z = v.Z;
-            W = v.W;
-        }
-
-        #endregion
-
-        #region Public Members
-
-        #region Instance
-
-        #region public void Add()
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Add(Vector4d right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-            this.W += right.W;
-        }
-
-        /// <summary>Add the Vector passed as parameter to this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Add(ref Vector4d right)
-        {
-            this.X += right.X;
-            this.Y += right.Y;
-            this.Z += right.Z;
-            this.W += right.W;
-        }
-
-        #endregion public void Add()
-
-        #region public void Sub()
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        public void Sub(Vector4d right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-            this.W -= right.W;
-        }
-
-        /// <summary>Subtract the Vector passed as parameter from this instance.</summary>
-        /// <param name="right">Right operand. This parameter is only read from.</param>
-        [CLSCompliant(false)]
-        public void Sub(ref Vector4d right)
-        {
-            this.X -= right.X;
-            this.Y -= right.Y;
-            this.Z -= right.Z;
-            this.W -= right.W;
-        }
-
-        #endregion public void Sub()
-
-        #region public void Mult()
-
-        /// <summary>Multiply this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Mult(double f)
-        {
-            this.X *= f;
-            this.Y *= f;
-            this.Z *= f;
-            this.W *= f;
-        }
-
-        #endregion public void Mult()
-
-        #region public void Div()
-
-        /// <summary>Divide this instance by a scalar.</summary>
-        /// <param name="f">Scalar operand.</param>
-        public void Div(double f)
-        {
-            double mult = 1.0 / f;
-            this.X *= mult;
-            this.Y *= mult;
-            this.Z *= mult;
-            this.W *= mult;
-        }
-
-        #endregion public void Div()
-
-        #region public double Length
-
-        /// <summary>
-        /// Gets the length (magnitude) of the vector.
-        /// </summary>
-        /// <see cref="LengthFast"/>
-        /// <seealso cref="LengthSquared"/>
-        public double Length
-        {
-            get
-            {
-                return (double)System.Math.Sqrt(X * X + Y * Y + Z * Z + W * W);
-            }
-        }
-
-        #endregion
-
-        #region public double LengthFast
-
-        /// <summary>
-        /// Gets an approximation of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property uses an approximation of the square root function to calculate vector magnitude, with
-        /// an upper error bound of 0.001.
-        /// </remarks>
-        /// <see cref="Length"/>
-        /// <seealso cref="LengthSquared"/>
-        public double LengthFast
-        {
-            get
-            {
-                return 1.0f / MathHelper.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W);
-            }
-        }
-
-        #endregion
-
-        #region public double LengthSquared
-
-        /// <summary>
-        /// Gets the square of the vector length (magnitude).
-        /// </summary>
-        /// <remarks>
-        /// This property avoids the costly square root operation required by the Length property. This makes it more suitable
-        /// for comparisons.
-        /// </remarks>
-        /// <see cref="Length"/>
-        public double LengthSquared
-        {
-            get
-            {
-                return X * X + Y * Y + Z * Z + W * W;
-            }
-        }
-
-        #endregion
-
-        #region public void Normalize()
-
-        /// <summary>
-        /// Scales the Vector4d to unit length.
-        /// </summary>
-        public void Normalize()
-        {
-            double scale = 1.0f / this.Length;
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-            W *= scale;
-        }
-
-        #endregion
-
-        #region public void NormalizeFast()
-
-        /// <summary>
-        /// Scales the Vector4d to approximately unit length.
-        /// </summary>
-        public void NormalizeFast()
-        {
-            double scale = Functions.InverseSqrtFast(X * X + Y * Y + Z * Z + W * W);
-            X *= scale;
-            Y *= scale;
-            Z *= scale;
-            W *= scale;
-        }
-
-        #endregion
-
-        #region public void Scale()
-
-        /// <summary>
-        /// Scales the current Vector4d by the given amounts.
-        /// </summary>
-        /// <param name="sx">The scale of the X component.</param>
-        /// <param name="sy">The scale of the Y component.</param>
-        /// <param name="sz">The scale of the Z component.</param>
-        /// <param name="sw">The scale of the Z component.</param>
-        public void Scale(double sx, double sy, double sz, double sw)
-        {
-            this.X = X * sx;
-            this.Y = Y * sy;
-            this.Z = Z * sz;
-            this.W = W * sw;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        public void Scale(Vector4d scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-            this.W *= scale.W;
-        }
-
-        /// <summary>Scales this instance by the given parameter.</summary>
-        /// <param name="scale">The scaling of the individual components.</param>
-        [CLSCompliant(false)]
-        public void Scale(ref Vector4d scale)
-        {
-            this.X *= scale.X;
-            this.Y *= scale.Y;
-            this.Z *= scale.Z;
-            this.W *= scale.W;
-        }
-
-        #endregion public void Scale()
-
-        #endregion
-
-        #region Static
-
-        #region Add
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of addition</returns>
-        public static Vector4d Add(Vector4d a, Vector4d b)
-        {
-            a.X += b.X;
-            a.Y += b.Y;
-            a.Z += b.Z;
-            a.W += b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Add two Vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of addition</param>
-        public static void Add(ref Vector4d a, ref Vector4d b, out Vector4d result)
-        {
-            result.X = a.X + b.X;
-            result.Y = a.Y + b.Y;
-            result.Z = a.Z + b.Z;
-            result.W = a.W + b.W;
-        }
-
-        #endregion
-
-        #region Sub
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>Result of subtraction</returns>
-        public static Vector4d Sub(Vector4d a, Vector4d b)
-        {
-            a.X -= b.X;
-            a.Y -= b.Y;
-            a.Z -= b.Z;
-            a.W -= b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Subtract one Vector from another
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">Result of subtraction</param>
-        public static void Sub(ref Vector4d a, ref Vector4d b, out Vector4d result)
-        {
-            result.X = a.X - b.X;
-            result.Y = a.Y - b.Y;
-            result.Z = a.Z - b.Z;
-            result.W = a.W - b.W;
-        }
-
-        #endregion
-
-        #region Mult
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the multiplication</returns>
-        public static Vector4d Mult(Vector4d a, double f)
-        {
-            a.X *= f;
-            a.Y *= f;
-            a.Z *= f;
-            a.W *= f;
-            return a;
-        }
-
-        /// <summary>
-        /// Multiply a vector and a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the multiplication</param>
-        public static void Mult(ref Vector4d a, double f, out Vector4d result)
-        {
-            result.X = a.X * f;
-            result.Y = a.Y * f;
-            result.Z = a.Z * f;
-            result.W = a.W * f;
-        }
-
-        #endregion
-
-        #region Div
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <returns>Result of the division</returns>
-        public static Vector4d Div(Vector4d a, double f)
-        {
-            double mult = 1.0f / f;
-            a.X *= mult;
-            a.Y *= mult;
-            a.Z *= mult;
-            a.W *= mult;
-            return a;
-        }
-
-        /// <summary>
-        /// Divide a vector by a scalar
-        /// </summary>
-        /// <param name="a">Vector operand</param>
-        /// <param name="f">Scalar operand</param>
-        /// <param name="result">Result of the division</param>
-        public static void Div(ref Vector4d a, double f, out Vector4d result)
-        {
-            double mult = 1.0f / f;
-            result.X = a.X * mult;
-            result.Y = a.Y * mult;
-            result.Z = a.Z * mult;
-            result.W = a.W * mult;
-        }
-
-        #endregion
-
-        #region Min
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise minimum</returns>
-        public static Vector4d Min(Vector4d a, Vector4d b)
-        {
-            a.X = a.X < b.X ? a.X : b.X;
-            a.Y = a.Y < b.Y ? a.Y : b.Y;
-            a.Z = a.Z < b.Z ? a.Z : b.Z;
-            a.W = a.W < b.W ? a.W : b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise minimum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise minimum</param>
-        public static void Min(ref Vector4d a, ref Vector4d b, out Vector4d result)
-        {
-            result.X = a.X < b.X ? a.X : b.X;
-            result.Y = a.Y < b.Y ? a.Y : b.Y;
-            result.Z = a.Z < b.Z ? a.Z : b.Z;
-            result.W = a.W < b.W ? a.W : b.W;
-        }
-
-        #endregion
-
-        #region Max
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>The component-wise maximum</returns>
-        public static Vector4d Max(Vector4d a, Vector4d b)
-        {
-            a.X = a.X > b.X ? a.X : b.X;
-            a.Y = a.Y > b.Y ? a.Y : b.Y;
-            a.Z = a.Z > b.Z ? a.Z : b.Z;
-            a.W = a.W > b.W ? a.W : b.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Calculate the component-wise maximum of two vectors
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <param name="result">The component-wise maximum</param>
-        public static void Max(ref Vector4d a, ref Vector4d b, out Vector4d result)
-        {
-            result.X = a.X > b.X ? a.X : b.X;
-            result.Y = a.Y > b.Y ? a.Y : b.Y;
-            result.Z = a.Z > b.Z ? a.Z : b.Z;
-            result.W = a.W > b.W ? a.W : b.W;
-        }
-
-        #endregion
-
-        #region Clamp
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <returns>The clamped vector</returns>
-        public static Vector4d Clamp(Vector4d vec, Vector4d min, Vector4d max)
-        {
-            vec.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            vec.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            vec.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-            vec.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W;
-            return vec;
-        }
-
-        /// <summary>
-        /// Clamp a vector to the given minimum and maximum vectors
-        /// </summary>
-        /// <param name="vec">Input vector</param>
-        /// <param name="min">Minimum vector</param>
-        /// <param name="max">Maximum vector</param>
-        /// <param name="result">The clamped vector</param>
-        public static void Clamp(ref Vector4d vec, ref Vector4d min, ref Vector4d max, out Vector4d result)
-        {
-            result.X = vec.X < min.X ? min.X : vec.X > max.X ? max.X : vec.X;
-            result.Y = vec.Y < min.Y ? min.Y : vec.Y > max.Y ? max.Y : vec.Y;
-            result.Z = vec.X < min.Z ? min.Z : vec.Z > max.Z ? max.Z : vec.Z;
-            result.W = vec.Y < min.W ? min.W : vec.W > max.W ? max.W : vec.W;
-        }
-
-        #endregion
-
-        #region Normalize
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector4d Normalize(Vector4d vec)
-        {
-            double scale = 1.0f / vec.Length;
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            vec.W *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void Normalize(ref Vector4d vec, out Vector4d result)
-        {
-            double scale = 1.0f / vec.Length;
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-            result.W = vec.W * scale;
-        }
-
-        #endregion
-
-        #region NormalizeFast
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <returns>The normalized vector</returns>
-        public static Vector4d NormalizeFast(Vector4d vec)
-        {
-            double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W);
-            vec.X *= scale;
-            vec.Y *= scale;
-            vec.Z *= scale;
-            vec.W *= scale;
-            return vec;
-        }
-
-        /// <summary>
-        /// Scale a vector to approximately unit length
-        /// </summary>
-        /// <param name="vec">The input vector</param>
-        /// <param name="result">The normalized vector</param>
-        public static void NormalizeFast(ref Vector4d vec, out Vector4d result)
-        {
-            double scale = Functions.InverseSqrtFast(vec.X * vec.X + vec.Y * vec.Y + vec.Z * vec.Z + vec.W * vec.W);
-            result.X = vec.X * scale;
-            result.Y = vec.Y * scale;
-            result.Z = vec.Z * scale;
-            result.W = vec.W * scale;
-        }
-
-        #endregion
-
-        #region Dot
-
-        /// <summary>
-        /// Calculate the dot product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <returns>The dot product of the two inputs</returns>
-        public static double Dot(Vector4d left, Vector4d right)
-        {
-            return left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W;
-        }
-
-        /// <summary>
-        /// Calculate the dot product of two vectors
-        /// </summary>
-        /// <param name="left">First operand</param>
-        /// <param name="right">Second operand</param>
-        /// <param name="result">The dot product of the two inputs</param>
-        public static void Dot(ref Vector4d left, ref Vector4d right, out double result)
-        {
-            result = left.X * right.X + left.Y * right.Y + left.Z * right.Z + left.W * right.W;
-        }
-
-        #endregion
-
-        #region Lerp
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
-        public static Vector4d Lerp(Vector4d a, Vector4d b, double blend)
-        {
-            a.X = blend * (b.X - a.X) + a.X;
-            a.Y = blend * (b.Y - a.Y) + a.Y;
-            a.Z = blend * (b.Z - a.Z) + a.Z;
-            a.W = blend * (b.W - a.W) + a.W;
-            return a;
-        }
-
-        /// <summary>
-        /// Returns a new Vector that is the linear blend of the 2 given Vectors
-        /// </summary>
-        /// <param name="a">First input vector</param>
-        /// <param name="b">Second input vector</param>
-        /// <param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
-        /// <param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
-        public static void Lerp(ref Vector4d a, ref Vector4d b, double blend, out Vector4d result)
-        {
-            result.X = blend * (b.X - a.X) + a.X;
-            result.Y = blend * (b.Y - a.Y) + a.Y;
-            result.Z = blend * (b.Z - a.Z) + a.Z;
-            result.W = blend * (b.W - a.W) + a.W;
-        }
-
-        #endregion
-
-        #region Barycentric
-
-        /// <summary>
-        /// Interpolate 3 Vectors using Barycentric coordinates
-        /// </summary>
-        /// <param name="a">First input Vector</param>
-        /// <param name="b">Second input Vector</param>
-        /// <param name="c">Third input Vector</param>
-        /// <param name="u">First Barycentric Coordinate</param>
-        /// <param name="v">Second Barycentric Coordinate</param>
-        /// <returns>a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</returns>
-        public static Vector4d BaryCentric(Vector4d a, Vector4d b, Vector4d c, double u, double v)
-        {
-            return a + u * (b - a) + v * (c - a);
-        }
-
-        /// <summary>Interpolate 3 Vectors using Barycentric coordinates</summary>
-        /// <param name="a">First input Vector.</param>
-        /// <param name="b">Second input Vector.</param>
-        /// <param name="c">Third input Vector.</param>
-        /// <param name="u">First Barycentric Coordinate.</param>
-        /// <param name="v">Second Barycentric Coordinate.</param>
-        /// <param name="result">Output Vector. a when u=v=0, b when u=1,v=0, c when u=0,v=1, and a linear combination of a,b,c otherwise</param>
-        public static void BaryCentric(ref Vector4d a, ref Vector4d b, ref Vector4d c, float u, float v, out Vector4d result)
-        {
-            result = a; // copy
-
-            Vector4d temp = b; // copy
-            temp.Sub(ref a);
-            temp.Mult(u);
-            result.Add(ref temp);
-
-            temp = c; // copy
-            temp.Sub(ref a);
-            temp.Mult(v);
-            result.Add(ref temp);
-        }
-
-        #endregion
-
-        #region Transform
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <returns>The transformed vector</returns>
-        public static Vector4d Transform(Vector4d vec, Matrix4d mat)
-        {
-            Vector4d result;
-            result.X = Vector4d.Dot(vec, mat.Column0);
-            result.Y = Vector4d.Dot(vec, mat.Column1);
-            result.Z = Vector4d.Dot(vec, mat.Column2);
-            result.W = Vector4d.Dot(vec, mat.Column3);
-            return result;
-        }
-
-        /// <summary>Transform a Vector by the given Matrix</summary>
-        /// <param name="vec">The vector to transform</param>
-        /// <param name="mat">The desired transformation</param>
-        /// <param name="result">The transformed vector</param>
-        public static void Transform(ref Vector4d vec, ref Matrix4d mat, out Vector4d result)
-        {
-            result.X = vec.X * mat.Row0.X +
-                       vec.Y * mat.Row1.X +
-                       vec.Z * mat.Row2.X +
-                       vec.W * mat.Row3.X;
-
-            result.Y = vec.X * mat.Row0.Y +
-                       vec.Y * mat.Row1.Y +
-                       vec.Z * mat.Row2.Y +
-                       vec.W * mat.Row3.Y;
-
-            result.Z = vec.X * mat.Row0.Z +
-                       vec.Y * mat.Row1.Z +
-                       vec.Z * mat.Row2.Z +
-                       vec.W * mat.Row3.Z;
-
-            result.W = vec.X * mat.Row0.W +
-                       vec.Y * mat.Row1.W +
-                       vec.Z * mat.Row2.W +
-                       vec.W * mat.Row3.W;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Swizzle
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector2d with the X and Y components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector2d Xy { get { return new Vector2d(X, Y); } set { X = value.X; Y = value.Y; } }
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3d with the X, Y and Z components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector3d Xyz { get { return new Vector3d(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } }
-
-        #endregion
-
-        #region Operators
-
-        public static Vector4d operator +(Vector4d left, Vector4d right)
-        {
-            left.X += right.X;
-            left.Y += right.Y;
-            left.Z += right.Z;
-            left.W += right.W;
-            return left;
-        }
-
-        public static Vector4d operator -(Vector4d left, Vector4d right)
-        {
-            left.X -= right.X;
-            left.Y -= right.Y;
-            left.Z -= right.Z;
-            left.W -= right.W;
-            return left;
-        }
-
-        public static Vector4d operator -(Vector4d vec)
-        {
-            vec.X = -vec.X;
-            vec.Y = -vec.Y;
-            vec.Z = -vec.Z;
-            vec.W = -vec.W;
-            return vec;
-        }
-
-        public static Vector4d operator *(Vector4d vec, double f)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            vec.W *= f;
-            return vec;
-        }
-
-        public static Vector4d operator *(double f, Vector4d vec)
-        {
-            vec.X *= f;
-            vec.Y *= f;
-            vec.Z *= f;
-            vec.W *= f;
-            return vec;
-        }
-
-        public static Vector4d operator /(Vector4d vec, double f)
-        {
-            double mult = 1.0f / f;
-            vec.X *= mult;
-            vec.Y *= mult;
-            vec.Z *= mult;
-            vec.W *= mult;
-            return vec;
-        }
-
-        public static bool operator ==(Vector4d left, Vector4d right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Vector4d left, Vector4d right)
-        {
-            return !left.Equals(right);
-        }
-
-        [CLSCompliant(false)]
-        unsafe public static explicit operator double*(Vector4d v)
-        {
-            return &v.X;
-        }
-
-        public static explicit operator IntPtr(Vector4d v)
-        {
-            unsafe
-            {
-                return (IntPtr)(&v.X);
-            }
-        }
-
-        /// <summary>Converts OpenTK.Vector4 to OpenTK.Vector4d.</summary>
-        /// <param name="v4">The Vector4 to convert.</param>
-        /// <returns>The resulting Vector4d.</returns>
-        public static explicit operator Vector4d(Vector4 v4)
-        {
-            return new Vector4d(v4.X, v4.Y, v4.Z, v4.W);
-        }
-
-        /// <summary>Converts OpenTK.Vector4d to OpenTK.Vector4.</summary>
-        /// <param name="v4d">The Vector4d to convert.</param>
-        /// <returns>The resulting Vector4.</returns>
-        public static explicit operator Vector4(Vector4d v4d)
-        {
-            return new Vector4((float)v4d.X, (float)v4d.Y, (float)v4d.Z, (float)v4d.W);
-        }
-
-        #endregion
-
-        #region Overrides
-
-        #region public override string ToString()
-
-        /// <summary>
-        /// Returns a System.String that represents the current Vector4d.
-        /// </summary>
-        /// <returns></returns>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1}, {2}, {3})", X, Y, Z, W);
-        }
-
-        #endregion
-
-        #region public override int GetHashCode()
-
-        /// <summary>
-        /// Returns the hashcode for this instance.
-        /// </summary>
-        /// <returns>A System.Int32 containing the unique hashcode for this instance.</returns>
-        public override int GetHashCode()
-        {
-            return X.GetHashCode() ^ Y.GetHashCode() ^ Z.GetHashCode() ^ W.GetHashCode();
-        }
-
-        #endregion
-
-        #region public override bool Equals(object obj)
-
-        /// <summary>
-        /// Indicates whether this instance and a specified object are equal.
-        /// </summary>
-        /// <param name="obj">The object to compare to.</param>
-        /// <returns>True if the instances are equal; false otherwise.</returns>
-        public override bool Equals(object obj)
-        {
-            if (!(obj is Vector4d))
-                return false;
-
-            return this.Equals((Vector4d)obj);
-        }
-
-        #endregion
-
-        #endregion
-
-        #endregion
-
-        #region IEquatable<Vector4d> Members
-
-        /// <summary>Indicates whether the current vector is equal to another vector.</summary>
-        /// <param name="other">A vector to compare with this vector.</param>
-        /// <returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
-        public bool Equals(Vector4d other)
-        {
-            return
-                X == other.X &&
-                Y == other.Y &&
-                Z == other.Z &&
-                W == other.W;
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Math/Vector4h.cs b/Source/Compatibility/Math/Vector4h.cs
deleted file mode 100644 (file)
index 397301d..0000000
+++ /dev/null
@@ -1,415 +0,0 @@
-#region --- License ---
-/*
-Copyright (c) 2006 - 2008 The Open Toolkit library.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
- */
-#endregion
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-using System.Runtime.Serialization;
-using System.Xml.Serialization;
-
-namespace OpenTK.Math
-{
-    /// <summary>
-    /// 4-component Vector of the Half type. Occupies 8 Byte total.
-    /// </summary>
-    [Obsolete("OpenTK.Math functions have been moved to the root OpenTK namespace (reason: XNA compatibility")]
-    [Serializable, StructLayout(LayoutKind.Sequential)]
-    public struct Vector4h : ISerializable, IEquatable<Vector4h>
-    {
-        #region Public Fields
-
-        /// <summary>The X component of the Half4.</summary>
-        public Half X;
-
-        /// <summary>The Y component of the Half4.</summary>
-        public Half Y;
-
-        /// <summary>The Z component of the Half4.</summary>
-        public Half Z;
-
-        /// <summary>The W component of the Half4.</summary>
-        public Half W;
-
-        #endregion Public Fields
-
-        #region Constructors
-
-        /// <summary>
-        /// The new Half4 instance will avoid conversion and copy directly from the Half parameters.
-        /// </summary>
-        /// <param name="x">An Half instance of a 16-bit half-precision floating-point number.</param>
-        /// <param name="y">An Half instance of a 16-bit half-precision floating-point number.</param>
-        /// <param name="z">An Half instance of a 16-bit half-precision floating-point number.</param>
-        /// <param name="w">An Half instance of a 16-bit half-precision floating-point number.</param>
-        public Vector4h(Half x, Half y, Half z, Half w)
-        {
-            this.X = x;
-            this.Y = y;
-            this.Z = z;
-            this.W = w;
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="x">32-bit single-precision floating-point number.</param>
-        /// <param name="y">32-bit single-precision floating-point number.</param>
-        /// <param name="z">32-bit single-precision floating-point number.</param>
-        /// <param name="w">32-bit single-precision floating-point number.</param>
-        public Vector4h(Single x, Single y, Single z, Single w)
-        {
-            X = new Half(x);
-            Y = new Half(y);
-            Z = new Half(z);
-            W = new Half(w);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the 4 parameters into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="x">32-bit single-precision floating-point number.</param>
-        /// <param name="y">32-bit single-precision floating-point number.</param>
-        /// <param name="z">32-bit single-precision floating-point number.</param>
-        /// <param name="w">32-bit single-precision floating-point number.</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector4h(Single x, Single y, Single z, Single w, bool throwOnError)
-        {
-            X = new Half(x, throwOnError);
-            Y = new Half(y, throwOnError);
-            Z = new Half(z, throwOnError);
-            W = new Half(w, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4</param>
-        [CLSCompliant(false)]
-        public Vector4h(Vector4 v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-            W = new Half(v.W);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        [CLSCompliant(false)]
-        public Vector4h(Vector4 v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-            W = new Half(v.W, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point.
-        /// This is the fastest constructor.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4</param>
-        public Vector4h(ref Vector4 v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-            W = new Half(v.W);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4 into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector4h(ref Vector4 v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-            W = new Half(v.W, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4d</param>
-        public Vector4h(Vector4d v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-            W = new Half(v.W);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4d</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        public Vector4h(Vector4d v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-            W = new Half(v.W, throwOnError);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point.
-        /// This is the faster constructor.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4d</param>
-        [CLSCompliant(false)]
-        public Vector4h(ref Vector4d v)
-        {
-            X = new Half(v.X);
-            Y = new Half(v.Y);
-            Z = new Half(v.Z);
-            W = new Half(v.W);
-        }
-
-        /// <summary>
-        /// The new Half4 instance will convert the Vector4d into 16-bit half-precision floating-point.
-        /// </summary>
-        /// <param name="v">OpenTK.Vector4d</param>
-        /// <param name="throwOnError">Enable checks that will throw if the conversion result is not meaningful.</param>
-        [CLSCompliant(false)]
-        public Vector4h(ref Vector4d v, bool throwOnError)
-        {
-            X = new Half(v.X, throwOnError);
-            Y = new Half(v.Y, throwOnError);
-            Z = new Half(v.Z, throwOnError);
-            W = new Half(v.W, throwOnError);
-        }
-
-        #endregion Constructors
-
-        #region Swizzle
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector2h with the X and Y components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector2h Xy { get { return new Vector2h(X, Y); } set { X = value.X; Y = value.Y; } }
-
-        /// <summary>
-        /// Gets or sets an OpenTK.Vector3h with the X, Y and Z components of this instance.
-        /// </summary>
-        [XmlIgnore]
-        public Vector3h Xyz { get { return new Vector3h(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } }
-
-        #endregion
-
-        #region Half -> Single
-
-        /// <summary>
-        /// Returns this Half4 instance's contents as Vector4.
-        /// </summary>
-        /// <returns>OpenTK.Vector4</returns>
-        public Vector4 ToVector4()
-        {
-            return new Vector4(X, Y, Z, W);
-        }
-
-        /// <summary>
-        /// Returns this Half4 instance's contents as Vector4d.
-        /// </summary>
-        public Vector4d ToVector4d()
-        {
-            return new Vector4d(X, Y, Z, W);
-        }
-
-        #endregion Half -> Single
-
-        #region Conversions
-
-        /// <summary>Converts OpenTK.Vector4 to OpenTK.Half4.</summary>
-        /// <param name="v4f">The Vector4 to convert.</param>
-        /// <returns>The resulting Half vector.</returns>
-        public static explicit operator Vector4h(Vector4 v4f)
-        {
-            return new Vector4h(v4f);
-        }
-
-        /// <summary>Converts OpenTK.Vector4d to OpenTK.Half4.</summary>
-        /// <param name="v4d">The Vector4d to convert.</param>
-        /// <returns>The resulting Half vector.</returns>
-        public static explicit operator Vector4h(Vector4d v4d)
-        {
-            return new Vector4h(v4d);
-        }
-
-        /// <summary>Converts OpenTK.Half4 to OpenTK.Vector4.</summary>
-        /// <param name="h4">The Half4 to convert.</param>
-        /// <returns>The resulting Vector4.</returns>
-        public static explicit operator Vector4(Vector4h h4)
-        {
-            Vector4 result = new Vector4();
-            result.X = h4.X.ToSingle();
-            result.Y = h4.Y.ToSingle();
-            result.Z = h4.Z.ToSingle();
-            result.W = h4.W.ToSingle();
-            return result;
-        }
-
-        /// <summary>Converts OpenTK.Half4 to OpenTK.Vector4d.</summary>
-        /// <param name="h4">The Half4 to convert.</param>
-        /// <returns>The resulting Vector4d.</returns>
-        public static explicit operator Vector4d(Vector4h h4)
-        {
-            Vector4d result = new Vector4d();
-            result.X = h4.X.ToSingle();
-            result.Y = h4.Y.ToSingle();
-            result.Z = h4.Z.ToSingle();
-            result.W = h4.W.ToSingle();
-            return result;
-        }
-
-        #endregion Conversions
-
-        #region Constants
-
-        /// <summary>The size in bytes for an instance of the Half4 struct is 8.</summary>
-        public static readonly int SizeInBytes = 8;
-
-        #endregion Constants
-
-        #region ISerializable
-
-        /// <summary>Constructor used by ISerializable to deserialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public Vector4h(SerializationInfo info, StreamingContext context)
-        {
-            this.X = (Half)info.GetValue("X", typeof(Half));
-            this.Y = (Half)info.GetValue("Y", typeof(Half));
-            this.Z = (Half)info.GetValue("Z", typeof(Half));
-            this.W = (Half)info.GetValue("W", typeof(Half));
-        }
-
-        /// <summary>Used by ISerialize to serialize the object.</summary>
-        /// <param name="info"></param>
-        /// <param name="context"></param>
-        public void GetObjectData(SerializationInfo info, StreamingContext context)
-        {
-            info.AddValue("X", this.X);
-            info.AddValue("Y", this.Y);
-            info.AddValue("Z", this.Z);
-            info.AddValue("W", this.W);
-        }
-
-        #endregion ISerializable
-
-        #region Binary dump
-
-        /// <summary>Updates the X,Y,Z and W components of this instance by reading from a Stream.</summary>
-        /// <param name="bin">A BinaryReader instance associated with an open Stream.</param>
-        public void FromBinaryStream(BinaryReader bin)
-        {
-            X.FromBinaryStream(bin);
-            Y.FromBinaryStream(bin);
-            Z.FromBinaryStream(bin);
-            W.FromBinaryStream(bin);
-        }
-
-        /// <summary>Writes the X,Y,Z and W components of this instance into a Stream.</summary>
-        /// <param name="bin">A BinaryWriter instance associated with an open Stream.</param>
-        public void ToBinaryStream(BinaryWriter bin)
-        {
-            X.ToBinaryStream(bin);
-            Y.ToBinaryStream(bin);
-            Z.ToBinaryStream(bin);
-            W.ToBinaryStream(bin);
-        }
-
-        #endregion Binary dump
-
-        #region IEquatable<Half4> Members
-
-        /// <summary>Returns a value indicating whether this instance is equal to a specified OpenTK.Half4 vector.</summary>
-        /// <param name="other">OpenTK.Half4 to compare to this instance..</param>
-        /// <returns>True, if other is equal to this instance; false otherwise.</returns>
-        public bool Equals(Vector4h other)
-        {
-            return (this.X.Equals(other.X) && this.Y.Equals(other.Y) && this.Z.Equals(other.Z) && this.W.Equals(other.W));
-        }
-
-        #endregion
-
-        #region ToString()
-
-        /// <summary>Returns a string that contains this Half4's numbers in human-legible form.</summary>
-        public override string ToString()
-        {
-            return String.Format("({0}, {1}, {2}, {3})", X.ToString(), Y.ToString(), Z.ToString(), W.ToString());
-        }
-
-        #endregion ToString()
-
-        #region BitConverter
-
-        /// <summary>Returns the Half4 as an array of bytes.</summary>
-        /// <param name="h">The Half4 to convert.</param>
-        /// <returns>The input as byte array.</returns>
-        public static byte[] GetBytes(Vector4h h)
-        {
-            byte[] result = new byte[SizeInBytes];
-
-            byte[] temp = Half.GetBytes(h.X);
-            result[0] = temp[0];
-            result[1] = temp[1];
-            temp = Half.GetBytes(h.Y);
-            result[2] = temp[0];
-            result[3] = temp[1];
-            temp = Half.GetBytes(h.Z);
-            result[4] = temp[0];
-            result[5] = temp[1];
-            temp = Half.GetBytes(h.W);
-            result[6] = temp[0];
-            result[7] = temp[1];
-
-            return result;
-        }
-
-        /// <summary>Converts an array of bytes into Half4.</summary>
-        /// <param name="value">A Half4 in it's byte[] representation.</param>
-        /// <param name="startIndex">The starting position within value.</param>
-        /// <returns>A new Half4 instance.</returns>
-        public static Vector4h FromBytes(byte[] value, int startIndex)
-        {
-            Vector4h h4 = new Vector4h();
-            h4.X = Half.FromBytes(value, startIndex);
-            h4.Y = Half.FromBytes(value, startIndex + 2);
-            h4.Z = Half.FromBytes(value, startIndex + 4);
-            h4.W = Half.FromBytes(value, startIndex + 6);
-            return h4;
-        }
-
-        #endregion BitConverter
-    }
-}
diff --git a/Source/Compatibility/ObjectPool.cs b/Source/Compatibility/ObjectPool.cs
deleted file mode 100644 (file)
index 8638ea2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK
-{
-    class ObjectPool<T> where T : IPoolable<T>, new()
-    {
-        Queue<T> pool = new Queue<T>();
-
-        public ObjectPool()
-        { }
-
-        public T Acquire()
-        {
-            T item;
-
-            if (pool.Count > 0)
-            {
-                item = pool.Dequeue();
-                item.OnAcquire();
-            }
-            else
-            {
-                item = new T();
-                item.Owner = this;
-                item.OnAcquire();
-            }
-            
-            return item;
-        }
-
-        public void Release(T item)
-        {
-            if (item == null)
-                throw new ArgumentNullException("item");
-
-            item.OnRelease();
-            pool.Enqueue(item);
-        }
-    }
-}
diff --git a/Source/Compatibility/OpenTK.Compatibility.csproj b/Source/Compatibility/OpenTK.Compatibility.csproj
deleted file mode 100644 (file)
index 2625d36..0000000
+++ /dev/null
@@ -1,518 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <ProjectType>Local</ProjectType>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{62C0DB35-0000-0000-0000-000000000000}</ProjectGuid>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <AssemblyKeyContainerName>
-    </AssemblyKeyContainerName>
-    <AssemblyName>OpenTK.Compatibility</AssemblyName>
-    <DefaultClientScript>JScript</DefaultClientScript>
-    <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
-    <DefaultTargetSchema>IE50</DefaultTargetSchema>
-    <DelaySign>false</DelaySign>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>
-    </AppDesignerFolder>
-    <RootNamespace>OpenTK.Compatibility</RootNamespace>
-    <StartArguments>
-    </StartArguments>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <OldToolsVersion>2.0</OldToolsVersion>
-    <UpgradeBackupLocation />
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>DEBUG;TRACE;</DefineConstants>
-    <DebugSymbols>True</DebugSymbols>
-    <FileAlignment>4096</FileAlignment>
-    <Optimize>False</Optimize>
-    <OutputPath>..\..\Binaries\OpenTK\Debug\</OutputPath>
-    <RegisterForComInterop>False</RegisterForComInterop>
-    <RemoveIntegerChecks>False</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <NoWarn>0219, 0414, 0612, 0618, 1591, 3005, 3006</NoWarn>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <DebugType>full</DebugType>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;</DefineConstants>
-    <FileAlignment>4096</FileAlignment>
-    <Optimize>True</Optimize>
-    <OutputPath>..\..\Binaries\OpenTK\Release\</OutputPath>
-    <RegisterForComInterop>False</RegisterForComInterop>
-    <RemoveIntegerChecks>False</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <NoWarn>0219, 0414, 0612, 0618, 1591, 3005, 3006</NoWarn>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <DebugType>pdbonly</DebugType>
-    <DebugSymbols>true</DebugSymbols>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Documentation|AnyCPU'">
-    <OutputPath>..\..\Binaries\OpenTK\Release\</OutputPath>
-    <DebugType>none</DebugType>
-    <WarningLevel>4</WarningLevel>
-    <NoWarn>0219, 0414, 0612, 0618, 1591, 3005, 3006</NoWarn>
-    <Optimize>True</Optimize>
-    <DefineConstants>TRACE;</DefineConstants>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Nsis|AnyCPU'">
-    <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <DefineConstants>TRACE;</DefineConstants>
-    <FileAlignment>4096</FileAlignment>
-    <Optimize>True</Optimize>
-    <OutputPath>..\..\Binaries\OpenTK\Release\</OutputPath>
-    <RegisterForComInterop>False</RegisterForComInterop>
-    <RemoveIntegerChecks>False</RemoveIntegerChecks>
-    <WarningLevel>4</WarningLevel>
-    <NoWarn>0219, 0414, 0612, 0618, 1591, 3005, 3006</NoWarn>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <DebugType>none</DebugType>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>True</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>..\..\OpenTK.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System">
-      <Name>System</Name>
-    </Reference>
-    <Reference Include="System.Data">
-      <Name>System.Data</Name>
-    </Reference>
-    <Reference Include="System.Drawing">
-      <Name>System.Drawing</Name>
-    </Reference>
-    <Reference Include="System.Windows.Forms">
-      <Name>System.Windows.Forms</Name>
-    </Reference>
-    <Reference Include="System.Xml">
-      <Name>System.Xml</Name>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\OpenTK\OpenTK.csproj">
-      <Name>OpenTK</Name>
-      <Project>{A37A7E14-0000-0000-0000-000000000000}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\GLControl\OpenTK.GLControl.csproj">
-      <Name>OpenTK.GLControl</Name>
-      <Project>{A625BE88-0000-0000-0000-000000000000}</Project>
-      <Private>False</Private>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\GlobalAssemblyInfo.cs">
-      <Link>Properties\GlobalAssemblyInfo.cs</Link>
-    </Compile>
-    <Compile Include="IPackable.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="IPoolable.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="TexturePacker.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="ObjectPool.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Properties\AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Platform\IGdiPlusInternals.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Platform\GdiPlus.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Platform\Windows\WinGdiPlusInternals.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Platform\X11\X11GdiPlusInternals.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\DisplayListTextPrinter.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\DisplayListTextHandle.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\IPrinterImplementation.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\VboTextPrinter.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\TextureFont.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\Glyph.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\TextHandle.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Fonts\IFont.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Texture2D.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\AlphaTexture2D.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextPrinterOptions.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextPrinter.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextAlignment.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextDirection.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GraphicsResourceException.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextureRegion2D.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\ITextPrinter.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextExtents.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\TextQuality.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\RgbaTexture2D.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\IGraphicsResource.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GL\GLDelegates.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GL\GLHelper.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GL\GLEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GL\GLCore.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GL\GL.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\GL\ErrorHelper.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GL11TextOutputProvider.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GL12TextOutputProvider.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\TextBlockComparer.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GL1TextOutputProvider.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\IGlyphCache.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GlyphCache.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GlyphPacker.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GdiPlusGlyphRasterizer.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\IGlyphRasterizer.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\Glyph.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GlyphEnumerator.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\ITextOutputProvider.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\GlyphSheet.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\CachedGlyphInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\TextBlock.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Text\PoolableTextExtents.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Glu\Glu.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Glu\GluHelper.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Glu\GluCore.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Glu\GluEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Graphics\Glu\GluDelegates.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Quaternion.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Matrix3d.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector4.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\BezierCurve.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector3.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Functions.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Matrix4d.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector2d.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector2h.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector3h.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Box2.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Matrix4.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Half.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector4d.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector2.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\BezierCurveQuadric.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Quaterniond.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector4h.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\Vector3d.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Math\BezierCurveCubic.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\Platform\Windows\SimpleOpenGlControl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenAl\Alut.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenAl\Al.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenAl\ALDelegates.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenAl\Alc.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenGl\GLDelegates.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenGl\Gl.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenGl\GLEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenGl\GLCore.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenGl\Glu.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Tao\OpenGl\GlHelper.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\WaveReader.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\Sound.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\SoundFormat.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\AudioReaderException.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\AudioReader.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\SoundData.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\Alut\Alut.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\Alut\AlutEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\Alc\AlcEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\Alc\Alc.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\AL\EffectsExtensionPresets.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\AL\EffectsExtensionEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\AL\XRamExtension.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\AL\EffectsExtension.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\AL\AL.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Audio\OpenAL\AL\ALEnums.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Resources.resx</DependentUpon>
-      <DesignTime>True</DesignTime>
-    </Compile>
-    <EmbeddedResource Include="Tao\Platform\Windows\SimpleOpenGlControl.resx">
-      <DependentUpon>SimpleOpenGlControl.cs</DependentUpon>
-    </EmbeddedResource>
-    <Compile Include="Tao\Platform\Windows\SimpleOpenGlControl.Designer.cs">
-      <DependentUpon>SimpleOpenGlControl.cs</DependentUpon>
-    </Compile>
-    <None Include="..\..\OpenTK.snk">
-      <Link>OpenTK.snk</Link>
-    </None>
-    <None Include="OpenTK.Compatibility.dll.config">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugMinimal|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>..\..\Binaries\OpenTK\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;</DefineConstants>
-    <WarningLevel>4</WarningLevel>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <NoWarn>0219, 0414, 0612, 0618, 1591, 3005, 3006</NoWarn>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <RemoveIntegerChecks>False</RemoveIntegerChecks>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <RegisterForComInterop>False</RegisterForComInterop>
-    <FileAlignment>4096</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseMinimal|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>..\..\Binaries\OpenTK\Release\</OutputPath>
-    <DefineConstants>TRACE;</DefineConstants>
-    <WarningLevel>4</WarningLevel>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <NoWarn>0219, 0414, 0612, 0618, 1591, 3005, 3006</NoWarn>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <RemoveIntegerChecks>False</RemoveIntegerChecks>
-    <BaseAddress>285212672</BaseAddress>
-    <ConfigurationOverrideFile>
-    </ConfigurationOverrideFile>
-    <RegisterForComInterop>False</RegisterForComInterop>
-    <FileAlignment>4096</FileAlignment>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/Source/Compatibility/OpenTK.Compatibility.dll.config b/Source/Compatibility/OpenTK.Compatibility.dll.config
deleted file mode 100644 (file)
index 45afd40..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<configuration>
-  <dllmap os="linux" dll="opengl32.dll" target="libGL.so.1"/>
-  <dllmap os="linux" dll="glu32.dll" target="libGLU.so.1"/>
-  <dllmap os="linux" dll="openal32.dll" target="libopenal.so.1"/>
-  <dllmap os="linux" dll="alut.dll" target="libalut.so.0"/>
-  <dllmap os="linux" dll="opencl.dll" target="libOpenCL.so"/>
-  <dllmap os="osx" dll="openal32.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
-  <dllmap os="osx" dll="alut.dll" target="/System/Library/Frameworks/OpenAL.framework/OpenAL" />
-  <dllmap os="osx" dll="libGLES.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
-  <dllmap os="osx" dll="libGLESv2.dll" target="/System/Library/Frameworks/OpenGLES.framework/OpenGLES" />
-</configuration>
diff --git a/Source/Compatibility/Platform/GdiPlus.cs b/Source/Compatibility/Platform/GdiPlus.cs
deleted file mode 100644 (file)
index 07716ec..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Runtime.InteropServices;
-using System.Drawing;
-using System.Reflection;
-using System.Diagnostics;
-
-namespace OpenTK.Platform
-{
-    internal static class GdiPlus
-    {
-        static IGdiPlusInternals internals;
-
-        const string gdi_plus_library = "gdiplus.dll";
-
-        #region --- Constructors ---
-
-        static GdiPlus()
-        {
-            if (Configuration.RunningOnWindows && !Configuration.RunningOnMono)
-                internals = new Windows.WinGdiPlusInternals();
-           else
-                internals = new X11.X11GdiPlusInternals(); // This class is Mono-specific and works on all platforms.
-        }
-
-        #endregion
-
-        #region --- Public Methods ---
-
-        public static IntPtr GetNativeGraphics(System.Drawing.Graphics graphics)
-        {
-            return internals.GetNativeGraphics(graphics);
-        }
-
-        public static IntPtr GetNativeFont(Font font)
-        {
-            return internals.GetNativeFont(font);
-        }
-
-        public static IntPtr GetNativeStringFormat(StringFormat format)
-        {
-            return internals.GetNativeStringFormat(format);
-        }
-
-        public static int MaxMeasurableCharacterRanges
-        {
-            get
-            {
-                return 32;    // This is a GDI+ limitation. TODO: Can we query this somehow? 
-            }
-        }
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipSetStringFormatMeasurableCharacterRanges")]
-        public static extern int SetStringFormatMeasurableCharacterRanges(HandleRef format, int rangeCount, [In, Out] CharacterRange[] range);
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipSetStringFormatMeasurableCharacterRanges")]
-        public static extern int SetStringFormatMeasurableCharacterRanges(IntPtr format, int rangeCount, [In, Out] CharacterRange[] range);
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipGetStringFormatMeasurableCharacterRangeCount")]
-        public static extern int GetStringFormatMeasurableCharacterRangeCount(HandleRef format, out int count);
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipMeasureCharacterRanges")]
-        public static extern int MeasureCharacterRanges(HandleRef graphics, string textString, int length, HandleRef font, ref RectangleF layoutRect, HandleRef stringFormat, int characterCount, [In, Out] IntPtr[] region);
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipMeasureCharacterRanges")]
-        public static extern int MeasureCharacterRanges(IntPtr graphics, string textString, int length, IntPtr font, ref RectangleF layoutRect, IntPtr stringFormat, int characterCount, [In, Out] IntPtr[] region);
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipGetRegionBounds")]
-        public static extern int GetRegionBounds(IntPtr region, HandleRef graphics, ref RectangleF gprectf);
-
-        [DllImport(gdi_plus_library, CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true, EntryPoint = "GdipGetRegionBounds")]
-        public static extern int GetRegionBounds(IntPtr region, IntPtr graphics, ref RectangleF gprectf);
-
-        [DllImport(gdi_plus_library, EntryPoint = "GdipCreateRegion", CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]
-        public static extern int CreateRegion(out IntPtr region);
-
-        [DllImport(gdi_plus_library, EntryPoint = "GdipDeleteRegion", CharSet = CharSet.Unicode, SetLastError = true, ExactSpelling = true)]
-        public static extern int DeleteRegion(IntPtr region);
-
-        #endregion
-
-#if false
-        [StructLayout(LayoutKind.Sequential)]
-        internal struct GPRECTF
-        {
-            internal float X;
-            internal float Y;
-            internal float Width;
-            internal float Height;
-            internal GPRECTF(float x, float y, float width, float height)
-            {
-                this.X = x;
-                this.Y = y;
-                this.Width = width;
-                this.Height = height;
-            }
-
-            internal GPRECTF(RectangleF rect)
-            {
-                this.X = rect.X;
-                this.Y = rect.Y;
-                this.Width = rect.Width;
-                this.Height = rect.Height;
-            }
-
-            internal SizeF SizeF
-            {
-                get
-                {
-                    return new SizeF(this.Width, this.Height);
-                }
-            }
-            internal RectangleF ToRectangleF()
-            {
-                return new RectangleF(this.X, this.Y, this.Width, this.Height);
-            }
-        }
-#endif
-    }
-}
diff --git a/Source/Compatibility/Platform/IGdiPlusInternals.cs b/Source/Compatibility/Platform/IGdiPlusInternals.cs
deleted file mode 100644 (file)
index bbf54ef..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace OpenTK.Platform
-{
-    // Provides methods to access internal GdiPlus fields. This is necessary for
-    // managed <-> native GdiPlus interoperability.
-    // Note that the fields are named differently between .Net and Mono.
-    // GdiPlus is considered deprecated by Microsoft - it is highly unlikely that
-    // future framework upgrades will break this code, but it is something to
-    // keep in mind.
-    interface IGdiPlusInternals
-    {
-        IntPtr GetNativeGraphics(System.Drawing.Graphics graphics);
-
-        IntPtr GetNativeFont(System.Drawing.Font font);
-
-        IntPtr GetNativeStringFormat(System.Drawing.StringFormat format);
-    }
-}
diff --git a/Source/Compatibility/Platform/Windows/WinGdiPlusInternals.cs b/Source/Compatibility/Platform/Windows/WinGdiPlusInternals.cs
deleted file mode 100644 (file)
index 592619d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using System.Reflection;
-
-namespace OpenTK.Platform.Windows
-{
-    class WinGdiPlusInternals : IGdiPlusInternals
-    {
-        static readonly PropertyInfo native_graphics_property, native_font_property;
-        static readonly FieldInfo native_string_format_field;
-
-        static WinGdiPlusInternals()
-        {
-            native_graphics_property =
-                typeof(System.Drawing.Graphics).GetProperty("NativeGraphics", BindingFlags.Instance | BindingFlags.NonPublic);
-
-            native_font_property =
-                typeof(System.Drawing.Font).GetProperty("NativeFont", BindingFlags.Instance | BindingFlags.NonPublic);
-
-            native_string_format_field =
-                typeof(System.Drawing.StringFormat).GetField("nativeFormat", BindingFlags.Instance | BindingFlags.NonPublic);
-        }
-
-        #region --- IGdiPlusInternals Members ---
-
-        public IntPtr GetNativeGraphics(System.Drawing.Graphics graphics)
-        {
-            return (IntPtr)native_graphics_property.GetValue(graphics, null);
-        }
-
-        public IntPtr GetNativeFont(Font font)
-        {
-            return (IntPtr)native_font_property.GetValue(font, null);
-        }
-
-        public IntPtr GetNativeStringFormat(StringFormat format)
-        {
-            return (IntPtr)native_string_format_field.GetValue(format);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Platform/X11/X11GdiPlusInternals.cs b/Source/Compatibility/Platform/X11/X11GdiPlusInternals.cs
deleted file mode 100644 (file)
index ab7bb14..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#region --- License ---
-/* Licensed under the MIT/X11 license.
- * Copyright (c) 2006-2008 the OpenTK Team.
- * This notice may not be removed from any source distribution.
- * See license.txt for licensing detailed licensing details.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using System.Reflection;
-
-namespace OpenTK.Platform.X11
-{
-    // Note: This class is Mono-specific, not X11-specific!
-    // It works on all platforms (windows, linux, macos) as long as we are running on Mono.
-    class X11GdiPlusInternals : IGdiPlusInternals
-    {
-        static readonly PropertyInfo native_graphics_property, native_font_property, native_string_format_property;
-
-        static X11GdiPlusInternals()
-        {
-            native_graphics_property =
-                typeof(System.Drawing.Graphics).GetProperty("NativeObject", BindingFlags.Instance | BindingFlags.NonPublic);
-
-            native_font_property =
-                typeof(System.Drawing.Font).GetProperty("NativeObject", BindingFlags.Instance | BindingFlags.NonPublic);
-
-            native_string_format_property =
-                typeof(System.Drawing.StringFormat).GetProperty("NativeObject", BindingFlags.Instance | BindingFlags.NonPublic);
-        }
-
-        #region --- IGdiPlusInternals Members ---
-
-        public IntPtr GetNativeGraphics(System.Drawing.Graphics graphics)
-        {
-            return (IntPtr)native_graphics_property.GetValue(graphics, null);
-        }
-
-        public IntPtr GetNativeFont(Font font)
-        {
-            return (IntPtr)native_font_property.GetValue(font, null);
-        }
-
-        public IntPtr GetNativeStringFormat(StringFormat format)
-        {
-            return (IntPtr)native_string_format_property.GetValue(format, null);
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Properties/AssemblyInfo.cs b/Source/Compatibility/Properties/AssemblyInfo.cs
deleted file mode 100644 (file)
index 3bdf013..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenTK.Compatibility")]
-[assembly: AssemblyDescription("Provides compatibility with previous versions of OpenTK and the Tao framework.")]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("7c495044-4b1a-4bff-aee9-ff9dbf85433f")]
-
-[assembly: System.CLSCompliant(true)]
-[assembly: System.Security.AllowPartiallyTrustedCallers]
-#if NET40
-[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]
-#endif
diff --git a/Source/Compatibility/Properties/Resources.Designer.cs b/Source/Compatibility/Properties/Resources.Designer.cs
deleted file mode 100644 (file)
index 640686b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:2.0.50727.4927
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace OpenTK.Compatibility.Properties {
-    using System;
-    
-    
-    /// <summary>
-    ///   A strongly-typed resource class, for looking up localized strings, etc.
-    /// </summary>
-    // This class was auto-generated by the StronglyTypedResourceBuilder
-    // class via a tool like ResGen or Visual Studio.
-    // To add or remove a member, edit your .ResX file then rerun ResGen
-    // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources() {
-        }
-        
-        /// <summary>
-        ///   Returns the cached ResourceManager instance used by this class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTK.Compatibility.Properties.Resources", typeof(Resources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   Overrides the current thread's CurrentUICulture property for all
-        ///   resource lookups using this strongly typed resource class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-        
-        internal static System.Drawing.Bitmap TaoButton {
-            get {
-                object obj = ResourceManager.GetObject("TaoButton", resourceCulture);
-                return ((System.Drawing.Bitmap)(obj));
-            }
-        }
-    }
-}
diff --git a/Source/Compatibility/Properties/Resources.resx b/Source/Compatibility/Properties/Resources.resx
deleted file mode 100644 (file)
index 1f0e32a..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-  <data name="TaoButton" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>../Resources/TaoButton.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/Source/Compatibility/Resources/TaoButton.jpg b/Source/Compatibility/Resources/TaoButton.jpg
deleted file mode 100644 (file)
index 2179d8a..0000000
Binary files a/Source/Compatibility/Resources/TaoButton.jpg and /dev/null differ
diff --git a/Source/Compatibility/Tao/OpenAl/ALDelegates.cs b/Source/Compatibility/Tao/OpenAl/ALDelegates.cs
deleted file mode 100644 (file)
index 7072548..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2006 Tao Framework Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-namespace Tao.OpenAl
-{
-    using System;
-    using System.Runtime.InteropServices;
-
-    [Obsolete]
-    internal static class Delegates
-    {
-        static Delegates()
-        {
-        }
-
-        /// <summary>
-        /// Creates a System.Delegate that can be used to call a dynamically exported OpenAL function.
-        /// </summary>
-        /// <param name="name">The function string for the OpenAL function</param>
-        /// <param name="signature">The signature of the OpenAL function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenAL function or null
-        /// if the function is not available in the current OpenAL context.
-        /// </returns>
-        public static Delegate GetDelegateForExtensionMethod(string name, Type signature)
-        {
-            IntPtr address = Al.alGetProcAddress(name);
-            if (address == IntPtr.Zero)
-            {
-                return null;
-            }
-            else
-            {
-                return Marshal.GetDelegateForFunctionPointer(address, signature);
-            }
-        }
-
-        #region X-RAM
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void EAXSetBufferModeDelegate(int n, [Out] int* buffers, int value);
-        internal static EAXSetBufferModeDelegate EAXSetBufferMode = (EAXSetBufferModeDelegate)GetDelegateForExtensionMethod("EAXSetBufferMode", typeof(EAXSetBufferModeDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate int EAXGetBufferModeDelegate(int buffer, [Out] int* reserved);
-        internal static EAXGetBufferModeDelegate EAXGetBufferMode = (EAXGetBufferModeDelegate)GetDelegateForExtensionMethod("EAXGetBufferMode", typeof(EAXGetBufferModeDelegate));
-        #endregion
-
-        #region EFX_EXT
-        #region alEffect
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGenEffectsDelegate(int size, [Out] int* effects);
-        internal static alGenEffectsDelegate alGenEffects = (alGenEffectsDelegate)GetDelegateForExtensionMethod("alGenEffects", typeof(alGenEffectsDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alDeleteEffectsDelegate(int size, int* effects);
-        internal static alDeleteEffectsDelegate alDeleteEffects = (alDeleteEffectsDelegate)GetDelegateForExtensionMethod("alDeleteEffects", typeof(alDeleteEffectsDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate bool alIsEffectDelegate(int effect);
-        internal static alIsEffectDelegate alIsEffect = (alIsEffectDelegate)GetDelegateForExtensionMethod("alIsEffect", typeof(alIsEffectDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate void alEffectiDelegate(int effect, int param, int value);
-        internal static alEffectiDelegate alEffecti = (alEffectiDelegate)GetDelegateForExtensionMethod("alEffecti", typeof(alEffectiDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alEffectivDelegate(int effect, int param, int* value);
-        internal static alEffectivDelegate alEffectiv = (alEffectivDelegate)GetDelegateForExtensionMethod("alEffectiv", typeof(alEffectivDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate void alEffectfDelegate(int effect, int param, float value);
-        internal static alEffectfDelegate alEffectf = (alEffectfDelegate)GetDelegateForExtensionMethod("alEffectf", typeof(alEffectfDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alEffectfvDelegate(int effect, int param, float* value);
-        internal static alEffectfvDelegate alEffectfv = (alEffectfvDelegate)GetDelegateForExtensionMethod("alEffectfv", typeof(alEffectfvDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetEffectiDelegate(int effect, int param, [Out] int* value);
-        internal static alGetEffectiDelegate alGetEffecti = (alGetEffectiDelegate)GetDelegateForExtensionMethod("alGetEffecti", typeof(alGetEffectiDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetEffectivDelegate(int effect, int param, [Out] int* value);
-        internal static alGetEffectivDelegate alGetEffectiv = (alGetEffectivDelegate)GetDelegateForExtensionMethod("alGetEffectiv", typeof(alGetEffectivDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetEffectfDelegate(int effect, int param, [Out] float* value);
-        internal static alGetEffectfDelegate alGetEffectf = (alGetEffectfDelegate)GetDelegateForExtensionMethod("alGetEffectf", typeof(alGetEffectfDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetEffectfvDelegate(int effect, int param, [Out] float* value);
-        internal static alGetEffectfvDelegate alGetEffectfv = (alGetEffectfvDelegate)GetDelegateForExtensionMethod("alGetEffectfv", typeof(alGetEffectfvDelegate));
-        #endregion
-
-        #region alFilter
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGenFiltersDelegate(int size, [Out] int* Filters);
-        internal static alGenFiltersDelegate alGenFilters = (alGenFiltersDelegate)GetDelegateForExtensionMethod("alGenFilters", typeof(alGenFiltersDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alDeleteFiltersDelegate(int size, int* Filters);
-        internal static alDeleteFiltersDelegate alDeleteFilters = (alDeleteFiltersDelegate)GetDelegateForExtensionMethod("alDeleteFilters", typeof(alDeleteFiltersDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate bool alIsFilterDelegate(int Filter);
-        internal static alIsFilterDelegate alIsFilter = (alIsFilterDelegate)GetDelegateForExtensionMethod("alIsFilter", typeof(alIsFilterDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate void alFilteriDelegate(int Filter, int param, int value);
-        internal static alFilteriDelegate alFilteri = (alFilteriDelegate)GetDelegateForExtensionMethod("alFilteri", typeof(alFilteriDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alFilterivDelegate(int Filter, int param, int* value);
-        internal static alFilterivDelegate alFilteriv = (alFilterivDelegate)GetDelegateForExtensionMethod("alFilteriv", typeof(alFilterivDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate void alFilterfDelegate(int Filter, int param, float value);
-        internal static alFilterfDelegate alFilterf = (alFilterfDelegate)GetDelegateForExtensionMethod("alFilterf", typeof(alFilterfDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alFilterfvDelegate(int Filter, int param, float* value);
-        internal static alFilterfvDelegate alFilterfv = (alFilterfvDelegate)GetDelegateForExtensionMethod("alFilterfv", typeof(alFilterfvDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetFilteriDelegate(int Filter, int param, [Out] int* value);
-        internal static alGetFilteriDelegate alGetFilteri = (alGetFilteriDelegate)GetDelegateForExtensionMethod("alGetFilteri", typeof(alGetFilteriDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetFilterivDelegate(int Filter, int param, [Out] int* value);
-        internal static alGetFilterivDelegate alGetFilteriv = (alGetFilterivDelegate)GetDelegateForExtensionMethod("alGetFilteriv", typeof(alGetFilterivDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetFilterfDelegate(int Filter, int param, [Out] float* value);
-        internal static alGetFilterfDelegate alGetFilterf = (alGetFilterfDelegate)GetDelegateForExtensionMethod("alGetFilterf", typeof(alGetFilterfDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetFilterfvDelegate(int Filter, int param, [Out] float* value);
-        internal static alGetFilterfvDelegate alGetFilterfv = (alGetFilterfvDelegate)GetDelegateForExtensionMethod("alGetFilterfv", typeof(alGetFilterfvDelegate));
-        #endregion
-
-        #region alFilter
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGenAuxiliaryEffectSlotsDelegate(int size, [Out] int* AuxiliaryEffectSlots);
-        internal static alGenAuxiliaryEffectSlotsDelegate alGenAuxiliaryEffectSlots = (alGenAuxiliaryEffectSlotsDelegate)GetDelegateForExtensionMethod("alGenAuxiliaryEffectSlots", typeof(alGenAuxiliaryEffectSlotsDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alDeleteAuxiliaryEffectSlotsDelegate(int size, int* AuxiliaryEffectSlots);
-        internal static alDeleteAuxiliaryEffectSlotsDelegate alDeleteAuxiliaryEffectSlots = (alDeleteAuxiliaryEffectSlotsDelegate)GetDelegateForExtensionMethod("alDeleteAuxiliaryEffectSlots", typeof(alDeleteAuxiliaryEffectSlotsDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate bool alIsAuxiliaryEffectSlotDelegate(int AuxiliaryEffectSlot);
-        internal static alIsAuxiliaryEffectSlotDelegate alIsAuxiliaryEffectSlot = (alIsAuxiliaryEffectSlotDelegate)GetDelegateForExtensionMethod("alIsAuxiliaryEffectSlot", typeof(alIsAuxiliaryEffectSlotDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate void alAuxiliaryEffectSlotiDelegate(int AuxiliaryEffectSlot, int param, int value);
-        internal static alAuxiliaryEffectSlotiDelegate alAuxiliaryEffectSloti = (alAuxiliaryEffectSlotiDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSloti", typeof(alAuxiliaryEffectSlotiDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alAuxiliaryEffectSlotivDelegate(int AuxiliaryEffectSlot, int param, int* value);
-        internal static alAuxiliaryEffectSlotivDelegate alAuxiliaryEffectSlotiv = (alAuxiliaryEffectSlotivDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSlotiv", typeof(alAuxiliaryEffectSlotivDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal delegate void alAuxiliaryEffectSlotfDelegate(int AuxiliaryEffectSlot, int param, float value);
-        internal static alAuxiliaryEffectSlotfDelegate alAuxiliaryEffectSlotf = (alAuxiliaryEffectSlotfDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSlotf", typeof(alAuxiliaryEffectSlotfDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alAuxiliaryEffectSlotfvDelegate(int AuxiliaryEffectSlot, int param, float* value);
-        internal static alAuxiliaryEffectSlotfvDelegate alAuxiliaryEffectSlotfv = (alAuxiliaryEffectSlotfvDelegate)GetDelegateForExtensionMethod("alAuxiliaryEffectSlotfv", typeof(alAuxiliaryEffectSlotfvDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetAuxiliaryEffectSlotiDelegate(int AuxiliaryEffectSlot, int param, [Out] int* value);
-        internal static alGetAuxiliaryEffectSlotiDelegate alGetAuxiliaryEffectSloti = (alGetAuxiliaryEffectSlotiDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSloti", typeof(alGetAuxiliaryEffectSlotiDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetAuxiliaryEffectSlotivDelegate(int AuxiliaryEffectSlot, int param, [Out] int* value);
-        internal static alGetAuxiliaryEffectSlotivDelegate alGetAuxiliaryEffectSlotiv = (alGetAuxiliaryEffectSlotivDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSlotiv", typeof(alGetAuxiliaryEffectSlotivDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetAuxiliaryEffectSlotfDelegate(int AuxiliaryEffectSlot, int param, [Out] float* value);
-        internal static alGetAuxiliaryEffectSlotfDelegate alGetAuxiliaryEffectSlotf = (alGetAuxiliaryEffectSlotfDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSlotf", typeof(alGetAuxiliaryEffectSlotfDelegate));
-
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        [System.Security.SuppressUnmanagedCodeSecurity()]
-        internal unsafe delegate void alGetAuxiliaryEffectSlotfvDelegate(int AuxiliaryEffectSlot, int param, [Out] float* value);
-        internal static alGetAuxiliaryEffectSlotfvDelegate alGetAuxiliaryEffectSlotfv = (alGetAuxiliaryEffectSlotfvDelegate)GetDelegateForExtensionMethod("alGetAuxiliaryEffectSlotfv", typeof(alGetAuxiliaryEffectSlotfvDelegate));
-        #endregion
-        #endregion
-
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenAl/Al.cs b/Source/Compatibility/Tao/OpenAl/Al.cs
deleted file mode 100644 (file)
index daa825c..0000000
+++ /dev/null
@@ -1,6197 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2006 Tao Framework Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-// Disable missing XML comment warnings
-#pragma warning disable 1591 
-
-using System;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Security;
-using System.Collections;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tao.OpenAl
-{
-    #region Class Documentation
-    /// <summary>
-    ///     OpenAL binding for .NET, implementing AL 1.1.
-    /// </summary>
-    /// <remarks>
-    ///     Binds functions and definitions in OpenAL32.dll or libAL.so.
-    /// </remarks>
-    #endregion Class Documentation
-    [Obsolete("Use OpenTK.Audio.OpenAL instead.")]
-    public static class Al
-    {
-        // --- Fields ---
-        #region Private Constants
-        #region string AL_NATIVE_LIBRARY
-        /// <summary>
-        ///     Specifies OpenAl's native library archive.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies OpenAl32.dll everywhere; will be mapped via .config for mono.
-        /// </remarks>
-        private const string AL_NATIVE_LIBRARY = "OpenAL32.dll";
-        #endregion string AL_NATIVE_LIBRARY
-
-        #region CallingConvention CALLING_CONVENTION
-        /// <summary>
-        ///     Specifies the calling convention.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies <see cref="CallingConvention.Cdecl" />.
-        /// </remarks>
-        private const CallingConvention CALLING_CONVENTION = CallingConvention.Cdecl;
-        #endregion CallingConvention CALLING_CONVENTION
-        #endregion Private Constants
-
-        #region Public OpenAL 1.1 Constants
-        #region AL_INVALID
-        /// <summary>
-        ///     Bad value.
-        /// </summary>
-        // #define AL_INVALID -1
-        public const int AL_INVALID = -1;
-        #endregion AL_INVALID
-
-        #region AL_NONE
-        /// <summary>
-        ///     Disable value.
-        /// </summary>
-        // #define AL_NONE 0
-        public const int AL_NONE = 0;
-        #endregion AL_NONE
-
-        #region AL_FALSE
-        /// <summary>
-        ///     bool false.
-        /// </summary>
-        // #define AL_FALSE 0
-        public const int AL_FALSE = 0;
-        #endregion AL_FALSE
-
-        #region AL_TRUE
-        /// <summary>
-        ///     bool true.
-        /// </summary>
-        // #define AL_TRUE 1
-        public const int AL_TRUE = 1;
-        #endregion AL_TRUE
-
-        #region AL_SOURCE_TYPE
-        /// <summary>
-        ///     Indicates the type of AL_SOURCE.  Sources can be spatialized.
-        /// </summary>
-        // #define AL_SOURCE_TYPE 0x1027
-        public const int AL_SOURCE_TYPE = 0x1027;
-        #endregion AL_SOURCE_TYPE
-
-        //Deprecated in 1.1
-        //#region AL_SOURCE_ABSOLUTE
-        // <summary>
-        //     Indicates source has absolute coordinates.
-        // </summary>
-        // #define AL_SOURCE_ABSOLUTE 0x201
-        //public const int AL_SOURCE_ABSOLUTE = 0x201;
-        //#endregion AL_SOURCE_ABSOLUTE
-
-        #region AL_SOURCE_RELATIVE
-        /// <summary>
-        ///     Indicates source has listener-relative coordinates.
-        /// </summary>
-        // #define AL_SOURCE_RELATIVE 0x202
-        public const int AL_SOURCE_RELATIVE = 0x202;
-        #endregion AL_SOURCE_RELATIVE
-
-        #region AL_CONE_INNER_ANGLE
-        /// <summary>
-        ///     Directional source, inner cone angle, in degrees.  The accepted range is 0 to
-        ///     360, the default value is 360.
-        /// </summary>
-        // #define AL_CONE_INNER_ANGLE 0x1001
-        public const int AL_CONE_INNER_ANGLE = 0x1001;
-        #endregion AL_CONE_INNER_ANGLE
-
-        #region AL_CONE_OUTER_ANGLE
-        /// <summary>
-        ///     Directional source, outer cone angle, in degrees.  The accepted range is 0 to
-        ///     360, the default value is 360.
-        /// </summary>
-        // #define AL_CONE_OUTER_ANGLE 0x1002
-        public const int AL_CONE_OUTER_ANGLE = 0x1002;
-        #endregion AL_CONE_OUTER_ANGLE
-
-        #region AL_PITCH
-        /// <summary>
-        ///     Specifies the pitch to be applied, either at source, or on mixer results, at
-        ///     listener.  The accepted range is 0.5 to 2.0, the default value is 1.0.
-        /// </summary>
-        // #define AL_PITCH 0x1003
-        public const int AL_PITCH = 0x1003;
-        #endregion AL_PITCH
-
-        #region AL_POSITION
-        /// <summary>
-        ///     Specifies the current location in three dimensional space.  OpenAL, like OpenGL,
-        ///     uses a right-handed coordinate system, where in a frontal default view X (thumb)
-        ///     points right, Y points up (index finger), and Z points towards the viewer/camera
-        ///     (middle finger).  To switch to a left-handed coordinate system, flip the sign on
-        ///     the Z coordinate.  Listener position is always in the world coordinate system.
-        /// </summary>
-        // #define AL_POSITION 0x1004
-        public const int AL_POSITION = 0x1004;
-        #endregion AL_POSITION
-
-        #region AL_DIRECTION
-        /// <summary>
-        ///     Specifies the current direction as forward vector.
-        /// </summary>
-        // #define AL_DIRECTION 0x1005
-        public const int AL_DIRECTION = 0x1005;
-        #endregion AL_DIRECTION
-
-        #region AL_VELOCITY
-        /// <summary>
-        ///     Specifies the current velocity in three dimensional space.
-        /// </summary>
-        // #define AL_VELOCITY 0x1006
-        public const int AL_VELOCITY = 0x1006;
-        #endregion AL_VELOCITY
-
-        #region AL_LOOPING
-        /// <summary>
-        ///     Indicates whether source has to loop infinitely.  The accepted values are
-        ///     <see cref="AL_TRUE" /> or <see cref="AL_FALSE" />, the default value is
-        ///     <see cref="AL_FALSE" />.
-        /// </summary>
-        // #define AL_LOOPING 0x1007
-        public const int AL_LOOPING = 0x1007;
-        #endregion AL_LOOPING
-
-        #region AL_STATIC
-        /// <summary>
-        ///     Indicates whether source is meant to be static.  The accepted values are
-        ///     <see cref="AL_TRUE" /> or <see cref="AL_FALSE" />, the default value is
-        ///     <see cref="AL_FALSE" />.
-        /// </summary>
-        // #define AL_STATIC 0x1028
-        public const int AL_STATIC = 0x1028;
-        #endregion AL_STATIC
-
-        #region AL_STREAMING
-        /// <summary>
-        ///     Indicates whether source is meant to be streaming.  The accepted values are
-        ///     <see cref="AL_TRUE" /> or <see cref="AL_FALSE" />, the default value is
-        ///     <see cref="AL_FALSE" />.
-        /// </summary>
-        // #define AL_STREAMING 0x1029
-        public const int AL_STREAMING = 0x1029;
-        #endregion AL_STREAMING
-
-        #region AL_UNDETERMINED
-        /// <summary>
-        ///     Indicates whether source is meant to be undetermined.  The accepted values are
-        ///     <see cref="AL_TRUE" /> or <see cref="AL_FALSE" />, the default value is
-        ///     <see cref="AL_FALSE" />.
-        /// </summary>
-        // #define AL_UNDETERMINED 0x1029
-        public const int AL_UNDETERMINED = 0x1030;
-        #endregion AL_UNDETERMINED
-
-        #region AL_BUFFER
-        /// <summary>
-        ///     Indicates the buffer to provide sound samples.  The accepted range is any valid
-        ///     buffer ID.
-        /// </summary>
-        // #define AL_BUFFER 0x1009
-        public const int AL_BUFFER = 0x1009;
-        #endregion AL_BUFFER
-
-        #region AL_GAIN
-        /// <summary>
-        ///     Indicates the gain (volume amplification) applied.  The accepted range is 0.0
-        ///     or above.  A value of 1.0 means unattenuated/unchanged.  Each division by 2 equals
-        ///     an attenuation of -6dB.  Each multiplication by 2 equals an amplification of +6dB.
-        ///     A value of 0.0 is meaningless with respect to a logarithmic scale; it is
-        ///     interpreted as zero volume, the channel is effectively disabled.
-        /// </summary>
-        // #define AL_GAIN 0x100A
-        public const int AL_GAIN = 0x100A;
-        #endregion AL_GAIN
-
-        //Deprecated in 1.1.
-        //#region AL_BYTE_LOKI
-        // <summary>
-        //     byte offset into source (in canon format).  -1 if source is not playing.  Do not
-        //     set this, get this.  The accepted range is -1 or above.
-        // </summary>
-        // #define AL_BYTE_LOKI 0x100C
-        //public const int AL_BYTE_LOKI = 0x100C;
-        //#endregion AL_BYTE_LOKI
-
-        #region AL_MIN_GAIN
-        /// <summary>
-        ///     Indicates minimum source attenuation.  The accepted range is 0.0 to 1.0.
-        /// </summary>
-        // #define AL_MIN_GAIN 0x100D
-        public const int AL_MIN_GAIN = 0x100D;
-        #endregion AL_MIN_GAIN
-
-        #region AL_MAX_GAIN
-        /// <summary>
-        ///     Indicates maximum source attenuation.  The accepted range is 0.0 to 1.0.
-        /// </summary>
-        /// #define AL_MAX_GAIN 0x100E
-        public const int AL_MAX_GAIN = 0x100E;
-        #endregion AL_MAX_GAIN
-
-        #region AL_ORIENTATION
-        /// <summary>
-        ///     Specifies the current orientation.
-        /// </summary>
-        // #define AL_ORIENTATION 0x100F
-        public const int AL_ORIENTATION = 0x100F;
-        #endregion AL_ORIENTATION
-
-        #region AL_REFERENCE_DISTANCE
-        /// <summary>
-        ///     byte offset into source (in canon format).  -1 if source is not playing.  Do not
-        ///     set this, only get this value.  The accepted range is 0.0 or above.  The default
-        ///     value is 1.0.
-        /// </summary>
-        // #define AL_REFERENCE_DISTANCE 0x1020
-        public const int AL_REFERENCE_DISTANCE = 0x1020;
-        #endregion AL_REFERENCE_DISTANCE
-
-        #region AL_ROLLOFF_FACTOR
-        /// <summary>
-        ///     Indicates the rolloff factor for the source.  The accepted range is 0.0 or
-        ///     above.  The default value is 1.0.
-        /// </summary>
-        // #define AL_ROLLOFF_FACTOR 0x1021
-        public const int AL_ROLLOFF_FACTOR = 0x1021;
-        #endregion AL_ROLLOFF_FACTOR
-
-        #region AL_CONE_OUTER_GAIN
-        /// <summary>
-        ///     Indicates the gain (volume amplification) applied.  The accepted range is 0.0 or
-        ///     above.  A value of 1.0 means unattenuated/unchanged.  Each division by 2 equals an
-        ///     attenuation of -6dB.  Each multiplication by 2 equals an amplification of +6dB.
-        ///     A value of 0.0 is meaningless with respect to a logarithmic scale; it is
-        ///     interpreted as zero volume, the channel is effectively disabled.
-        /// </summary>
-        // #define AL_CONE_OUTER_GAIN 0x1022
-        public const int AL_CONE_OUTER_GAIN = 0x1022;
-        #endregion AL_CONE_OUTER_GAIN
-
-        #region AL_MAX_DISTANCE
-        /// <summary>
-        ///     Specifies the maximum distance.  The accepted range is 0.0 or above.
-        /// </summary>
-        // #define AL_MAX_DISTANCE 0x1023
-        public const int AL_MAX_DISTANCE = 0x1023;
-        #endregion AL_MAX_DISTANCE
-
-        #region AL_CHANNEL_MASK
-        /// <summary>
-        ///     Specifies the channel mask.  The accepted range is 0 to 255.
-        /// </summary>
-        // #define AL_CHANNEL_MASK 0x3000
-        public const int AL_CHANNEL_MASK = 0x3000;
-        #endregion AL_CHANNEL_MASK
-
-        #region AL_SOURCE_STATE
-        /// <summary>
-        ///     Source state information.
-        /// </summary>
-        // #define AL_SOURCE_STATE 0x1010
-        public const int AL_SOURCE_STATE = 0x1010;
-        #endregion AL_SOURCE_STATE
-
-        #region AL_INITIAL
-        /// <summary>
-        ///     Source initialized.
-        /// </summary>
-        // #define AL_INITIAL 0x1011
-        public const int AL_INITIAL = 0x1011;
-        #endregion AL_INITIAL
-
-        #region AL_PLAYING
-        /// <summary>
-        ///     Source playing.
-        /// </summary>
-        // #define AL_PLAYING 0x1012
-        public const int AL_PLAYING = 0x1012;
-        #endregion AL_PLAYING
-
-        #region AL_PAUSED
-        /// <summary>
-        ///     Source paused.
-        /// </summary>
-        // #define AL_PAUSED 0x1013
-        public const int AL_PAUSED = 0x1013;
-        #endregion AL_PAUSED
-
-        #region AL_STOPPED
-        /// <summary>
-        ///     Source stopped.
-        /// </summary>
-        // #define AL_STOPPED 0x1014
-        public const int AL_STOPPED = 0x1014;
-        #endregion AL_STOPPED
-
-        #region AL_BUFFERS_QUEUED
-        /// <summary>
-        ///     Buffers are queued.
-        /// </summary>
-        // #define AL_BUFFERS_QUEUED 0x1015
-        public const int AL_BUFFERS_QUEUED = 0x1015;
-        #endregion AL_BUFFERS_QUEUED
-
-        #region AL_BUFFERS_PROCESSED
-        /// <summary>
-        ///     Buffers are processed.
-        /// </summary>
-        // #define AL_BUFFERS_PROCESSED 0x1016
-        public const int AL_BUFFERS_PROCESSED = 0x1016;
-        #endregion AL_BUFFERS_PROCESSED
-
-        #region AL_SEC_OFFSET
-        /// <summary>
-        ///     Source buffer position information.
-        /// </summary>
-        // #define AL_SEC_OFFSET 0x1024
-        public const int AL_SEC_OFFSET = 0x1024;
-        #endregion AL_SEC_OFFSET
-
-        #region AL_SAMPLE_OFFSET
-        /// <summary>
-        ///     Source buffer position information.
-        /// </summary>
-        // #define AL_SAMPLE_OFFSET 0x1025
-        public const int AL_SAMPLE_OFFSET = 0x1025;
-        #endregion AL_SAMPLE_OFFSET
-
-        #region AL_BYTE_OFFSET
-        /// <summary>
-        ///     Source buffer position information.
-        /// </summary>
-        // #define AL_BYTE_OFFSET 0x1026
-        public const int AL_BYTE_OFFSET = 0x1026;
-        #endregion AL_BYTE_OFFSET
-
-        #region AL_FORMAT_MONO8
-        /// <summary>
-        ///     8-bit mono buffer.
-        /// </summary>
-        // #define AL_FORMAT_MONO8 0x1100
-        public const int AL_FORMAT_MONO8 = 0x1100;
-        #endregion AL_FORMAT_MONO8
-
-        #region AL_FORMAT_MONO16
-        /// <summary>
-        ///     16-bit mono buffer.
-        /// </summary>
-        // #define AL_FORMAT_MONO16 0x1101
-        public const int AL_FORMAT_MONO16 = 0x1101;
-        #endregion AL_FORMAT_MONO16
-
-        #region AL_FORMAT_STEREO8
-        /// <summary>
-        ///     8-bit stereo buffer.
-        /// </summary>
-        // #define AL_FORMAT_STEREO8 0x1102
-        public const int AL_FORMAT_STEREO8 = 0x1102;
-        #endregion AL_FORMAT_STEREO8
-
-        #region AL_FORMAT_STEREO16
-        /// <summary>
-        ///     16-bit stereo buffer.
-        /// </summary>
-        // #define AL_FORMAT_STEREO16 0x1103
-        public const int AL_FORMAT_STEREO16 = 0x1103;
-        #endregion AL_FORMAT_STEREO16
-
-        #region AL_FREQUENCY
-        /// <summary>
-        ///     Buffer frequency, in units of Hertz (Hz).  This is the number of samples per
-        ///     second.  Half of the sample frequency marks the maximum significant frequency
-        ///     component.
-        /// </summary>
-        // #define AL_FREQUENCY 0x2001
-        public const int AL_FREQUENCY = 0x2001;
-        #endregion AL_FREQUENCY
-
-        #region AL_BITS
-        /// <summary>
-        ///     Buffer bit depth.
-        /// </summary>
-        // #define AL_BITS 0x2002
-        public const int AL_BITS = 0x2002;
-        #endregion AL_BITS
-
-        #region AL_CHANNELS
-        /// <summary>
-        ///     Buffer channels.
-        /// </summary>
-        // #define AL_CHANNELS 0x2003
-        public const int AL_CHANNELS = 0x2003;
-        #endregion AL_CHANNELS
-
-        #region AL_SIZE
-        /// <summary>
-        ///     Buffer size.
-        /// </summary>
-        // #define AL_SIZE 0x2004
-        public const int AL_SIZE = 0x2004;
-        #endregion AL_SIZE
-
-        #region AL_DATA
-        /// <summary>
-        ///     Buffer data.
-        /// </summary>
-        // #define AL_DATA 0x2005
-        public const int AL_DATA = 0x2005;
-        #endregion AL_DATA
-
-        #region AL_UNUSED
-        /// <summary>
-        ///     Buffer unused.
-        /// </summary>
-        // #define AL_UNUSED 0x2010
-        public const int AL_UNUSED = 0x2010;
-        #endregion AL_UNUSED
-
-        #region AL_QUEUED
-        /// <summary>
-        ///     Buffer queued.
-        /// </summary>
-        // #define AL_QUEUED 0x2011
-        public const int AL_QUEUED = 0x2011;
-        #endregion AL_QUEUED
-
-        #region AL_PENDING
-        /// <summary>
-        ///     Buffer pending.
-        /// </summary>
-        // #define AL_PENDING 0x2011
-        public const int AL_PENDING = 0x2011;
-        #endregion AL_PENDING
-
-        #region AL_CURRENT
-        /// <summary>
-        ///     Buffer current.
-        /// </summary>
-        // #define AL_CURRENT 0x2012
-        public const int AL_CURRENT = 0x2012;
-        #endregion AL_CURRENT
-
-        #region AL_PROCESSED
-        /// <summary>
-        ///     Buffer processed.
-        /// </summary>
-        // #define AL_PROCESSED 0x2012
-        public const int AL_PROCESSED = 0x2012;
-        #endregion AL_PROCESSED
-
-        #region AL_NO_ERROR
-        /// <summary>
-        ///     No error.
-        /// </summary>
-        // #define AL_NO_ERROR AL_FALSE
-        public const int AL_NO_ERROR = AL_FALSE;
-        #endregion AL_NO_ERROR
-
-        #region AL_INVALID_NAME
-        /// <summary>
-        ///     Illegal name passed as an argument to an AL call.
-        /// </summary>
-        // #define AL_INVALID_NAME 0xA001
-        public const int AL_INVALID_NAME = 0xa001;
-        #endregion AL_INVALID_NAME
-
-        #region AL_ILLEGAL_ENUM
-        /// <summary>
-        ///     Illegal enum passed as an argument to an AL call.
-        /// </summary>
-        // #define AL_ILLEGAL_ENUM 0xA002
-        public const int AL_ILLEGAL_ENUM = 0xA002;
-        #endregion AL_ILLEGAL_ENUM
-
-        #region AL_INVALID_ENUM
-        /// <summary>
-        ///     Illegal enum passed as an argument to an AL call.
-        /// </summary>
-        // #define AL_INVALID_ENUM 0xA002
-        public const int AL_INVALID_ENUM = 0xA002;
-        #endregion AL_INVALID_ENUM
-
-        #region AL_INVALID_VALUE
-        /// <summary>
-        ///     Illegal value passed as an argument to an AL call.  Applies to parameter
-        ///     values, but not to enumerations.
-        /// </summary>
-        // #define AL_INVALID_VALUE 0xA003
-        public const int AL_INVALID_VALUE = 0xA003;
-        #endregion AL_INVALID_VALUE
-
-        #region AL_ILLEGAL_COMMAND
-        /// <summary>
-        ///     A function was called at an inappropriate time or in an inappropriate way,
-        ///     causing an illegal state.  This can be an incompatible value, object ID, and/or
-        ///     function.
-        /// </summary>
-        // #define AL_ILLEGAL_COMMAND 0xA004
-        public const int AL_ILLEGAL_COMMAND = 0xA004;
-        #endregion AL_ILLEGAL_COMMAND
-
-        #region AL_INVALID_OPERATION
-        /// <summary>
-        ///     A function was called at an inappropriate time or in an inappropriate way,
-        ///     causing an illegal state.  This can be an incompatible value, object ID, and/or
-        ///     function.
-        /// </summary>
-        // #define AL_INVALID_OPERATION 0xA004
-        public const int AL_INVALID_OPERATION = 0xA004;
-        #endregion AL_INVALID_OPERATION
-
-        #region AL_OUT_OF_MEMORY
-        /// <summary>
-        ///     A function could not be completed, because there is not enough memory available.
-        /// </summary>
-        // #define AL_OUT_OF_MEMORY 0xA005
-        public const int AL_OUT_OF_MEMORY = 0xA005;
-        #endregion AL_OUT_OF_MEMORY
-
-        #region AL_VENDOR
-        /// <summary>
-        ///     Vendor name.
-        /// </summary>
-        // #define AL_VENDOR 0xb001
-        public const int AL_VENDOR = 0xB001;
-        #endregion AL_VENDOR
-
-        #region AL_VERSION
-        /// <summary>
-        ///     Version.
-        /// </summary>
-        // #define AL_VERSION 0xB002
-        public const int AL_VERSION = 0xB002;
-        #endregion AL_VERSION
-
-        #region AL_RENDERER
-        /// <summary>
-        ///     Renderer.
-        /// </summary>
-        // #define AL_RENDERER 0xB003
-        public const int AL_RENDERER = 0xB003;
-        #endregion AL_RENDERER
-
-        #region AL_EXTENSIONS
-        /// <summary>
-        ///     Extensions.
-        /// </summary>
-        // #define AL_EXTENSIONS 0xB004
-        public const int AL_EXTENSIONS = 0xB004;
-        #endregion AL_EXTENSIONS
-
-        #region AL_DOPPLER_FACTOR
-        /// <summary>
-        ///     Doppler scale.  The default value is 1.0.
-        /// </summary>
-        // #define AL_DOPPLER_FACTOR 0xC000
-        public const int AL_DOPPLER_FACTOR = 0xC000;
-        #endregion AL_DOPPLER_FACTOR
-
-        #region AL_DOPPLER_VELOCITY
-        /// <summary>
-        ///     Doppler velocity.  The default value is 1.0.
-        /// </summary>
-        // #define AL_DOPPLER_VELOCITY 0xC001
-        public const int AL_DOPPLER_VELOCITY = 0xC001;
-        #endregion AL_DOPPLER_VELOCITY
-
-        #region AL_SPEED_OF_SOUND
-        /// <summary>
-        ///     Speed of Sound
-        /// </summary>
-        // #define AL_SPEED_OF_SOUND 0xC003
-        public const int AL_SPEED_OF_SOUND = 0xC003;
-        #endregion AL_SPEED_OF_SOUND
-
-        #region AL_DISTANCE_SCALE
-        /// <summary>
-        ///     Distance scaling.
-        /// </summary>
-        // #define AL_DISTANCE_SCALE 0xC002
-        public const int AL_DISTANCE_SCALE = 0xC002;
-        #endregion AL_DISTANCE_SCALE
-
-        #region AL_DISTANCE_MODEL
-        /// <summary>
-        ///     Distance model.  The default value is <see cref="AL_INVERSE_DISTANCE_CLAMPED" />.
-        /// </summary>
-        // #define AL_DISTANCE_MODEL 0xD000
-        public const int AL_DISTANCE_MODEL = 0xD000;
-        #endregion AL_DISTANCE_MODEL
-
-        #region AL_INVERSE_DISTANCE
-        /// <summary>
-        ///     Inverse distance model.
-        /// </summary>
-        // #define AL_INVERSE_DISTANCE 0xD001
-        public const int AL_INVERSE_DISTANCE = 0xD001;
-        #endregion AL_INVERSE_DISTANCE
-
-        #region AL_INVERSE_DISTANCE_CLAMPED
-        /// <summary>
-        ///     Inverse distance clamped model.
-        /// </summary>
-        // #define AL_INVERSE_DISTANCE_CLAMPED 0xD002
-        public const int AL_INVERSE_DISTANCE_CLAMPED = 0xD002;
-        #endregion AL_INVERSE_DISTANCE_CLAMPED
-
-        #region AL_LINEAR_DISTANCE
-        /// <summary>
-        ///     
-        /// </summary>
-        // #define AL_LINEAR_DISTANCE 0xD003
-        public const int AL_LINEAR_DISTANCE = 0xD003;
-        #endregion AL_LINEAR_DISTANCE
-
-        #region AL_LINEAR_DISTANCE_CLAMPED
-        /// <summary>
-        ///     
-        /// </summary>
-        // #define AL_LINEAR_DISTANCE_CLAMPED 0xD004
-        public const int AL_LINEAR_DISTANCE_CLAMPED = 0xD004;
-        #endregion AL_LINEAR_DISTANCE_CLAMPED
-
-        #region AL_EXPONENT_DISTANCE
-        /// <summary>
-        ///     
-        /// </summary>
-        // #define AL_EXPONENT_DISTANCE 0xD005
-        public const int AL_EXPONENT_DISTANCE = 0xD005;
-        #endregion AL_EXPONENT_DISTANCE
-
-        #region AL_EXPONENT_DISTANCE_CLAMPED
-        /// <summary>
-        ///     
-        /// </summary>
-        // #define AL_EXPONENT_DISTANCE_CLAMPED 0xD006
-        public const int AL_EXPONENT_DISTANCE_CLAMPED = 0xD006;
-        #endregion AL_EXPONENT_DISTANCE_CLAMPED
-
-        #region AL_ENV_ROOM_IASIG
-        /// <summary>
-        ///     Room.  The accepted range is -10000 to 0.  The default value is -10000.
-        /// </summary>
-        // #define AL_ENV_ROOM_IASIG 0x3001
-        public const int AL_ENV_ROOM_IASIG = 0x3001;
-        #endregion AL_ENV_ROOM_IASIG
-
-        #region AL_ENV_ROOM_HIGH_FREQUENCY_IASIG
-        /// <summary>
-        ///     Room high frequency.  The accepted range is -10000 to 0.  The default value is 0.
-        /// </summary>
-        // #define AL_ENV_ROOM_HIGH_FREQUENCY_IASIG 0x3002
-        public const int AL_ENV_ROOM_HIGH_FREQUENCY_IASIG = 0x3002;
-        #endregion AL_ENV_ROOM_HIGH_FREQUENCY_IASIG
-
-        #region AL_ENV_ROOM_ROLLOFF_FACTOR
-        /// <summary>
-        ///     Room rolloff factor.  The accepted range is 0.1 to 20.0.  The default value is
-        ///     0.0.
-        /// </summary>
-        // #define AL_ENV_ROOM_ROLLOFF_FACTOR_IASIG 0x3003
-        public const int AL_ENV_ROOM_ROLLOFF_FACTOR = 0x3003;
-        #endregion AL_ENV_ROOM_ROLLOFF_FACTOR
-
-        #region AL_ENV_DECAY_TIME_IASIG
-        /// <summary>
-        ///     Decay time.  The accepted range is 0.1 to 20.0.  The default value is 1.0.
-        /// </summary>
-        // #define AL_ENV_DECAY_TIME_IASIG 0x3004
-        public const int AL_ENV_DECAY_TIME_IASIG = 0x3004;
-        #endregion AL_ENV_DECAY_TIME_IASIG
-
-        #region AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG
-        /// <summary>
-        ///     Decay high frequency ratio.  The accepted range is 0.1 to 2.0.  The default value
-        ///     is 0.5.
-        /// </summary>
-        // #define AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG 0x3005
-        public const int AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG = 0x3005;
-        #endregion AL_ENV_DECAY_HIGH_FREQUENCY_RATIO_IASIG
-
-        #region AL_ENV_REFLECTIONS_IASIG
-        /// <summary>
-        ///     Reflections.  The accepted range is -10000 to 1000.  The default value is -10000.
-        /// </summary>
-        // #define AL_ENV_REFLECTIONS_IASIG 0x3006
-        public const int AL_ENV_REFLECTIONS_IASIG = 0x3006;
-        #endregion AL_ENV_REFLECTIONS_IASIG
-
-        #region AL_ENV_REFLECTIONS_DELAY_IASIG
-        /// <summary>
-        ///     Reflections delay.  The accepted range is 0.0 to 0.3.  The default value is 0.02.
-        /// </summary>
-        // #define AL_ENV_REFLECTIONS_DELAY_IASIG 0x3006
-        public const int AL_ENV_REFLECTIONS_DELAY_IASIG = 0x3006;
-        #endregion AL_ENV_REFLECTIONS_DELAY_IASIG
-
-        #region AL_ENV_REVERB_IASIG
-        /// <summary>
-        ///     Reverb.  The accepted range is -10000 to 2000.  The default value is -10000.
-        /// </summary>
-        // #define AL_ENV_REVERB_IASIG 0x3007
-        public const int AL_ENV_REVERB_IASIG = 0x3007;
-        #endregion AL_ENV_REVERB_IASIG
-
-        #region AL_ENV_REVERB_DELAY_IASIG
-        /// <summary>
-        ///     Reverb delay.  The accepted range is 0.0 to 0.1.  The default value is 0.04.
-        /// </summary>
-        // #define AL_ENV_REVERB_DELAY_IASIG 0x3008
-        public const int AL_ENV_REVERB_DELAY_IASIG = 0x3008;
-        #endregion AL_ENV_REVERB_DELAY_IASIG
-
-        #region AL_ENV_DIFFUSION_IASIG
-        /// <summary>
-        ///     Diffusion.  The accepted range is 0.0 to 100.0.  The default value is 100.0.
-        /// </summary>
-        // #define AL_ENV_DIFFUSION_IASIG 0x3009
-        public const int AL_ENV_DIFFUSION_IASIG = 0x3009;
-        #endregion AL_ENV_DIFFUSION_IASIG
-
-        #region AL_ENV_DENSITY_IASIG
-        /// <summary>
-        ///     Density.  The accepted range is 0.0 to 100.0.  The default value is 100.0.
-        /// </summary>
-        // #define AL_ENV_DENSITY_IASIG 0x300A
-        public const int AL_ENV_DENSITY_IASIG = 0x300A;
-        #endregion AL_ENV_DENSITY_IASIG
-
-        #region AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG
-        /// <summary>
-        ///     High frequency reference.  The accepted range is 20.0 to 20000.0.  The default
-        ///     value is 5000.0.
-        /// </summary>
-        // #define AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG 0x300B
-        public const int AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG = 0x300B;
-        #endregion AL_ENV_HIGH_FREQUENCY_REFERENCE_IASIG
-
-        #region AL_FORMAT_QUAD16
-        /// <summary>
-        ///     Format specifier for 16bit 4-channel audio.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_FORMAT_QUAD16 = alGetEnumValue("AL_FORMAT_QUAD16");
-        #endregion AL_FORMAT_QUAD16
-
-        #region AL_FORMAT_51CHN16
-        /// <summary>
-        ///     Format specifier for 16bit 6-channel audio.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_FORMAT_51CHN16 = alGetEnumValue("AL_FORMAT_51CHN16");
-        #endregion AL_FORMAT_51CHN16
-
-        #region AL_FORMAT_61CHN16
-        /// <summary>
-        ///     Format specifier for 16bit 7-channel audio.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_FORMAT_61CHN16 = alGetEnumValue("AL_FORMAT_61CHN16");
-        #endregion AL_FORMAT_61CHN16
-
-        #region AL_FORMAT_71CHN16
-        /// <summary>
-        ///     Format specifier for 16bit 8-channel audio.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_FORMAT_71CHN16 = alGetEnumValue("AL_FORMAT_71CHN16");
-        #endregion AL_FORMAT_71CHN16
-
-        #region AL_STORAGE_AUTOMATIC
-        /// <summary>
-        ///     See 'OpenAL Programmer's Guide' for more information.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_STORAGE_AUTOMATIC = alGetEnumValue("AL_STORAGE_AUTOMATIC");
-        #endregion AL_STORAGE_AUTOMATIC
-
-        #region AL_STORAGE_HARDWARE
-        /// <summary>
-        ///     See 'OpenAL Programmer's Guide' for more information.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_STORAGE_HARDWARE = alGetEnumValue("AL_STORAGE_HARDWARE");
-        #endregion AL_STORAGE_HARDWARE
-
-        #region AL_STORAGE_ACCESSIBLE
-        /// <summary>
-        ///     See 'OpenAL Programmer's Guide' for more information.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_STORAGE_ACCESSIBLE = alGetEnumValue("AL_STORAGE_ACCESSIBLE");
-        #endregion AL_STORAGE_ACCESSIBLE
-
-        #region AL_EAX_RAM_SIZE
-        /// <summary>
-        ///     See 'OpenAL Programmer's Guide' for more information.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_EAX_RAM_SIZE = alGetEnumValue("AL_EAX_RAM_SIZE");
-        #endregion AL_EAX_RAM_SIZE
-
-        #region AL_EAX_RAM_FREE
-        /// <summary>
-        ///     See 'OpenAL Programmer's Guide' for more information.
-        /// </summary>
-        /// <remarks>
-        /// Note that if the enumeration value is not supported by the current OpenAl implementation,
-        /// an OpenAL error is generated the first, but only the first time this field is accessed.
-        /// The field then has a value of zero.
-        /// </remarks>
-        // Enumeration value has to be queried at runtime.
-        public static readonly int AL_EAX_RAM_FREE = alGetEnumValue("AL_EAX_RAM_FREE");
-        #endregion AL_EAX_RAM_FREE
-
-        #region EFX_EXT
-        //#define AL_METERS_PER_UNIT                                 0x20004
-        public const int AL_METERS_PER_UNIT = 0x20004;
-
-        //#define AL_DIRECT_FILTER                                   0x20005
-        public const int AL_DIRECT_FILTER = 0x20005;
-        //#define AL_AUXILIARY_SEND_FILTER                           0x20006
-        public const int AL_AUXILIARY_SEND_FILTER = 0x20006;
-        //#define AL_AIR_ABSORPTION_FACTOR                           0x20007
-        public const int AL_AIR_ABSORPTION_FACTOR = 0x20007;
-        //#define AL_ROOM_ROLLOFF_FACTOR                             0x20008
-        public const int AL_ROOM_ROLLOFF_FACTOR = 0x20008;
-        //#define AL_CONE_OUTER_GAINHF                               0x20009
-        public const int AL_CONE_OUTER_GAINHF = 0x20009;
-        //#define AL_DIRECT_FILTER_GAINHF_AUTO                       0x2000A
-        public const int AL_DIRECT_FILTER_GAINHF_AUTO = 0x2000A;
-        //#define AL_AUXILIARY_SEND_FILTER_GAIN_AUTO                 0x2000B
-        public const int AL_AUXILIARY_SEND_FILTER_GAIN_AUTO = 0x2000B;
-        //#define AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO               0x2000C
-        public const int AL_AUXILIARY_SEND_FILTER_GAINHF_AUTO = 0x2000C;
-
-        //#define AL_EFFECTSLOT_EFFECT                               0x0001
-        public const int AL_EFFECTSLOT_EFFECT = 0x0001;
-        //#define AL_EFFECTSLOT_GAIN                                 0x0002
-        public const int AL_EFFECTSLOT_GAIN = 0x0002;
-        //#define AL_EFFECTSLOT_AUXILIARY_SEND_AUTO                  0x0003
-        public const int AL_EFFECTSLOT_AUXILIARY_SEND_AUTO = 0x0003;
-        //#define AL_EFFECTSLOT_NULL                                 0x0000
-        public const int AL_EFFECTSLOT_NULL = 0x0000;
-
-        /* Reverb Parameters */
-        //#define AL_REVERB_DENSITY                                  0x0001
-        public const int AL_REVERB_DENSITY = 0x0001;
-        //#define AL_REVERB_DIFFUSION                                0x0002
-        public const int AL_REVERB_DIFFUSION = 0x0002;
-        //#define AL_REVERB_GAIN                                     0x0003
-        public const int AL_REVERB_GAIN = 0x0003;
-        //#define AL_REVERB_GAINHF                                   0x0004
-        public const int AL_REVERB_GAINHF = 0x0004;
-        //#define AL_REVERB_DECAY_TIME                               0x0005
-        public const int AL_REVERB_DECAY_TIME = 0x0005;
-        //#define AL_REVERB_DECAY_HFRATIO                            0x0006
-        public const int AL_REVERB_DECAY_HFRATIO = 0x0006;
-        //#define AL_REVERB_REFLECTIONS_GAIN                         0x0007
-        public const int AL_REVERB_REFLECTIONS_GAIN = 0x0007;
-        //#define AL_REVERB_REFLECTIONS_DELAY                        0x0008
-        public const int AL_REVERB_REFLECTIONS_DELAY = 0x0008;
-        //#define AL_REVERB_LATE_REVERB_GAIN                         0x0009
-        public const int AL_REVERB_LATE_REVERB_GAIN = 0x0009;
-        //#define AL_REVERB_LATE_REVERB_DELAY                        0x000A
-        public const int AL_REVERB_LATE_REVERB_DELAY = 0x000A;
-        //#define AL_REVERB_AIR_ABSORPTION_GAINHF                    0x000B 
-        public const int AL_REVERB_AIR_ABSORPTION_GAINHF = 0x000B;
-        //#define AL_REVERB_ROOM_ROLLOFF_FACTOR                      0x000C
-        public const int AL_REVERB_ROOM_ROLLOFF_FACTOR = 0x000C;
-        //#define AL_REVERB_DECAY_HFLIMIT                            0x000D
-        public const int AL_REVERB_DECAY_HFLIMIT = 0x000D;
-
-        ///* Chorus Parameters */
-        //#define AL_CHORUS_WAVEFORM                                 0x0001
-        public const int AL_CHORUS_WAVEFORM = 0x0001;
-        //#define AL_CHORUS_PHASE                                    0x0002
-        public const int AL_CHORUS_PHASE = 0x0002;
-        //#define AL_CHORUS_RATE                                     0x0003
-        public const int AL_CHORUS_RATE = 0x0003;
-        //#define AL_CHORUS_DEPTH                                    0x0004
-        public const int AL_CHORUS_DEPTH = 0x0004;
-        //#define AL_CHORUS_FEEDBACK                                 0x0005
-        public const int AL_CHORUS_FEEDBACK = 0x0005;
-        //#define AL_CHORUS_DELAY                                    0x0006
-        public const int AL_CHORUS_DELAY = 0x0006;
-
-        ///* Distortion Parameters */
-        //#define AL_DISTORTION_EDGE                                 0x0001
-        public const int AL_DISTORTION_EDGE = 0x0001;
-        //#define AL_DISTORTION_GAIN                                 0x0002
-        public const int AL_DISTORTION_GAIN = 0x0002;
-        //#define AL_DISTORTION_LOWPASS_CUTOFF                       0x0003
-        public const int AL_DISTORTION_LOWPASS_CUTOFF = 0x0003;
-        //#define AL_DISTORTION_EQCENTER                             0x0004
-        public const int AL_DISTORTION_EQCENTER = 0x0004;
-        //#define AL_DISTORTION_EQBANDWIDTH                          0x0005
-        public const int AL_DISTORTION_EQBANDWIDTH = 0x0005;
-
-        ///* Echo Parameters */
-        //#define AL_ECHO_DELAY                                      0x0001
-        public const int AL_ECHO_DELAY = 0x0001;
-        //#define AL_ECHO_LRDELAY                                    0x0002
-        public const int AL_ECHO_LRDELAY = 0x0002;
-        //#define AL_ECHO_DAMPING                                    0x0003
-        public const int AL_ECHO_DAMPING = 0x0003;
-        //#define AL_ECHO_FEEDBACK                                   0x0004
-        public const int AL_ECHO_FEEDBACK = 0x0004;
-        //#define AL_ECHO_SPREAD                                     0x0005
-        public const int AL_ECHO_SPREAD = 0x0005;
-
-        ///* Flanger Parameters */
-        //#define AL_FLANGER_WAVEFORM                                0x0001
-        public const int AL_FLANGER_WAVEFORM = 0x0001;
-        //#define AL_FLANGER_PHASE                                   0x0002
-        public const int AL_FLANGER_PHASE = 0x0002;
-        //#define AL_FLANGER_RATE                                    0x0003
-        public const int AL_FLANGER_RATE = 0x0003;
-        //#define AL_FLANGER_DEPTH                                   0x0004
-        public const int AL_FLANGER_DEPTH = 0x0004;
-        //#define AL_FLANGER_FEEDBACK                                0x0005
-        public const int AL_FLANGER_FEEDBACK = 0x0005;
-        //#define AL_FLANGER_DELAY                                   0x0006
-        public const int AL_FLANGER_DELAY = 0x0006;
-
-        ///* Frequencyshifter Parameters */
-        //#define AL_FREQUENCY_SHIFTER_FREQUENCY                     0x0001
-        public const int AL_FREQUENCY_SHIFTER_FREQUENCY = 0x0001;
-        //#define AL_FREQUENCY_SHIFTER_LEFT_DIRECTION                0x0002
-        public const int AL_FREQUENCY_SHIFTER_LEFT_DIRECTION = 0x0002;
-        //#define AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION               0x0003
-        public const int AL_FREQUENCY_SHIFTER_RIGHT_DIRECTION = 0x0003;
-
-        ///* Vocalmorpher Parameters */
-        //#define AL_VOCAL_MORPHER_PHONEMEA                          0x0001
-        public const int AL_VOCAL_MORPHER_PHONEMEA = 0x0001;
-        //#define AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING            0x0002
-        public const int AL_VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 0x0002;
-        //#define AL_VOCAL_MORPHER_PHONEMEB                          0x0003
-        public const int AL_VOCAL_MORPHER_PHONEMEB = 0x0003;
-        //#define AL_VOCAL_MORPHER_PHONEMEB_COARSE_TUNING            0x0004
-        public const int AL_VOCAL_MORPHER_PHENEMEB_COARSE_TUNING = 0x0004;
-        //#define AL_VOCAL_MORPHER_WAVEFORM                          0x0005
-        public const int AL_VOCAL_MORPHER_WAVEFORM = 0x0005;
-        //#define AL_VOCAL_MORPHER_RATE                              0x0006
-        public const int AL_VOCAL_MORPHER_RATE = 0x0006;
-
-        ///* Pitchshifter Parameters */
-        //#define AL_PITCH_SHIFTER_COARSE_TUNE                       0x0001
-        public const int AL_PITCH_SHIFTER_COARSE_TUNE = 0x0001;
-        //#define AL_PITCH_SHIFTER_FINE_TUNE                         0x0002
-        public const int AL_PITCH_SHIFTER_FINE_TUNE = 0x0002;
-
-        ///* Ringmodulator Parameters */
-        //#define AL_RING_MODULATOR_FREQUENCY                        0x0001
-        public const int AL_RING_MODULATOR_FREQUENCY = 0x0001;
-        //#define AL_RING_MODULATOR_HIGHPASS_CUTOFF                  0x0002
-        public const int AL_RING_MODULATOR_HIGHPASS_CUTOFF = 0x0002;
-        //#define AL_RING_MODULATOR_WAVEFORM                         0x0003
-        public const int AL_RING_MODULATOR_WAVEFORM = 0x0003;
-
-        ///* Autowah Parameters */
-        //#define AL_AUTOWAH_ATTACK_TIME                             0x0001
-        public const int AL_AUTOWAH_ATTACK_TIME = 0x0001;
-        //#define AL_AUTOWAH_RELEASE_TIME                            0x0002
-        public const int AL_AUTOWAH_RELEASE_TIME = 0x0002;
-        //#define AL_AUTOWAH_RESONANCE                               0x0003
-        public const int AL_AUTOWAH_RESONANCE = 0x0003;
-        //#define AL_AUTOWAH_PEAK_GAIN                               0x0004
-        public const int AL_AUTOWAH_PEAK_GAIN = 0x0004;
-
-        ///* Compressor Parameters */
-        //#define AL_COMPRESSOR_ONOFF                                0x0001
-        public const int AL_COMPRESSOR_ONOFF = 0x0001;
-
-        ///* Equalizer Parameters */
-        //#define AL_EQUALIZER_LOW_GAIN                              0x0001
-        public const int AL_EQUALIZER_LOW_GAIN = 0x0001;
-        //#define AL_EQUALIZER_LOW_CUTOFF                            0x0002
-        public const int AL_EQUALIZER_LOW_CUTOFF = 0x0002;
-        //#define AL_EQUALIZER_MID1_GAIN                             0x0003
-        public const int AL_EQUALIZER_MID1_GAIN = 0x0003;
-        //#define AL_EQUALIZER_MID1_CENTER                           0x0004
-        public const int AL_EQUALIZER_MID1_CENTER = 0x0004;
-        //#define AL_EQUALIZER_MID1_WIDTH                            0x0005
-        public const int AL_EQUALIZER_MID1_WIDTH = 0x0005;
-        //#define AL_EQUALIZER_MID2_GAIN                             0x0006
-        public const int AL_EQUALIZER_MID2_GAIN = 0x0006;
-        //#define AL_EQUALIZER_MID2_CENTER                           0x0007
-        public const int AL_EQUALIZER_MID2_CENTER = 0x0007;
-        //#define AL_EQUALIZER_MID2_WIDTH                            0x0008
-        public const int AL_EQUALIZER_MID2_WIDTH = 0x0008;
-        //#define AL_EQUALIZER_HIGH_GAIN                             0x0009
-        public const int AL_EQUALIZER_HIGH_GAIN = 0x0009;
-        //#define AL_EQUALIZER_HIGH_CUTOFF                           0x000A
-        public const int AL_EQUALIZER_HIGH_CUTOFF = 0x000A;
-
-        /* Effect type */
-        //#define AL_EFFECT_FIRST_PARAMETER                          0x0000
-        public const int AL_EFFECT_FIRST_PARAMETER = 0x0000;
-        //#define AL_EFFECT_LAST_PARAMETER                           0x8000
-        public const int AL_EFFECT_LAST_PARAMETER = 0x8000;
-        //#define AL_EFFECT_TYPE                                     0x8001
-        public const int AL_EFFECT_TYPE = 0x8001;
-
-        /* Effect type definitions to be used with AL_EFFECT_TYPE. */
-        //#define AL_EFFECT_NULL                                     0x0000  /* Can also be used as an Effect Object ID */
-        public const int AL_EFFECT_NULL = 0x0000;
-        //#define AL_EFFECT_REVERB                                   0x0001
-        public const int AL_EFFECT_REVERB = 0x0001;
-        //#define AL_EFFECT_CHORUS                                   0x0002
-        public const int AL_EFFECT_CHORUS = 0x0002;
-        //#define AL_EFFECT_DISTORTION                               0x0003
-        public const int AL_EFFECT_DISTORTION = 0x0003;
-        //#define AL_EFFECT_ECHO                                     0x0004
-        public const int AL_EFFECT_ECHO = 0x0004;
-        //#define AL_EFFECT_FLANGER                                  0x0005
-        public const int AL_EFFECT_FLANGER = 0x0005;
-        //#define AL_EFFECT_FREQUENCY_SHIFTER                        0x0006
-        public const int AL_EFFECT_FREQUENCY_SHIFTER = 0x0006;
-        //#define AL_EFFECT_VOCAL_MORPHER                            0x0007
-        public const int AL_EFFECT_VOCAL_MORPHER = 0x0007;
-        //#define AL_EFFECT_PITCH_SHIFTER                            0x0008
-        public const int AL_EFFECT_PITCH_SHIFTER = 0x0008;
-        //#define AL_EFFECT_RING_MODULATOR                           0x0009
-        public const int AL_EFFECT_RING_MODULATOR = 0x0009;
-        //#define AL_EFFECT_AUTOWAH                                  0x000A
-        public const int AL_EFFECT_AUTOWAH = 0x000A;
-        //#define AL_EFFECT_COMPRESSOR                               0x000B
-        public const int AL_EFFECT_COMPRESSOR = 0x000B;
-        //#define AL_EFFECT_EQUALIZER                                0x000C
-        public const int AL_EFFECT_EQUALIZER = 0x000C;
-
-        /* Lowpass parameters. */
-        //#define AL_LOWPASS_GAIN                                    0x0001
-        public const int AL_LOWPASS_GAIN = 0x0001;
-        //#define AL_LOWPASS_GAINHF                                  0x0002
-        public const int AL_LOWPASS_GAINHF = 0x0002;
-
-        ///* Highpass Parameters */
-        //#define AL_HIGHPASS_GAIN                                   0x0001
-        public const int AL_HIGHPASS_GAIN = 0x0001;
-        //#define AL_HIGHPASS_GAINLF                                 0x0002
-        public const int AL_HIGHPASS_GAINLF = 0x0002;
-
-        ///* Bandpass Parameters */
-        //#define AL_BANDPASS_GAIN                                   0x0001
-        public const int AL_BANDPASS_GAIN = 0x0001;
-        //#define AL_BANDPASS_GAINLF                                 0x0002
-        public const int AL_BANDPASS_GAINLF = 0x0002;
-        //#define AL_BANDPASS_GAINHF                                 0x0003
-        public const int AL_BANDPASS_GAINHF = 0x0003;
-
-        ///* Filter type */
-        //#define AL_FILTER_FIRST_PARAMETER                          0x0000
-        public const int AL_FILTER_FIRST_PARAMETER = 0x0000;
-        //#define AL_FILTER_LAST_PARAMETER                           0x8000
-        public const int AL_FILTER_LAST_PARAMETER = 0x8000;
-        //#define AL_FILTER_TYPE                                     0x8001
-        public const int AL_FILTER_TYPE = 0x8001;
-
-        ///* Filter type definitions to be used with AL_FILTER_TYPE. */
-        //#define AL_FILTER_NULL                                     0x0000  /* Can also be used as a Filter Object ID */
-        public const int AL_FILTER_NULL = 0x0000;
-        //#define    AL_FILTER_LOWPASS                                  0x0001
-        public const int AL_FILTER_LOWPASS = 0x0001;
-        //#define AL_FILTER_HIGHPASS                                 0x0002
-        public const int AL_FILTER_HIGHPASS = 0x0002;
-        //#define AL_FILTER_BANDPASS                                 0x0003
-        public const int AL_FILTER_BANDPASS = 0x0003;
-        #endregion
-
-        #endregion Public OpenAL 1.1 Constants
-
-        // --- Public Externs ---
-        #region Public OpenAL 1.1 Methods
-        #region alBufferData(int buffer, int format, [In] byte[] data, int size, int frequency)
-        /// <summary>
-        ///     Fills a buffer with audio data.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name to be filled with data.
-        /// </param>
-        /// <param name="format">
-        ///     <para>
-        ///         Format type from among the following:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FORMAT_MONO8" /></item>
-        ///             <item><see cref="AL_FORMAT_MONO16" /></item>
-        ///             <item><see cref="AL_FORMAT_STEREO8" /></item>
-        ///             <item><see cref="AL_FORMAT_STEREO16" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="data">
-        ///     Pointer to the audio data.
-        /// </param>
-        /// <param name="size">
-        ///     The size of the audio data in bytes.
-        /// </param>
-        /// <param name="frequency">
-        ///     The frequency of the audio data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBufferData(int buffer, int format, [In] byte[] data, int size, int frequency);
-        #endregion alBufferData(int buffer, int format, [In] byte[] data, int size, int frequency)
-
-        #region alBufferData(int buffer, int format, [In] IntPtr data, int size, int frequency)
-        /// <summary>
-        ///     Fills a buffer with audio data.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name to be filled with data.
-        /// </param>
-        /// <param name="format">
-        ///     <para>
-        ///         Format type from among the following:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FORMAT_MONO8" /></item>
-        ///             <item><see cref="AL_FORMAT_MONO16" /></item>
-        ///             <item><see cref="AL_FORMAT_STEREO8" /></item>
-        ///             <item><see cref="AL_FORMAT_STEREO16" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="data">
-        ///     Pointer to the audio data.
-        /// </param>
-        /// <param name="size">
-        ///     The size of the audio data in bytes.
-        /// </param>
-        /// <param name="frequency">
-        ///     The frequency of the audio data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBufferData(int buffer, int format, [In] IntPtr data, int size, int frequency);
-        #endregion alBufferData(int buffer, int format, [In] IntPtr data, int size, int frequency)
-
-        #region alBufferData(int buffer, int format, [In] void *data, int size, int frequency)
-        /// <summary>
-        ///     Fills a buffer with audio data.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name to be filled with data.
-        /// </param>
-        /// <param name="format">
-        ///     <para>
-        ///         Format type from among the following:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FORMAT_MONO8" /></item>
-        ///             <item><see cref="AL_FORMAT_MONO16" /></item>
-        ///             <item><see cref="AL_FORMAT_STEREO8" /></item>
-        ///             <item><see cref="AL_FORMAT_STEREO16" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="data">
-        ///     Pointer to the audio data.
-        /// </param>
-        /// <param name="size">
-        ///     The size of the audio data in bytes.
-        /// </param>
-        /// <param name="frequency">
-        ///     The frequency of the audio data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alBufferData(ALuint buffer, ALenum format, ALvoid* data, ALsizei size, ALsizei freq);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alBufferData(int buffer, int format, [In] void* data, int size, int frequency);
-        #endregion alBufferData(int buffer, int format, [In] void *data, int size, int frequency)
-
-        #region void alBufferf(int bid, int param, float val)
-        /// <summary>
-        ///     Set Buffer parameters.
-        /// </summary>
-        // AL_API void AL_APIENTRY alBufferf( ALuint bid, ALenum param, ALfloat value );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBufferf(int bid, int param, float val);
-        #endregion void alBufferf(int bid, int param, float val)
-
-        #region void alBuffer3f(int bid, int param, float value1, float value2, float value3)
-        /// <summary>
-        ///     Set Buffer parameters.
-        /// </summary>
-        // AL_API void AL_APIENTRY alBuffer3f( ALuint bid, ALenum param, ALfloat value1, ALfloat value2, ALfloat value3 );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBuffer3f(int bid, int param, float value1, float value2, float value3);
-        #endregion void alBuffer3f(int bid, int param, float value1, float value2, float value3)
-
-        #region void alBufferfv(int bid, int param, out float val)
-        /// <summary>
-        ///     Set Buffer parameters.
-        /// </summary>
-        // AL_API void AL_APIENTRY alBufferfv( ALuint bid, ALenum param, ALfloat *value );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBufferfv(int bid, int param, out float val);
-        #endregion void alBufferfv(int bid, int param, out float val)
-
-        #region void alBufferi(int bid, int param, int val)
-        /// <summary>
-        ///     Set Buffer parameters.
-        /// </summary>
-        // AL_API void AL_APIENTRY alBufferi( ALuint bid, ALenum param, ALint value );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBufferi(int bid, int param, int val);
-        #endregion void alBufferi(int bid, int param, int val)
-
-        #region void alBuffer3i(int bid, int param, int value1, int value2, int value3)
-        /// <summary>
-        ///     Set Buffer parameters.
-        /// </summary>
-        // AL_API void AL_APIENTRY alBuffer3i( ALuint bid, ALenum param, ALint value1, ALint value2, ALint value3 );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBuffer3i(int bid, int param, int value1, int value2, int value3);
-        #endregion void alBuffer3i(int bid, int param, int value1, int value2, int value3)
-
-        #region void alBufferiv(int bid, int param, out int val)
-        /// <summary>
-        ///     Set Buffer parameters.
-        /// </summary>
-        // AL_API void AL_APIENTRY alBufferiv( ALuint bid, ALenum param, ALint *value );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alBufferiv(int bid, int param, out int val);
-        #endregion void alBufferiv(int bid, int param, out int val)
-
-        #region alDeleteBuffers(int number, [In] ref int buffer)
-        /// <summary>
-        ///     Deletes one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be deleted.
-        /// </param>
-        /// <param name="buffer">
-        ///     Pointer to an array of buffer names identifying the buffers to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be deleted, an error will be
-        ///     generated which can be detected with <see cref="alGetError" />.  If an error
-        ///     occurs, no buffers will be deleted.  If <i>number</i> equals zero,
-        ///     <b>alDeleteBuffers</b> does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteBuffers(int number, [In] ref int buffer);
-        #endregion alDeleteBuffers(int number, [In] ref int buffer)
-
-        #region alDeleteBuffers(int number, [In] int[] buffers)
-        /// <summary>
-        ///     Deletes one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be deleted.
-        /// </param>
-        /// <param name="buffers">
-        ///     Pointer to an array of buffer names identifying the buffers to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be deleted, an error will be
-        ///     generated which can be detected with <see cref="alGetError" />.  If an error
-        ///     occurs, no buffers will be deleted.  If <i>number</i> equals zero,
-        ///     <b>alDeleteBuffers</b> does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteBuffers(int number, [In] int[] buffers);
-        #endregion alDeleteBuffers(int number, [In] int[] buffers)
-
-        #region alDeleteBuffers(int number, [In] IntPtr buffers)
-        /// <summary>
-        ///     Deletes one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be deleted.
-        /// </param>
-        /// <param name="buffers">
-        ///     Pointer to an array of buffer names identifying the buffers to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be deleted, an error will be
-        ///     generated which can be detected with <see cref="alGetError" />.  If an error
-        ///     occurs, no buffers will be deleted.  If <i>number</i> equals zero,
-        ///     <b>alDeleteBuffers</b> does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteBuffers(int number, [In] IntPtr buffers);
-        #endregion alDeleteBuffers(int number, [In] IntPtr buffers)
-
-        #region alDeleteBuffers(int number, [In] int *buffers)
-        /// <summary>
-        ///     Deletes one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be deleted.
-        /// </param>
-        /// <param name="buffers">
-        ///     Pointer to an array of buffer names identifying the buffers to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be deleted, an error will be
-        ///     generated which can be detected with <see cref="alGetError" />.  If an error
-        ///     occurs, no buffers will be deleted.  If <i>number</i> equals zero,
-        ///     <b>alDeleteBuffers</b> does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alDeleteBuffers(int number, [In] int* buffers);
-        #endregion alDeleteBuffers(int number, [In] int *buffers)
-
-        #region alDeleteSources(int number, [In] ref int sources)
-        /// <summary>
-        ///     Deletes one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be deleted.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of source names identifying the sources to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be deleted, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be deleted.  If <i>number</i> equals zero, <b>alDeleteSources</b>
-        ///     does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteSources(int number, [In] ref int sources);
-        #endregion alDeleteSources(int number, [In] ref int sources)
-
-        #region alDeleteSources(int number, [In] int[] sources)
-        /// <summary>
-        ///     Deletes one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be deleted.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of source names identifying the sources to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be deleted, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be deleted.  If <i>number</i> equals zero, <b>alDeleteSources</b>
-        ///     does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteSources(int number, [In] int[] sources);
-        #endregion alDeleteSources(int number, [In] int[] sources)
-
-        #region alDeleteSources(int number, [In] IntPtr sources)
-        /// <summary>
-        ///     Deletes one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be deleted.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of source names identifying the sources to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be deleted, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be deleted.  If <i>number</i> equals zero, <b>alDeleteSources</b>
-        ///     does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteSources(int number, [In] IntPtr sources);
-        #endregion alDeleteSources(int number, [In] IntPtr sources)
-
-        #region alDeleteSources(int number, [In] int *sources)
-        /// <summary>
-        ///     Deletes one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be deleted.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of source names identifying the sources to be deleted.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be deleted, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be deleted.  If <i>number</i> equals zero, <b>alDeleteSources</b>
-        ///     does nothing and will not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDeleteSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alDeleteSources(int number, [In] int* sources);
-        #endregion alDeleteSources(int number, [In] int *sources)
-
-        #region alDisable(int capability)
-        /// <summary>
-        ///     Disables a feature of the OpenAL driver.
-        /// </summary>
-        /// <param name="capability">
-        ///     The capability to disable.
-        /// </param>
-        /// <remarks>
-        ///     At the time of this writing, there are no features to be disabled using this
-        ///     function, so if it is called the error <see cref="AL_INVALID_ENUM" /> will be
-        ///     generated.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDisable(ALenum capability);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDisable(int capability);
-        #endregion alDisable(int capability)
-
-        #region alDistanceModel(int val)
-        /// <summary>
-        ///     Selects the OpenAL distance model.
-        /// </summary>
-        /// <param name="val">
-        ///     <para>
-        ///         The distance model to be set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_NONE" /></item>
-        ///             <item><see cref="AL_INVERSE_DISTANCE" /></item>
-        ///             <item><see cref="AL_INVERSE_DISTANCE_CLAMPED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default distance model in OpenAL is <see cref="AL_INVERSE_DISTANCE" />.
-        ///     </para>
-        ///     <para>
-        ///         The <see cref="AL_INVERSE_DISTANCE" /> model works according to the following
-        ///         formula:
-        ///     </para>
-        ///     <para>
-        ///         <c>
-        ///             G_dB = AL_GAIN \96 20log10(1 + AL_ROLLOFF_FACTOR * (distance \96 AL_REFERENCE_DISTANCE) / AL_REFERENCE_DISTANCE));
-        ///             G_dB = min(G_dB, AL_MAX_GAIN);
-        ///             G_dB = max(G_dB, AL_MIN_GAIN);
-        ///         </c>
-        ///     </para>
-        ///     <para>
-        ///         The <see cref="AL_INVERSE_DISTANCE_CLAMPED" /> model works according to the
-        ///         following formula:
-        ///     </para>
-        ///     <para>
-        ///         <c>
-        ///             distance = max(distance, AL_REFERENCE_DISTANCE);
-        ///             distance = min(distance, AL_MAX_DISTANCE);
-        ///             G_dB = AL_GAIN \96 20log10(1 + AL_ROLLOFF_FACTOR * (distance \96 AL_REFERENCE_DISTANCE) / AL_REFERENCE_DISTANCE));
-        ///             G_dB = min(G_dB, AL_MAX_GAIN);
-        ///             G_dB = max(G_dB, AL_MIN_GAIN);
-        ///         </c>
-        ///     </para>
-        ///     <para>
-        ///         The <see cref="AL_NONE" /> model works according to the following formula:
-        ///     </para>
-        ///     <para>
-        ///         <c>
-        ///             G_db = AL_GAIN;
-        ///         </c>
-        ///     </para>
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDistanceModel(ALenum value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDistanceModel(int val);
-        #endregion alDistanceModel(int val)
-
-        #region alDopplerFactor(float val)
-        /// <summary>
-        ///     Selects the OpenAL Doppler factor value.
-        /// </summary>
-        /// <param name="val">
-        ///     The Doppler scale value to set.
-        /// </param>
-        /// <remarks>
-        ///     The default Doppler factor value is 1.0.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDopplerFactor(ALfloat value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDopplerFactor(float val);
-        #endregion alDopplerFactor(float val)
-
-        #region alDopplerVelocity(float val)
-        /// <summary>
-        ///     Selects the OpenAL Doppler velocity value.
-        /// </summary>
-        /// <param name="val">
-        ///     The Doppler velocity value to set.
-        /// </param>
-        /// <remarks>
-        ///     The default Doppler velocity value is 343.3.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDopplerVelocity(ALfloat value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDopplerVelocity(float val);
-        #endregion alDopplerVelocity(float val)
-
-        #region alSpeedOfSound(float val)
-        /// <summary>
-        ///     Selects the OpenAL Speed of Sound value.
-        /// </summary>
-        /// <param name="val">
-        ///     The Speed of Sound value to set.
-        /// </param>
-        /// <remarks>
-        ///     
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alDopplerVelocity(ALfloat value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSpeedOfSound(float val);
-        #endregion alSpeedOfSound(float val)
-
-        #region alEnable(int capability)
-        /// <summary>
-        ///     Enables a feature of the OpenAL driver.
-        /// </summary>
-        /// <param name="capability">
-        ///     The capability to enable.
-        /// </param>
-        /// <remarks>
-        ///     At the time of this writing, there are no features to be enabled using this
-        ///     function, so if it is called the error <see cref="AL_INVALID_ENUM" /> will be
-        ///     generated.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alEnable(ALenum capability);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alEnable(int capability);
-        #endregion alEnable(int capability)
-
-        #region alGenBuffers(int number, out int buffer)
-        /// <summary>
-        ///     Generates one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be generated.
-        /// </param>
-        /// <param name="buffer">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     buffers.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     buffers will be generated.  If <i>number</i> equals zero, <b>alGenBuffers</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGenBuffers(int number, out int buffer);
-        #endregion alGenBuffers(int number, out int buffer)
-
-        #region alGenBuffers(int number, [Out] int[] buffers)
-        /// <summary>
-        ///     Generates one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be generated.
-        /// </param>
-        /// <param name="buffers">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     buffers.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     buffers will be generated.  If <i>number</i> equals zero, <b>alGenBuffers</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGenBuffers(int number, [Out] int[] buffers);
-        #endregion alGenBuffers(int number, [Out] int[] buffers)
-
-        #region alGenBuffers(int number, [Out] IntPtr buffers)
-        /// <summary>
-        ///     Generates one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be generated.
-        /// </param>
-        /// <param name="buffers">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     buffers.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     buffers will be generated.  If <i>number</i> equals zero, <b>alGenBuffers</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGenBuffers(int number, [Out] IntPtr buffers);
-        #endregion alGenBuffers(int number, [Out] IntPtr buffers)
-
-        #region alGenBuffers(int number, [Out] int *buffers)
-        /// <summary>
-        ///     Generates one or more buffers.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of buffers to be generated.
-        /// </param>
-        /// <param name="buffers">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     buffers.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of buffers cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     buffers will be generated.  If <i>number</i> equals zero, <b>alGenBuffers</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGenBuffers(int number, [Out] int* buffers);
-        #endregion alGenBuffers(int number, [Out] int *buffers)
-
-        #region alGenSources(int number, out int source)
-        /// <summary>
-        ///     Generates one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be generated.
-        /// </param>
-        /// <param name="source">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     sources.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be generated.  If <i>number</i> equals zero, <b>alGenSources</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGenSources(int number, out int source);
-        #endregion alGenSources(int number, out int source)
-
-        #region alGenSources(int number, [Out] int[] sources)
-        /// <summary>
-        ///     Generates one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be generated.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     sources.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be generated.  If <i>number</i> equals zero, <b>alGenSources</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGenSources(int number, [Out] int[] sources);
-        #endregion alGenSources(int number, [Out] int[] sources)
-
-        #region alGenSources(int number, [Out] IntPtr sources)
-        /// <summary>
-        ///     Generates one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be generated.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     sources.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be generated.  If <i>number</i> equals zero, <b>alGenSources</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGenSources(int number, [Out] IntPtr sources);
-        #endregion alGenSources(int number, [Out] IntPtr sources)
-
-        #region alGenSources(int number, [Out] int *sources)
-        /// <summary>
-        ///     Generates one or more sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be generated.
-        /// </param>
-        /// <param name="sources">
-        ///     Pointer to an array of integer values which will store the names of the new
-        ///     sources.
-        /// </param>
-        /// <remarks>
-        ///     If the requested number of sources cannot be created, an error will be generated
-        ///     which can be detected with <see cref="alGetError" />.  If an error occurs, no
-        ///     sources will be generated.  If <i>number</i> equals zero, <b>alGenSources</b>
-        ///     does nothing and does not return an error.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGenSources(ALsizei n, ALuint* sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGenSources(int number, [Out] int* sources);
-        #endregion alGenSources(int number, [Out] int *sources)
-
-        #region int alGetBoolean(int state)
-        /// <summary>
-        ///     Returns a boolean OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <returns>
-        ///     The boolean value (<see cref="AL_TRUE" /> or <see cref="AL_FALSE" />) described
-        ///     by <i>state</i> will be returned.
-        /// </returns>
-        /// <remarks>
-        ///     There aren\92t any boolean states defined at the time of this writing, so this
-        ///     function will always generate the error <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALboolean ALAPIENTRY alGetBoolean(ALenum param);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGetBoolean(int state);
-        #endregion int alGetBoolean(int state)
-
-        #region alGetBooleanv(int state, out int output)
-        /// <summary>
-        ///     Retrieves a boolean OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any boolean states defined at the time of this writing, so this
-        ///     function will always generate the error <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBooleanv(int state, out int output);
-        #endregion alGetBooleanv(int state, out int output)
-
-        #region alGetBooleanv(int state, [Out] int[] output)
-        /// <summary>
-        ///     Retrieves a boolean OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any boolean states defined at the time of this writing, so this
-        ///     function will always generate the error <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBooleanv(int state, [Out] int[] output);
-        #endregion alGetBooleanv(int state, [Out] int[] output)
-
-        #region alGetBooleanv(int state, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves a boolean OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any boolean states defined at the time of this writing, so this
-        ///     function will always generate the error <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBooleanv(int state, [Out] IntPtr output);
-        #endregion alGetBooleanv(int state, [Out] IntPtr output)
-
-        #region alGetBooleanv(int state, [Out] int *output)
-        /// <summary>
-        ///     Retrieves a boolean OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any boolean states defined at the time of this writing, so this
-        ///     function will always generate the error <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBooleanv(ALenum param, ALboolean* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetBooleanv(int state, [Out] int* output);
-        #endregion alGetBooleanv(int state, [Out] int *output)
-
-        #region alGetBufferf(int buffer, int attribute, out int val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferf(int buffer, int attribute, out int val);
-        #endregion alGetBufferf(int buffer, int attribute, out int val)
-
-        #region alGetBufferf(int buffer, int attribute, [Out] int[] val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferf(int buffer, int attribute, [Out] int[] val);
-        #endregion alGetBufferf(int buffer, int attribute, [Out] int[] val)
-
-        #region alGetBufferf(int buffer, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferf(int buffer, int attribute, [Out] IntPtr val);
-        #endregion alGetBufferf(int buffer, int attribute, [Out] IntPtr val)
-
-        #region alGetBufferf(int buffer, int attribute, [Out] float *val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferf(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetBufferf(int buffer, int attribute, [Out] float* val);
-        #endregion alGetBufferf(int buffer, int attribute, [Out] float *val)
-
-        #region void alGetBuffer3f(int buffer, int attribute, out float value1, out float value2, out float value3)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="value1">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <param name="value2">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <param name="value3">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value1, ALfloat* value2, ALfloat* value3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBuffer3f(int buffer, int attribute, out float value1, out float value2, out float value3);
-        #endregion void alGetBuffer3f(int buffer, int attribute, out float value1, out float value2, out float value3)
-
-        #region alGetBufferfv(int buffer, int attribute, out float val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferfv(int buffer, int attribute, out float val);
-        #endregion alGetBufferfv(int buffer, int attribute, out float val)
-
-        #region alGetBufferfv(int buffer, int attribute, [Out] float[] val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferfv(int buffer, int attribute, [Out] float[] val);
-        #endregion alGetBufferfv(int buffer, int attribute, [Out] float[] val)
-
-        #region alGetBufferfv(int buffer, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferfv(int buffer, int attribute, [Out] IntPtr val);
-        #endregion alGetBufferfv(int buffer, int attribute, [Out] IntPtr val)
-
-        #region alGetBufferfv(int buffer, int attribute, [Out] float *val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an float to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no float attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetBufferfv(int buffer, int attribute, [Out] float* val);
-        #endregion alGetBufferfv(int buffer, int attribute, [Out] float *val)
-
-        #region alGetBufferi(int buffer, int attribute, out int val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferi(int buffer, int attribute, out int val);
-        #endregion alGetBufferi(int buffer, int attribute, out int val)
-
-        #region alGetBufferi(int buffer, int attribute, [Out] int[] val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferi(int buffer, int attribute, [Out] int[] val);
-        #endregion alGetBufferi(int buffer, int attribute, [Out] int[] val)
-
-        #region alGetBufferi(int buffer, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferi(int buffer, int attribute, [Out] IntPtr val);
-        #endregion alGetBufferi(int buffer, int attribute, [Out] IntPtr val)
-
-        #region alGetBufferi(int buffer, int attribute, [Out] int *val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferi(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetBufferi(int buffer, int attribute, [Out] int* val);
-        #endregion alGetBufferi(int buffer, int attribute, [Out] int *val)
-
-        #region void alGetBuffer3i(int buffer, int attribute, out int value1, out int value2, out int value3)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     The name of the attribute to be retrieved.
-        /// </param>
-        /// <param name="value1">
-        ///     A pointer to an int to hold the retrieved data.
-        /// </param>
-        /// <param name="value2">
-        ///     A pointer to an int to hold the retrieved data.
-        /// </param>
-        /// <param name="value3">
-        ///     A pointer to an int to hold the retrieved data.
-        /// </param>
-        /// <remarks>
-        ///     There are no int attributes for buffers at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferfv(ALuint buffer, ALenum param, ALint* value1, ALint* value2, ALint* value3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBuffer3i(int buffer, int attribute, out int value1, out int value2, out int value3);
-        #endregion void alGetBuffer3i(int buffer, int attribute, out int value1, out int value2, out int value3)
-
-        #region alGetBufferiv(int buffer, int attribute, out int val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferiv(int buffer, int attribute, out int val);
-        #endregion alGetBufferiv(int buffer, int attribute, out int val)
-
-        #region alGetBufferiv(int buffer, int attribute, [Out] int[] val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferiv(int buffer, int attribute, [Out] int[] val);
-        #endregion alGetBufferiv(int buffer, int attribute, [Out] int[] val)
-
-        #region alGetBufferiv(int buffer, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetBufferiv(int buffer, int attribute, [Out] IntPtr val);
-        #endregion alGetBufferiv(int buffer, int attribute, [Out] IntPtr val)
-
-        #region alGetBufferiv(int buffer, int attribute, [Out] int *val)
-        /// <summary>
-        ///     Retrieves an integer property of a buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_FREQUENCY" /></item>
-        ///             <item><see cref="AL_BITS" /></item>
-        ///             <item><see cref="AL_CHANNELS" /></item>
-        ///             <item><see cref="AL_SIZE" /></item>
-        ///             <item><see cref="AL_DATA" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to an integer to hold the retrieved data.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetBufferiv(ALuint buffer, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetBufferiv(int buffer, int attribute, [Out] int* val);
-        #endregion alGetBufferiv(int buffer, int attribute, [Out] int *val)
-
-        #region double alGetDouble(int state)
-        /// <summary>
-        ///     Returns a double-precision floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <returns>
-        ///     The double value described by <i>state</i> will be returned.
-        /// </returns>
-        /// <remarks>
-        ///     There aren\92t any double-precision floating-point states defined at the time of
-        ///     this writing, so this function will always generate the error
-        ///     <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALdouble ALAPIENTRY alGetDouble(ALenum param);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern double alGetDouble(int state);
-        #endregion double alGetDouble(int state)
-
-        #region alGetDoublev(int state, out double output)
-        /// <summary>
-        ///     Retrieves a double-precision floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any double-precision floating-point states defined at the time of
-        ///     this writing, so this function will always generate the error
-        ///     <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetDoublev(int state, out double output);
-        #endregion alGetDoublev(int state, out double output)
-
-        #region alGetDoublev(int state, [Out] double[] output)
-        /// <summary>
-        ///     Retrieves a double-precision floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any double-precision floating-point states defined at the time of
-        ///     this writing, so this function will always generate the error
-        ///     <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetDoublev(int state, [Out] double[] output);
-        #endregion alGetDoublev(int state, [Out] double[] output)
-
-        #region alGetDoublev(int state, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves a double-precision floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any double-precision floating-point states defined at the time of
-        ///     this writing, so this function will always generate the error
-        ///     <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetDoublev(int state, [Out] IntPtr output);
-        #endregion alGetDoublev(int state, [Out] IntPtr output)
-
-        #region alGetDoublev(int state, [Out] double *output)
-        /// <summary>
-        ///     Retrieves a double-precision floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     The state to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        /// <remarks>
-        ///     There aren\92t any double-precision floating-point states defined at the time of
-        ///     this writing, so this function will always generate the error
-        ///     <see cref="AL_INVALID_ENUM" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetDoublev(ALenum param, ALdouble* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetDoublev(int state, [Out] double* output);
-        #endregion alGetDoublev(int state, [Out] double *output)
-
-        #region int alGetEnumValue(string enumName)
-        /// <summary>
-        ///     Returns the enumeration value of an OpenAL enum described by a string.
-        /// </summary>
-        /// <param name="enumName">
-        ///     A string describing an OpenAL enum.
-        /// </param>
-        /// <returns>
-        ///     The actual value for the described enum is returned.
-        /// </returns>
-        // ALAPI ALenum ALAPIENTRY alGetEnumValue(ALubyte* ename);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGetEnumValue(string enumName);
-        #endregion int alGetEnumValue(string enumName)
-
-        #region int alGetError()
-        /// <summary>
-        ///     Returns the current error state and then clears the error state.
-        /// </summary>
-        /// <returns>
-        ///     The error state.
-        /// </returns>
-        /// <remarks>
-        ///     When an OpenAL error occurs, the error state is set and will not be changed until
-        ///     the error state is retrieved using <b>alGetError</b>.  Whenever <b>alGetError</b>
-        ///     is called, the error state is cleared and the last state (the current state when
-        ///     the call was made) is returned.  To isolate error detection to a specific portion
-        ///     of code, <b>alGetError</b> should be called before the isolated section to clear
-        ///     the current error state.
-        /// </remarks>
-        // ALAPI ALenum ALAPIENTRY alGetError(ALvoid);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGetError();
-        #endregion int alGetError()
-
-        #region float alGetFloat(int state)
-        /// <summary>
-        ///     Returns a floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DOPPLER_FACTOR" /></item>
-        ///             <item><see cref="AL_DOPPLER_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     The floating-point value described by <i>state</i> will be returned.
-        /// </returns>
-        // ALAPI ALfloat ALAPIENTRY alGetFloat(ALenum param);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern float alGetFloat(int state);
-        #endregion float alGetFloat(int state)
-
-        #region alGetFloatv(int state, out float output)
-        /// <summary>
-        ///     Retrieves a floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DOPPLER_FACTOR" /></item>
-        ///             <item><see cref="AL_DOPPLER_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetFloatv(int state, out float output);
-        #endregion alGetFloatv(int state, out float output)
-
-        #region alGetFloatv(int state, [Out] float[] output)
-        /// <summary>
-        ///     Retrieves a floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DOPPLER_FACTOR" /></item>
-        ///             <item><see cref="AL_DOPPLER_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetFloatv(int state, [Out] float[] output);
-        #endregion alGetFloatv(int state, [Out] float[] output)
-
-        #region alGetFloatv(int state, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves a floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DOPPLER_FACTOR" /></item>
-        ///             <item><see cref="AL_DOPPLER_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetFloatv(int state, [Out] IntPtr output);
-        #endregion alGetFloatv(int state, [Out] IntPtr output)
-
-        #region alGetFloatv(int state, [Out] float *output)
-        /// <summary>
-        ///     Retrieves a floating-point OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DOPPLER_FACTOR" /></item>
-        ///             <item><see cref="AL_DOPPLER_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetFloatv(ALenum param, ALfloat* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetFloatv(int state, [Out] float* output);
-        #endregion alGetFloatv(int state, [Out] float *output)
-
-        #region int alGetInteger(int state)
-        /// <summary>
-        ///     Returns an integer OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DISTANCE_MODEL" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     The integer value described by <i>state</i> will be returned.
-        /// </returns>
-        // ALAPI ALint ALAPIENTRY alGetInteger(ALenum param);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGetInteger(int state);
-        #endregion int alGetInteger(int state)
-
-        #region alGetIntegerv(int state, out int output)
-        /// <summary>
-        ///     Retrieves an integer OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DISTANCE_MODEL" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetIntegerv(int state, out int output);
-        #endregion alGetIntegerv(int state, out int output)
-
-        #region alGetIntegerv(int state, [Out] int[] output)
-        /// <summary>
-        ///     Retrieves an integer OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DISTANCE_MODEL" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetIntegerv(int state, [Out] int[] output);
-        #endregion alGetIntegerv(int state, [Out] int[] output)
-
-        #region alGetIntegerv(int state, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves an integer OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DISTANCE_MODEL" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetIntegerv(int state, [Out] IntPtr output);
-        #endregion alGetIntegerv(int state, [Out] IntPtr output)
-
-        #region alGetIntegerv(int state, [Out] int *output)
-        /// <summary>
-        ///     Retrieves an integer OpenAL state.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The state to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_DISTANCE_MODEL" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the location where the state will be stored.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetIntegerv(ALenum param, ALint* data);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetIntegerv(int state, [Out] int* output);
-        #endregion alGetIntegerv(int state, [Out] int *output)
-
-        #region alGetListener3f(int attribute, out float output1, out float output2, out float output3)
-        /// <summary>
-        ///     Retrieves a set of three floating-point values from a property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output1">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output2">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output3">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListener3f(int attribute, out float output1, out float output2, out float output3);
-        #endregion alGetListener3f(int attribute, out float output1, out float output2, out float output3)
-
-        #region alGetListener3f(int attribute, [Out] float[] output1, [Out] float[] output2, [Out] float[] output3)
-        /// <summary>
-        ///     Retrieves a set of three floating-point values from a property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output1">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output2">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output3">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListener3f(int attribute, [Out] float[] output1, [Out] float[] output2, [Out] float[] output3);
-        #endregion alGetListener3f(int attribute, [Out] float[] output1, [Out] float[] output2, [Out] float[] output3)
-
-        #region alGetListener3f(int attribute, [Out] IntPtr output1, [Out] IntPtr output2, [Out] IntPtr output3)
-        /// <summary>
-        ///     Retrieves a set of three floating-point values from a property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output1">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output2">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output3">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListener3f(int attribute, [Out] IntPtr output1, [Out] IntPtr output2, [Out] IntPtr output3);
-        #endregion alGetListener3f(int attribute, [Out] IntPtr output1, [Out] IntPtr output2, [Out] IntPtr output3)
-
-        #region alGetListener3f(int attribute, [Out] float *output1, [Out] float *output2, [Out] float *output3)
-        /// <summary>
-        ///     Retrieves a set of three floating-point values from a property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output1">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output2">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        /// <param name="output3">
-        ///     Pointer to the the floating-point being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListener3f(ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetListener3f(int attribute, [Out] float* output1, [Out] float* output2, [Out] float* output3);
-        #endregion alGetListener3f(int attribute, [Out] float *output1, [Out] float *output2, [Out] float *output3)
-
-        #region alGetListenerf(int attribute, out float output)
-        /// <summary>
-        ///     Retrieves a floating-point property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListenerf(int attribute, out float output);
-        #endregion alGetListenerf(int attribute, out float output)
-
-        #region alGetListenerf(int attribute, [Out] float[] output)
-        /// <summary>
-        ///     Retrieves a floating-point property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListenerf(int attribute, [Out] float[] output);
-        #endregion alGetListenerf(int attribute, [Out] float[] output)
-
-        #region alGetListenerf(int attribute, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves a floating-point property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListenerf(int attribute, [Out] IntPtr output);
-        #endregion alGetListenerf(int attribute, [Out] IntPtr output)
-
-        #region alGetListenerf(int attribute, [Out] float *output)
-        /// <summary>
-        ///     Retrieves a floating-point property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerf(ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetListenerf(int attribute, [Out] float* output);
-        #endregion alGetListenerf(int attribute, [Out] float *output)
-
-        #region alGetListenerfv(int attribute, out float output)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point vector value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListenerfv(int attribute, out float output);
-        #endregion alGetListenerfv(int attribute, out float output)
-
-        #region alGetListenerfv(int attribute, [Out] float[] output)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point vector value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListenerfv(int attribute, [Out] float[] output);
-        #endregion alGetListenerfv(int attribute, [Out] float[] output)
-
-        #region alGetListenerfv(int attribute, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point vector value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListenerfv(int attribute, [Out] IntPtr output);
-        #endregion alGetListenerfv(int attribute, [Out] IntPtr output)
-
-        #region alGetListenerfv(int attribute, [Out] float *output)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the floating-point vector value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetListenerfv(int attribute, [Out] float* output);
-        #endregion alGetListenerfv(int attribute, [Out] float *output)
-
-        #region alGetListeneri(int attribute, out int output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListeneri(int attribute, out int output);
-        #endregion alGetListeneri(int attribute, out int output)
-
-        #region alGetListeneri(int attribute, [Out] int[] output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListeneri(int attribute, [Out] int[] output);
-        #endregion alGetListeneri(int attribute, [Out] int[] output)
-
-        #region alGetListeneri(int attribute, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListeneri(int attribute, [Out] IntPtr output);
-        #endregion alGetListeneri(int attribute, [Out] IntPtr output)
-
-        #region alGetListeneri(int attribute, [Out] int *output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneri(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetListeneri(int attribute, [Out] int* output);
-        #endregion alGetListeneri(int attribute, [Out] int *output)
-
-        #region alGetListener3i(int attribute, [Out] int *output1, [Out] int *output2, [Out] int *output3)
-        /// <summary>
-        ///     Retrieves a set of three integer values from a property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="output1">
-        ///     Pointer to the integer being retrieved.
-        /// </param>
-        /// <param name="output2">
-        ///     Pointer to the integer being retrieved.
-        /// </param>
-        /// <param name="output3">
-        ///     Pointer to the intger being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetListener3i(ALenum param, ALint* v1, ALfint* v2, ALint* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetListener3i(int attribute, [Out] int* output1, [Out] int* output2, [Out] int* output3);
-        #endregion alGetListener3i(int attribute, [Out] int *output1, [Out] int *output2, [Out] int *output3)
-
-        #region alGetListeneriv(int attribute, out int output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListeneriv(int attribute, out int output);
-        #endregion alGetListeneriv(int attribute, out int output)
-
-        #region alGetListeneriv(int attribute, [Out] int[] output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListeneriv(int attribute, [Out] int[] output);
-        #endregion alGetListeneriv(int attribute, [Out] int[] output)
-
-        #region alGetListeneriv(int attribute, [Out] IntPtr output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetListeneriv(int attribute, [Out] IntPtr output);
-        #endregion alGetListeneriv(int attribute, [Out] IntPtr output)
-
-        #region alGetListeneriv(int attribute, [Out] int *output)
-        /// <summary>
-        ///     Retrieves an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be queried.
-        /// </param>
-        /// <param name="output">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alGetListeneriv(ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetListeneriv(int attribute, [Out] int* output);
-        #endregion alGetListeneriv(int attribute, [Out] int *output)
-
-        #region IntPtr alGetProcAddress(string functionName)
-        /// <summary>
-        ///     Returns the address of an OpenAL extension function.
-        /// </summary>
-        /// <param name="functionName">
-        ///     A string containing the function name.
-        /// </param>
-        /// <returns>
-        ///     A pointer to the desired function is returned.
-        /// </returns>
-        /// <remarks>
-        ///     The return value will be IntPtr.Zero if the function is not found.
-        /// </remarks>
-        // ALAPI ALvoid* ALAPIENTRY alGetProcAddress(ALubyte* fname);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alGetProcAddress(string functionName);
-        #endregion IntPtr alGetProcAddress(string functionName)
-
-        #region alGetSource3f(int source, int attribute, out float value1, out float value2, out float value3)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source,  ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSource3f(int source, int attribute, out float value1, out float value2, out float value3);
-        #endregion alGetSource3f(int source, int attribute, out float value1, out float value2, out float value3)
-
-        #region alGetSource3f(int source, int attribute, [Out] float[] value1, [Out] float[] value2, [Out] float[] value3)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source,  ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSource3f(int source, int attribute, [Out] float[] value1, [Out] float[] value2, [Out] float[] value3);
-        #endregion alGetSource3f(int source, int attribute, [Out] float[] value1, [Out] float[] value2, [Out] float[] value3)
-
-        #region alGetSource3f(int source, int attribute, [Out] IntPtr value1, [Out] IntPtr value2, [Out] IntPtr value3)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source,  ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSource3f(int source, int attribute, [Out] IntPtr value1, [Out] IntPtr value2, [Out] IntPtr value3);
-        #endregion alGetSource3f(int source, int attribute, [Out] IntPtr value1, [Out] IntPtr value2, [Out] IntPtr value3)
-
-        #region alGetSource3f(int source, int attribute, [Out] float *value1, [Out] float *value2, [Out] float *value3)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSource3f(ALuint source,  ALenum param, ALfloat* v1, ALfloat* v2, ALfloat* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetSource3f(int source, int attribute, [Out] float* value1, [Out] float* value2, [Out] float* value3);
-        #endregion alGetSource3f(int source, int attribute, [Out] float *value1, [Out] float *value2, [Out] float *value3)
-
-        #region alGetSourcef(int source, int attribute, out float val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_PITCH" /></item>
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///             <item><see cref="AL_MIN_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_DISTANCE" /></item>
-        ///             <item><see cref="AL_ROLLOFF_FACTOR" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_GAIN" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_REFERENCE_DISTANCE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcef(int source, int attribute, out float val);
-        #endregion alGetSourcef(int source, int attribute, out float val)
-
-        #region alGetSourcef(int source, int attribute, [Out] float[] val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_PITCH" /></item>
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///             <item><see cref="AL_MIN_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_DISTANCE" /></item>
-        ///             <item><see cref="AL_ROLLOFF_FACTOR" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_GAIN" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_REFERENCE_DISTANCE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcef(int source, int attribute, [Out] float[] val);
-        #endregion alGetSourcef(int source, int attribute, [Out] float[] val)
-
-        #region alGetSourcef(int source, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_PITCH" /></item>
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///             <item><see cref="AL_MIN_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_DISTANCE" /></item>
-        ///             <item><see cref="AL_ROLLOFF_FACTOR" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_GAIN" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_REFERENCE_DISTANCE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcef(int source, int attribute, [Out] IntPtr val);
-        #endregion alGetSourcef(int source, int attribute, [Out] IntPtr val)
-
-        #region alGetSourcef(int source, int attribute, [Out] float *val)
-        /// <summary>
-        ///     Retrieves a floating-point property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_PITCH" /></item>
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///             <item><see cref="AL_MIN_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_DISTANCE" /></item>
-        ///             <item><see cref="AL_ROLLOFF_FACTOR" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_GAIN" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_REFERENCE_DISTANCE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the floating-point value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcef(ALuint source, ALenum param, ALfloat* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetSourcef(int source, int attribute, [Out] float* val);
-        #endregion alGetSourcef(int source, int attribute, [Out] float *val)
-
-        #region alGetSourcefv(int source, int attribute, out float val)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the vector to retrieve.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcefv(int source, int attribute, out float val);
-        #endregion alGetSourcefv(int source, int attribute, out float val)
-
-        #region alGetSourcefv(int source, int attribute, [Out] float[] values)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to retrieve.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcefv(int source, int attribute, [Out] float[] values);
-        #endregion alGetSourcefv(int source, int attribute, [Out] float[] values)
-
-        #region alGetSourcefv(int source, int attribute, [Out] IntPtr values)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to retrieve.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcefv(int source, int attribute, [Out] IntPtr values);
-        #endregion alGetSourcefv(int source, int attribute, [Out] IntPtr values)
-
-        #region alGetSourcefv(int source, int attribute, [Out] float *values)
-        /// <summary>
-        ///     Retrieves a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to retrieve.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetSourcefv(int source, int attribute, [Out] float* values);
-        #endregion alGetSourcefv(int source, int attribute, [Out] float *values)
-
-        #region alGetSourcei(int source, int attribute, out int val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_LOOPING" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcei(int source, int attribute, out int val);
-        #endregion alGetSourcei(int source, int attribute, out int val)
-
-        #region alGetSourcei(int source, int attribute, [Out] int[] val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcei(int source, int attribute, [Out] int[] val);
-        #endregion alGetSourcei(int source, int attribute, [Out] int[] val)
-
-        #region alGetSourcei(int source, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourcei(int source, int attribute, [Out] IntPtr val);
-        #endregion alGetSourcei(int source, int attribute, [Out] IntPtr val)
-
-        #region alGetSourcei(int source, int attribute, [Out] int *val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourcei(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetSourcei(int source, int attribute, [Out] int* val);
-        #endregion alGetSourcei(int source, int attribute, [Out] int *val)
-
-        #region alGetSource3i(int source, int attribute, out int value1, out int value2, out int value3)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The int values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The int values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The int values which the attribute will be set to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSource3i(ALuint source,  ALenum param, ALin* v1, ALint* v2, ALint* v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSource3i(int source, int attribute, out int value1, out int value2, out int value3);
-        #endregion alGetSource3i(int source, int attribute, out int value1, out int value2, out int value3)
-
-        #region alGetSourceiv(int source, int attribute, out int val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_LOOPING" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourceiv(int source, int attribute, out int val);
-        #endregion alGetSourceiv(int source, int attribute, out int val)
-
-        #region alGetSourceiv(int source, int attribute, [Out] int[] val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourceiv(int source, int attribute, [Out] int[] val);
-        #endregion alGetSourceiv(int source, int attribute, [Out] int[] val)
-
-        #region alGetSourceiv(int source, int attribute, [Out] IntPtr val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alGetSourceiv(int source, int attribute, [Out] IntPtr val);
-        #endregion alGetSourceiv(int source, int attribute, [Out] IntPtr val)
-
-        #region alGetSourceiv(int source, int attribute, [Out] int *val)
-        /// <summary>
-        ///     Retrieves an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being retrieved.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to retrieve:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///             <item><see cref="AL_BUFFERS_QUEUED" /></item>
-        ///             <item><see cref="AL_BUFFERS_PROCESSED" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     A pointer to the integer value being retrieved.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alGetSourceiv(ALuint source, ALenum param, ALint* value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alGetSourceiv(int source, int attribute, [Out] int* val);
-        #endregion alGetSourceiv(int source, int attribute, [Out] int *val)
-
-        #region string alGetString(int state)
-        /// <summary>
-        ///     Retrieves an OpenAL string property.
-        /// </summary>
-        /// <param name="state">
-        ///     <para>
-        ///         The property to be queried:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_VENDOR" /></item>
-        ///             <item><see cref="AL_VERSION" /></item>
-        ///             <item><see cref="AL_RENDERER" /></item>
-        ///             <item><see cref="AL_EXTENSIONS" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     A pointer to a null-terminated string.
-        /// </returns>
-        // ALAPI ALubyte* ALAPIENTRY alGetString(ALenum param);
-        public static string alGetString(int state)
-        {
-            return Marshal.PtrToStringAnsi(_alGetString(state));
-        }
-
-        [DllImport(AL_NATIVE_LIBRARY, EntryPoint = "alGetString", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        private static extern IntPtr _alGetString(int state);
-        #endregion string alGetString(int state)
-
-        #region alHint(int target, int mode)
-        /// <summary>
-        ///     Sets application preferences for driver performance choices.
-        /// </summary>
-        /// <param name="target">
-        ///     Unknown.
-        /// </param>
-        /// <param name="mode">
-        ///     Unknown.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alHint(ALenum target, ALenum mode);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alHint(int target, int mode);
-        #endregion alHint(int target, int mode)
-
-        #region int alIsBuffer(int buffer)
-        /// <summary>
-        ///     Tests if a buffer name is valid.
-        /// </summary>
-        /// <param name="buffer">
-        ///     A buffer name to be tested for validity.
-        /// </param>
-        /// <returns>
-        ///     bool value <see cref="AL_TRUE" /> if the buffer name is valid or
-        ///     <see cref="AL_FALSE" /> if the buffer name is not valid.
-        /// </returns>
-        // ALAPI ALboolean ALAPIENTRY alIsBuffer(ALuint buffer);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alIsBuffer(int buffer);
-        #endregion int alIsBuffer(int buffer)
-
-        #region int alIsEnabled(int capability)
-        /// <summary>
-        ///     Returns a value indicating if a specific feature is enabled in the OpenAL driver.
-        /// </summary>
-        /// <param name="capability">
-        ///     The capability to query.
-        /// </param>
-        /// <returns>
-        ///     <see cref="AL_TRUE" /> if the capability is enabled, <see cref="AL_FALSE" /> if
-        ///     the capability is disabled.
-        /// </returns>
-        /// <remarks>
-        ///     At the time of this writing, this function always returns <see cref="AL_FALSE" />,
-        ///     and since there are no capabilities defined yet, the error
-        ///     <see cref="AL_INVALID_ENUM" /> will also be set.
-        /// </remarks>
-        // ALAPI ALboolean ALAPIENTRY alIsEnabled(ALenum capability);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alIsEnabled(int capability);
-        #endregion int alIsEnabled(int capability)
-
-        #region int alIsExtensionPresent(string extensionName)
-        /// <summary>
-        ///     Tests if a specific extension is available for the OpenAL driver.
-        /// </summary>
-        /// <param name="extensionName">
-        ///     A string describing the desired extension.
-        /// </param>
-        /// <returns>
-        ///     <see cref="AL_TRUE" /> if the extension is available, <see cref="AL_FALSE" /> if
-        ///     the extension is not available.
-        /// </returns>
-        // ALAPI ALboolean ALAPIENTRY alIsExtensionPresent(ALubyte* fname);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alIsExtensionPresent(string extensionName);
-        #endregion int alIsExtensionPresent(String extensionName)
-
-        #region int alIsSource(int id)
-        /// <summary>
-        ///     Tests if a source name is valid.
-        /// </summary>
-        /// <param name="id">
-        ///     A source name to be tested for validity.
-        /// </param>
-        /// <returns>
-        ///     bool value <see cref="AL_TRUE" /> if the source name is valid or
-        ///     <see cref="AL_FALSE" /> if the source name is not valid.
-        /// </returns>
-        // ALAPI ALboolean ALAPIENTRY alIsSource(ALuint id);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alIsSource(int id);
-        #endregion int alIsSource(int id)
-
-        #region alListener3f(int attribute, float value1, float value2, float value3)
-        /// <summary>
-        ///     Sets a floating-point property for the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The value to set the attribute to.
-        /// </param>
-        /// <param name="value2">
-        ///     The value to set the attribute to.
-        /// </param>
-        /// <param name="value3">
-        ///     The value to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListener3f(ALenum param, ALfloat v1, ALfloat v2, ALfloat v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListener3f(int attribute, float value1, float value2, float value3);
-        #endregion alListener3f(int attribute, float value1, float value2, float value3)
-
-        #region alListenerf(int attribute, float val)
-        /// <summary>
-        ///     Sets a floating-point property for the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be set.
-        /// </param>
-        /// <param name="val">
-        ///     The float value to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListenerf(ALenum param, ALfloat value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListenerf(int attribute, float val);
-        #endregion alListenerf(int attribute, float val)
-
-        #region alListenerfv(int attribute, [In] ref float values)
-        /// <summary>
-        ///     Sets a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     Pointer to floating-point vector values.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListenerfv(int attribute, [In] ref float values);
-        #endregion alListenerfv(int attribute, [In] ref float values)
-
-        #region alListenerfv(int attribute, [In] float[] values)
-        /// <summary>
-        ///     Sets a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     Pointer to floating-point vector values.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListenerfv(int attribute, [In] float[] values);
-        #endregion alListenerfv(int attribute, [In] float[] values)
-
-        #region alListenerfv(int attribute, [In] IntPtr values)
-        /// <summary>
-        ///     Sets a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     Pointer to floating-point vector values.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListenerfv(int attribute, [In] IntPtr values);
-        #endregion alListenerfv(int attribute, [In] IntPtr values)
-
-        #region alListenerfv(int attribute, [In] float *values)
-        /// <summary>
-        ///     Sets a floating-point vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     Pointer to floating-point vector values.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListenerfv(ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alListenerfv(int attribute, [In] float* values);
-        #endregion alListenerfv(int attribute, [In] float *values)
-
-        #region alListeneri(int attribute, int val)
-        /// <summary>
-        ///     Sets an integer property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     The name of the attribute to be set.
-        /// </param>
-        /// <param name="val">
-        ///     The integer value to set the attribute to.
-        /// </param>
-        /// <remarks>
-        ///     There are no integer listener attributes at this time.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alListeneri(ALenum param, ALint value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListeneri(int attribute, int val);
-        #endregion alListeneri(int attribute, int val)
-
-        #region alListener3i(int attribute, int value1, int value2, int value3)
-        /// <summary>
-        ///     Sets an integer property for the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The value to set the attribute to.
-        /// </param>
-        /// <param name="value2">
-        ///     The value to set the attribute to.
-        /// </param>
-        /// <param name="value3">
-        ///     The value to set the attribute to.
-        /// </param>
-        // AL_API void AL_APIENTRY alListener3i( ALenum param, ALint value1, ALint value2, ALint value3 )
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListener3i(int attribute, int value1, int value2, int value3);
-        #endregion alListener3i(int attribute, int value1, int value2, int value3)
-
-        #region alListeneriv(int attribute, [In] ref int values)
-        /// <summary>
-        ///     Sets a integer-vector property of the listener.
-        /// </summary>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to be set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_ORIENTATION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     Pointer to integer-vector values.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alListeneriv(ALenum param, ALint* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alListeneriv(int attribute, [In] ref int values);
-        #endregion alListeneriv(int attribute, [In] ref int values)
-
-        #region alQueuei(int source, int attribute, int val)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="source">
-        ///     Unknown.
-        /// </param>
-        /// <param name="attribute">
-        ///     Unknown.
-        /// </param>
-        /// <param name="val">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alQueuei(ALuint sid, ALenum param, ALint value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alQueuei(int source, int attribute, int val);
-        #endregion alQueuei(int source, int attribute, int val)
-
-        #region alSource3f(int source, int attribute, float value1, float value2, float value3)
-        /// <summary>
-        ///     Sets a source property requiring three floating-point values.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The float values which the attribute will be set to.
-        /// </param>
-        /// <remarks>
-        ///     This function is an alternative to <see cref="alSourcefv(int, int, System.IntPtr)" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSource3f(ALuint source, ALenum param, ALfloat v1, ALfloat v2, ALfloat v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSource3f(int source, int attribute, float value1, float value2, float value3);
-        #endregion alSource3f(int source, int attribute, float value1, float value2, float value3)
-
-        #region alSourcef(int source, int attribute, float val)
-        /// <summary>
-        ///     Sets a floating-point property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_PITCH" /></item>
-        ///             <item><see cref="AL_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_DISTANCE" /></item>
-        ///             <item><see cref="AL_ROLLOFF_FACTOR" /></item>
-        ///             <item><see cref="AL_REFERENCE_DISTANCE" /></item>
-        ///             <item><see cref="AL_MIN_GAIN" /></item>
-        ///             <item><see cref="AL_MAX_GAIN" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_GAIN" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     The value to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourcef(ALuint source, ALenum param, ALfloat value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcef(int source, int attribute, float val);
-        #endregion alSourcef(int source, int attribute, float val)
-
-        #region alSourcefv(int source, int attribute, [In] ref float values)
-        /// <summary>
-        ///     Sets a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcefv(int source, int attribute, [In] ref float values);
-        #endregion alSourcefv(int source, int attribute, float[] values)
-
-        #region alSourcefv(int source, int attribute, [In] float[] values)
-        /// <summary>
-        ///     Sets a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcefv(int source, int attribute, [In] float[] values);
-        #endregion alSourcefv(int source, int attribute, [In] float[] values)
-
-        #region alSourcefv(int source, int attribute, [In] IntPtr values)
-        /// <summary>
-        ///     Sets a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcefv(int source, int attribute, [In] IntPtr values);
-        #endregion alSourcefv(int source, int attribute, [In] IntPtr values)
-
-        #region alSourcefv(int source, int attribute, [In] float *values)
-        /// <summary>
-        ///     Sets a floating-point vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourcefv(ALuint source, ALenum param, ALfloat* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourcefv(int source, int attribute, [In] float* values);
-        #endregion alSourcefv(int source, int attribute, [In] float *values)
-
-        #region alSourcei(int source, int attribute, int val)
-        /// <summary>
-        ///     Sets an integer property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_SOURCE_RELATIVE" /></item>
-        ///             <item><see cref="AL_CONE_INNER_ANGLE" /></item>
-        ///             <item><see cref="AL_CONE_OUTER_ANGLE" /></item>
-        ///             <item><see cref="AL_LOOPING" /></item>
-        ///             <item><see cref="AL_BUFFER" /></item>
-        ///             <item><see cref="AL_SOURCE_STATE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="val">
-        ///     The value to set the attribute to.
-        /// </param>
-        /// <remarks>
-        ///     The buffer name zero is reserved as a \93Null Buffer" and is accepted by
-        ///     <b>alSourcei(\85, Al.AL_BUFFER, \85)</b> as a valid buffer of zero length.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcei(ALuint source, ALenum param, ALint value);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcei(int source, int attribute, int val);
-        #endregion alSourcei(int source, int attribute, int val)
-
-        #region alSourceiv(int source, int attribute, [In] int *values)
-        /// <summary>
-        ///     Sets a integer-vector property of a source.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute being set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="values">
-        ///     A pointer to the vector to set the attribute to.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceiv(ALuint source, ALenum param, ALint* values);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourceiv(int source, int attribute, [In] int* values);
-        #endregion alSourceiv(int source, int attribute, [In] int *values)
-
-        #region alSource3i(int source, int attribute, int value1, int value2, int value3)
-        /// <summary>
-        ///     Sets a source property requiring three integer values.
-        /// </summary>
-        /// <param name="source">
-        ///     Source name whose attribute is being set.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         The name of the attribute to set:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_POSITION" /></item>
-        ///             <item><see cref="AL_VELOCITY" /></item>
-        ///             <item><see cref="AL_DIRECTION" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="value1">
-        ///     The int values which the attribute will be set to.
-        /// </param>
-        /// <param name="value2">
-        ///     The int values which the attribute will be set to.
-        /// </param>
-        /// <param name="value3">
-        ///     The int values which the attribute will be set to.
-        /// </param>
-        /// <remarks>
-        ///     This function is an alternative to <see cref="alSourceiv" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSource3i(ALuint source, ALenum param, ALint v1, ALint v2, ALint v3);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSource3i(int source, int attribute, int value1, int value2, int value3);
-        #endregion void alSource3i(int source, int attribute, int value1, int value2, int value3)
-
-        #region alSourcePause(int source)
-        /// <summary>
-        ///     Pauses a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to be paused.
-        /// </param>
-        /// <remarks>
-        ///     The paused source will have its state changed to <see cref="AL_PAUSED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePause(ALuint source);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePause(int source);
-        #endregion alSourcePause(int source)
-
-        #region alSourcePausev(int number, [In] ref int source)
-        /// <summary>
-        ///     Pauses a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be paused.
-        /// </param>
-        /// <param name="source">
-        ///     A pointer to an array of sources to be paused.
-        /// </param>
-        /// <remarks>
-        ///     The paused sources will have their state changed to <see cref="AL_PAUSED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePausev(int number, [In] ref int source);
-        #endregion alSourcePausev(int number, [In] ref int source)
-
-        #region alSourcePausev(int number, [In] int[] sources)
-        /// <summary>
-        ///     Pauses a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be paused.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be paused.
-        /// </param>
-        /// <remarks>
-        ///     The paused sources will have their state changed to <see cref="AL_PAUSED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePausev(int number, [In] int[] sources);
-        #endregion alSourcePausev(int number, [In] int[] sources)
-
-        #region alSourcePausev(int number, [In] IntPtr sources)
-        /// <summary>
-        ///     Pauses a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be paused.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be paused.
-        /// </param>
-        /// <remarks>
-        ///     The paused sources will have their state changed to <see cref="AL_PAUSED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePausev(int number, [In] IntPtr sources);
-        #endregion alSourcePausev(int number, [In] IntPtr sources)
-
-        #region alSourcePausev(int number, [In] int *sources)
-        /// <summary>
-        ///     Pauses a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be paused.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be paused.
-        /// </param>
-        /// <remarks>
-        ///     The paused sources will have their state changed to <see cref="AL_PAUSED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePausev(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourcePausev(int number, [In] int* sources);
-        #endregion alSourcePausev(int number, [In] int *sources)
-
-        #region alSourcePlay(int source)
-        /// <summary>
-        ///     Plays a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to be played.
-        /// </param>
-        /// <remarks>
-        ///     The playing source will have its state changed to <see cref="AL_PLAYING" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePlay(ALuint source);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePlay(int source);
-        #endregion alSourcePlay(int source)
-
-        #region alSourcePlayv(int number, [In] ref int source)
-        /// <summary>
-        ///     Plays a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be played.
-        /// </param>
-        /// <param name="source">
-        ///     A pointer to an array of sources to be played.
-        /// </param>
-        /// <remarks>
-        ///     The playing sources will have their state changed to <see cref="AL_PLAYING" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePlayv(int number, [In] ref int source);
-        #endregion alSourcePlayv(int number, [In] ref int source)
-
-        #region alSourcePlayv(int number, [In] int[] sources)
-        /// <summary>
-        ///     Plays a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be played.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be played.
-        /// </param>
-        /// <remarks>
-        ///     The playing sources will have their state changed to <see cref="AL_PLAYING" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePlayv(int number, [In] int[] sources);
-        #endregion alSourcePlayv(int number, [In] int[] sources)
-
-        #region alSourcePlayv(int number, [In] IntPtr sources)
-        /// <summary>
-        ///     Plays a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be played.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be played.
-        /// </param>
-        /// <remarks>
-        ///     The playing sources will have their state changed to <see cref="AL_PLAYING" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourcePlayv(int number, [In] IntPtr sources);
-        #endregion alSourcePlayv(int number, [In] IntPtr sources)
-
-        #region alSourcePlayv(int number, [In] int *sources)
-        /// <summary>
-        ///     Plays a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be played.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be played.
-        /// </param>
-        /// <remarks>
-        ///     The playing sources will have their state changed to <see cref="AL_PLAYING" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourcePlayv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourcePlayv(int number, [In] int* sources);
-        #endregion alSourcePlayv(int number, [In] int *sources)
-
-        #region alSourceQueueBuffers(int source, int number, [In] ref int buffer)
-        /// <summary>
-        ///     Queues a set of buffers on a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to queue buffers onto.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be queued.
-        /// </param>
-        /// <param name="buffer">
-        ///     A pointer to an array of buffer names to be queued.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceQueueBuffers(int source, int number, [In] ref int buffer);
-        #endregion alSourceQueueBuffers(int source, int number, [In] ref int buffer)
-
-        #region alSourceQueueBuffers(int source, int number, [In] int[] buffers)
-        /// <summary>
-        ///     Queues a set of buffers on a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to queue buffers onto.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be queued.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffer names to be queued.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceQueueBuffers(int source, int number, [In] int[] buffers);
-        #endregion alSourceQueueBuffers(int source, int number, [In] int[] buffers)
-
-        #region alSourceQueueBuffers(int source, int number, [In] IntPtr buffers)
-        /// <summary>
-        ///     Queues a set of buffers on a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to queue buffers onto.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be queued.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffer names to be queued.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceQueueBuffers(int source, int number, [In] IntPtr buffers);
-        #endregion alSourceQueueBuffers(int source, int number, [In] IntPtr buffers)
-
-        #region alSourceQueueBuffers(int source, int number, [In] int *buffers)
-        /// <summary>
-        ///     Queues a set of buffers on a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to queue buffers onto.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be queued.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffer names to be queued.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceQueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourceQueueBuffers(int source, int number, [In] int* buffers);
-        #endregion alSourceQueueBuffers(int source, int number, [In] int *buffers)
-
-        #region alSourceRewind(int source)
-        /// <summary>
-        ///     Stops the source and sets its state to <see cref="AL_INITIAL" />.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to be rewound.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceRewind(ALuint source);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceRewind(int source);
-        #endregion alSourceRewind(int source)
-
-        #region alSourceRewindv(int number, [In] ref int source)
-        /// <summary>
-        ///     Stops a set of sources and sets all their states to <see cref="AL_INITIAL" />.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be rewound.
-        /// </param>
-        /// <param name="source">
-        ///     A pointer to an array of sources to be rewound.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceRewindv(int number, [In] ref int source);
-        #endregion alSourceRewindv(int number, [In] ref int source)
-
-        #region alSourceRewindv(int number, [In] int[] sources)
-        /// <summary>
-        ///     Stops a set of sources and sets all their states to <see cref="AL_INITIAL" />.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be rewound.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be rewound.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceRewindv(int number, [In] int[] sources);
-        #endregion alSourceRewindv(int number, [In] int[] sources)
-
-        #region alSourceRewindv(int number, [In] IntPtr sources)
-        /// <summary>
-        ///     Stops a set of sources and sets all their states to <see cref="AL_INITIAL" />.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be rewound.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be rewound.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceRewindv(int number, [In] IntPtr sources);
-        #endregion alSourceRewindv(int number, [In] IntPtr sources)
-
-        #region alSourceRewindv(int number, [In] int *sources)
-        /// <summary>
-        ///     Stops a set of sources and sets all their states to <see cref="AL_INITIAL" />.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to be rewound.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be rewound.
-        /// </param>
-        // ALAPI ALvoid ALAPIENTRY alSourceRewindv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourceRewindv(int number, [In] int* sources);
-        #endregion alSourceRewindv(int number, [In] int *sources)
-
-        #region alSourceStop(int source)
-        /// <summary>
-        ///     Stops a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to be stopped.
-        /// </param>
-        /// <remarks>
-        ///     The stopped source will have its state changed to <see cref="AL_STOPPED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceStop(ALuint source);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceStop(int source);
-        #endregion alSourceStop(int source)
-
-        #region alSourceStopv(int number, [In] ref int source)
-        /// <summary>
-        ///     Stops a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to stop.
-        /// </param>
-        /// <param name="source">
-        ///     A pointer to an array of sources to be stopped.
-        /// </param>
-        /// <remarks>
-        ///     The stopped sources will have their state changed to <see cref="AL_STOPPED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceStopv(int number, [In] ref int source);
-        #endregion alSourceStopv(int number, [In] ref int source)
-
-        #region alSourceStopv(int number, [In] int[] sources)
-        /// <summary>
-        ///     Stops a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to stop.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be stopped.
-        /// </param>
-        /// <remarks>
-        ///     The stopped sources will have their state changed to <see cref="AL_STOPPED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceStopv(int number, [In] int[] sources);
-        #endregion alSourceStopv(int number, [In] int[] sources)
-
-        #region alSourceStopv(int number, [In] IntPtr sources)
-        /// <summary>
-        ///     Stops a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to stop.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be stopped.
-        /// </param>
-        /// <remarks>
-        ///     The stopped sources will have their state changed to <see cref="AL_STOPPED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceStopv(int number, [In] IntPtr sources);
-        #endregion alSourceStopv(int number, [In] IntPtr sources)
-
-        #region alSourceStopv(int number, [In] int *sources)
-        /// <summary>
-        ///     Stops a set of sources.
-        /// </summary>
-        /// <param name="number">
-        ///     The number of sources to stop.
-        /// </param>
-        /// <param name="sources">
-        ///     A pointer to an array of sources to be stopped.
-        /// </param>
-        /// <remarks>
-        ///     The stopped sources will have their state changed to <see cref="AL_STOPPED" />.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceStopv(ALsizei n, ALuint *sources);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourceStopv(int number, [In] int* sources);
-        #endregion alSourceStopv(int number, [In] int *sources)
-
-        #region alSourceUnqueueBuffers(int source, int number, [In] ref int buffer)
-        /// <summary>
-        ///     Unqueues a set of buffers attached to a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to unqueue buffers from.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be unqueued.
-        /// </param>
-        /// <param name="buffer">
-        ///     A pointer to an array of buffer names that were removed.
-        /// </param>
-        /// <remarks>
-        ///     The unqueue operation will only take place if all <i>number</i> buffers can be
-        ///     removed from the queue.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceUnqueueBuffers(int source, int number, [In] ref int buffer);
-        #endregion alSourceUnqueueBuffers(int source, int number, [In] ref int buffer)
-
-        #region alSourceUnqueueBuffers(int source, int number, [In] int[] buffers)
-        /// <summary>
-        ///     Unqueues a set of buffers attached to a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to unqueue buffers from.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be unqueued.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffer names that were removed.
-        /// </param>
-        /// <remarks>
-        ///     The unqueue operation will only take place if all <i>number</i> buffers can be
-        ///     removed from the queue.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceUnqueueBuffers(int source, int number, [In] int[] buffers);
-        #endregion alSourceUnqueueBuffers(int source, int number, [In] int[] buffers)
-
-        #region alSourceUnqueueBuffers(int source, int number, [In] IntPtr buffers)
-        /// <summary>
-        ///     Unqueues a set of buffers attached to a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to unqueue buffers from.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be unqueued.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffer names that were removed.
-        /// </param>
-        /// <remarks>
-        ///     The unqueue operation will only take place if all <i>number</i> buffers can be
-        ///     removed from the queue.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alSourceUnqueueBuffers(int source, int number, [In] IntPtr buffers);
-        #endregion alSourceUnqueueBuffers(int source, int number, [In] IntPtr buffers)
-
-        #region alSourceUnqueueBuffers(int source, int number, [In] int *buffers)
-        /// <summary>
-        ///     Unqueues a set of buffers attached to a source.
-        /// </summary>
-        /// <param name="source">
-        ///     The name of the source to unqueue buffers from.
-        /// </param>
-        /// <param name="number">
-        ///     The number of buffers to be unqueued.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffer names that were removed.
-        /// </param>
-        /// <remarks>
-        ///     The unqueue operation will only take place if all <i>number</i> buffers can be
-        ///     removed from the queue.
-        /// </remarks>
-        // ALAPI ALvoid ALAPIENTRY alSourceUnqueueBuffers(ALuint source, ALsizei n, ALuint* buffers);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alSourceUnqueueBuffers(int source, int number, [In] int* buffers);
-        #endregion alSourceUnqueueBuffers(int source, int number, [In] int *buffers)
-        #endregion Public OpenAL 1.1 Methods
-
-        #region Public IASIG Methods
-        #region int alGenEnvironmentIASIG(int number, out int environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        /// <returns>
-        ///     Unknown.
-        /// </returns>
-        // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGenEnvironmentIASIG(int number, out int environments);
-        #endregion int alGenEnvironmentIASIG(int number, out int environments)
-
-        #region int alGenEnvironmentIASIG(int number, [Out] int[] environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        /// <returns>
-        ///     Unknown.
-        /// </returns>
-        // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGenEnvironmentIASIG(int number, [Out] int[] environments);
-        #endregion int alGenEnvironmentIASIG(int number, [Out] int[] environments)
-
-        #region int alGenEnvironmentIASIG(int number, [Out] IntPtr environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        /// <returns>
-        ///     Unknown.
-        /// </returns>
-        // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alGenEnvironmentIASIG(int number, [Out] IntPtr environments);
-        #endregion int alGenEnvironmentIASIG(int number, [Out] IntPtr environments)
-
-        #region int alGenEnvironmentIASIG(int number, [Out] int *environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        /// <returns>
-        ///     Unknown.
-        /// </returns>
-        // ALAPI ALsizei ALAPIENTRY alGenEnvironmentIASIG(ALsizei n, ALuint* environs);
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int alGenEnvironmentIASIG(int number, [Out] int* environments);
-        #endregion int alGenEnvironmentIASIG(int number, [Out] int *environments)
-
-        #region alDeleteEnvironmentIASIG(int number, [In] ref int environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteEnvironmentIASIG(int number, [In] ref int environments);
-        #endregion alDeleteEnvironmentIASIG(int number, [In] ref int environments)
-
-        #region alDeleteEnvironmentIASIG(int number, [In] int[] environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteEnvironmentIASIG(int number, [In] int[] environments);
-        #endregion alDeleteEnvironmentIASIG(int number, [In] int[] environments)
-
-        #region alDeleteEnvironmentIASIG(int number, [In] IntPtr environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alDeleteEnvironmentIASIG(int number, [In] IntPtr environments);
-        #endregion alDeleteEnvironmentIASIG(int number, [In] IntPtr environments)
-
-        #region alDeleteEnvironmentIASIG(int number, [In] int *environments)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="number">
-        ///     Unknown.
-        /// </param>
-        /// <param name="environments">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alDeleteEnvironmentIASIG( ALsizei n, ALuint* environs );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alDeleteEnvironmentIASIG(int number, [In] int* environments);
-        #endregion alDeleteEnvironmentIASIG(int number, [In] int *environments)
-
-        #region int alIsEnvironmentIASIG(int environment)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="environment">
-        ///     Unknown.
-        /// </param>
-        /// <returns>
-        ///     Unknown.
-        /// </returns>
-        // ALAPI ALboolean ALAPIENTRY alIsEnvironmentIASIG( ALuint environ );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alIsEnvironmentIASIG(int environment);
-        #endregion int alIsEnvironmentIASIG(int environment)
-
-        #region alEnvironmentiIASIG(int environmentId, int attribute, int val)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="environmentId">
-        ///     Unknown.
-        /// </param>
-        /// <param name="attribute">
-        ///     Unknown.
-        /// </param>
-        /// <param name="val">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alEnvironmentiIASIG( ALuint eid, ALenum param, ALint value );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alEnvironmentiIASIG(int environmentId, int attribute, int val);
-        #endregion alEnvironmentiIASIG(int environmentId, int attribute, int val)
-
-        #region alEnvironmentfIASIG(int environmentId, int attribute, int val)
-        /// <summary>
-        ///     Unknown.
-        /// </summary>
-        /// <param name="environmentId">
-        ///     Unknown.
-        /// </param>
-        /// <param name="attribute">
-        ///     Unknown.
-        /// </param>
-        /// <param name="val">
-        ///     Unknown.
-        /// </param>
-        // ALAPI void ALAPIENTRY alEnvironmentfIASIG( ALuint eid, ALenum param, ALuint value );
-        [DllImport(AL_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alEnvironmentfIASIG(int environmentId, int attribute, int val);
-        #endregion alEnvironmentfIASIG(int environmentId, int attribute, int val)
-        #endregion Public IASIG Methods
-
-        #region Public OpenAL Extension Methods
-        #region X-RAM Methods
-        #region EAXSetBufferMode
-        /// <summary>
-        ///     Sets the X-RAM mode for the specified buffers.
-        /// </summary>
-        /// <param name="n">
-        ///     The number of buffers to set.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffers to set.
-        /// </param>
-        /// <param name="mode">
-        ///     <para>
-        ///         The X-RAM buffer mode for the specified buffers.
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_STORAGE_AUTOMATIC" /></item>
-        ///             <item><see cref="AL_STORAGE_HARDWARE" /></item>
-        ///             <item><see cref="AL_STORAGE_ACCESSIBLE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        [CLSCompliant(false)]
-        public unsafe static void EAXSetBufferMode(int n, int* buffers, int mode)
-        {
-            Delegates.EAXSetBufferMode(n, buffers, mode);
-        }
-
-        /// <summary>
-        ///     Sets the X-RAM mode for the specified buffers.
-        /// </summary>
-        /// <param name="n">
-        ///     The number of buffers to set.
-        /// </param>
-        /// <param name="buffers">
-        ///     An array of buffers to set, with minimum n elements.
-        /// </param>
-        /// <param name="mode">
-        ///     <para>
-        ///         The X-RAM buffer mode for the specified buffers.
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_STORAGE_AUTOMATIC" /></item>
-        ///             <item><see cref="AL_STORAGE_HARDWARE" /></item>
-        ///             <item><see cref="AL_STORAGE_ACCESSIBLE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        public static void EAXSetBufferMode(int n, int[] buffers, int mode)
-        {
-            unsafe
-            {
-                fixed (int* ptr = buffers)
-                {
-                    Delegates.EAXSetBufferMode(n, ptr, mode);
-                }
-            }
-        }
-        /// <summary>
-        ///     Sets the X-RAM mode for the specified buffers.
-        /// </summary>
-        /// <param name="n">
-        ///     The number of buffers to set.
-        /// </param>
-        /// <param name="buffers">
-        ///     A pointer to an array of buffers to set.
-        /// </param>
-        /// <param name="mode">
-        ///     <para>
-        ///         The X-RAM buffer mode for the specified buffers.
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_STORAGE_AUTOMATIC" /></item>
-        ///             <item><see cref="AL_STORAGE_HARDWARE" /></item>
-        ///             <item><see cref="AL_STORAGE_ACCESSIBLE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        public static void EAXSetBufferMode(int n, ref int buffers, int mode)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &buffers)
-                {
-                    Delegates.EAXSetBufferMode(n, ptr, mode);
-                }
-            }
-        }
-        #endregion EAXSetBufferMode
-
-        #region EAXGetBufferMode
-        /// <summary>
-        ///     Gets the X-RAM mode for the specified buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer to retreive the property for.
-        /// </param>
-        /// <param name="reserved">
-        /// Not used yet.
-        /// </param>
-        /// <returns>
-        ///     <para>
-        ///         One of the following values:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_STORAGE_AUTOMATIC" /></item>
-        ///             <item><see cref="AL_STORAGE_HARDWARE" /></item>
-        ///             <item><see cref="AL_STORAGE_ACCESSIBLE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </returns>
-        [CLSCompliant(false)]
-        public unsafe static int EAXGetBufferMode(int buffer, int* reserved)
-        {
-            return Delegates.EAXGetBufferMode(buffer, reserved);
-        }
-        /// <summary>
-        ///     Gets the X-RAM mode for the specified buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer to retreive the property for.
-        /// </param>
-        /// <param name="reserved">
-        /// Not used yet.
-        /// </param>
-        /// <returns>
-        ///     <para>
-        ///         One of the following values:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_STORAGE_AUTOMATIC" /></item>
-        ///             <item><see cref="AL_STORAGE_HARDWARE" /></item>
-        ///             <item><see cref="AL_STORAGE_ACCESSIBLE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </returns>
-        public static int EAXGetBufferMode(int buffer, int[] reserved)
-        {
-            unsafe
-            {
-                fixed (int* ptr = reserved)
-                {
-                    return Delegates.EAXGetBufferMode(buffer, ptr);
-                }
-            }
-        }
-        /// <summary>
-        ///     Gets the X-RAM mode for the specified buffer.
-        /// </summary>
-        /// <param name="buffer">
-        ///     Buffer to retreive the property for.
-        /// </param>
-        /// <param name="reserved">
-        /// Not used yet.
-        /// </param>
-        /// <returns>
-        ///     <para>
-        ///         One of the following values:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="AL_STORAGE_AUTOMATIC" /></item>
-        ///             <item><see cref="AL_STORAGE_HARDWARE" /></item>
-        ///             <item><see cref="AL_STORAGE_ACCESSIBLE" /></item>
-        ///         </list>
-        ///     </para>
-        /// </returns>
-        public static int EAXGetBufferMode(int buffer, ref int reserved)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &reserved)
-                {
-                    return Delegates.EAXGetBufferMode(buffer, ptr);
-                }
-            }
-        }
-        #endregion EAXGetBufferMode
-        #endregion X-RAM Methods
-
-        #region EFX_EXT Methods
-        #region alEffect
-        public static void alGenEffects(int size, int[] effects)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &effects[0])
-                {
-                    Delegates.alGenEffects(size, ptr);
-                }
-            }
-        }
-
-        public static void alGenEffects(int size, out int effect)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &effect)
-                {
-                    Delegates.alGenEffects(size, ptr);
-                }
-            }
-        }
-
-        public static void alDeleteEffects(int size, int[] effects)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &effects[0])
-                {
-                    Delegates.alDeleteEffects(size, ptr);
-                }
-            }
-        }
-
-        public static void alDeleteEffects(int size, int effect)
-        {
-            unsafe
-            {
-                Delegates.alDeleteEffects(size, &effect);
-            }
-        }
-
-        public static bool alIsEffect(int effect)
-        {
-            return Delegates.alIsEffect(effect);
-        }
-
-        public static void alEffecti(int effect, int param, int value)
-        {
-            Delegates.alEffecti(effect, param, value);
-        }
-
-        public static void alEffectiv(int effect, int param, int[] value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value[0])
-                {
-                    Delegates.alEffectiv(effect, param, ptr);
-                }
-            }
-        }
-
-        public static void alEffectf(int effect, int param, float value)
-        {
-            Delegates.alEffectf(effect, param, value);
-        }
-
-        public static void alEffectfv(int effect, int param, float[] value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value[0])
-                {
-                    Delegates.alEffectfv(effect, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetEffecti(int effect, int param, out int value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value)
-                {
-                    Delegates.alGetEffecti(effect, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetEffectiv(int effect, int param, int[] value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value[0])
-                {
-                    Delegates.alGetEffectiv(effect, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetEffectf(int effect, int param, out float value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value)
-                {
-                    Delegates.alGetEffectf(effect, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetEffectfv(int effect, int param, float[] value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value[0])
-                {
-                    Delegates.alGetEffectfv(effect, param, ptr);
-                }
-            }
-        }
-        #endregion
-
-        #region alFilter
-        public static void alGenFilters(int size, int[] Filters)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &Filters[0])
-                {
-                    Delegates.alGenFilters(size, ptr);
-                }
-            }
-        }
-
-        public static void alGenFilters(int size, out int Filter)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &Filter)
-                {
-                    Delegates.alGenFilters(size, ptr);
-                }
-            }
-        }
-
-        public static void alDeleteFilters(int size, int[] Filters)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &Filters[0])
-                {
-                    Delegates.alDeleteFilters(size, ptr);
-                }
-            }
-        }
-
-        public static void alDeleteFilters(int size, int Filter)
-        {
-            unsafe
-            {
-                Delegates.alDeleteFilters(size, &Filter);
-            }
-        }
-
-        public static bool alIsFilter(int Filter)
-        {
-            return Delegates.alIsFilter(Filter);
-        }
-
-        public static void alFilteri(int Filter, int param, int value)
-        {
-            Delegates.alFilteri(Filter, param, value);
-        }
-
-        public static void alFilteriv(int Filter, int param, int[] value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value[0])
-                {
-                    Delegates.alFilteriv(Filter, param, ptr);
-                }
-            }
-        }
-
-        public static void alFilterf(int Filter, int param, float value)
-        {
-            Delegates.alFilterf(Filter, param, value);
-        }
-
-        public static void alFilterfv(int Filter, int param, float[] value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value[0])
-                {
-                    Delegates.alFilterfv(Filter, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetFilteri(int Filter, int param, out int value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value)
-                {
-                    Delegates.alGetFilteri(Filter, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetFilteriv(int Filter, int param, int[] value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value[0])
-                {
-                    Delegates.alGetFilteriv(Filter, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetFilterf(int Filter, int param, out float value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value)
-                {
-                    Delegates.alGetFilterf(Filter, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetFilterfv(int Filter, int param, float[] value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value[0])
-                {
-                    Delegates.alGetFilterfv(Filter, param, ptr);
-                }
-            }
-        }
-        #endregion
-
-        #region alAuxiliaryEffectSlot
-        public static void alGenAuxiliaryEffectSlots(int size, int[] AuxiliaryEffectSlots)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &AuxiliaryEffectSlots[0])
-                {
-                    Delegates.alGenAuxiliaryEffectSlots(size, ptr);
-                }
-            }
-        }
-
-        public static void alGenAuxiliaryEffectSlots(int size, out int AuxiliaryEffectSlot)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &AuxiliaryEffectSlot)
-                {
-                    Delegates.alGenAuxiliaryEffectSlots(size, ptr);
-                }
-            }
-        }
-
-        public static void alDeleteAuxiliaryEffectSlots(int size, int[] AuxiliaryEffectSlots)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &AuxiliaryEffectSlots[0])
-                {
-                    Delegates.alDeleteAuxiliaryEffectSlots(size, ptr);
-                }
-            }
-        }
-
-        public static void alDeleteAuxiliaryEffectSlots(int size, int AuxiliaryEffectSlot)
-        {
-            unsafe
-            {
-                Delegates.alDeleteAuxiliaryEffectSlots(size, &AuxiliaryEffectSlot);
-            }
-        }
-
-        public static bool alIsAuxiliaryEffectSlot(int AuxiliaryEffectSlot)
-        {
-            return Delegates.alIsAuxiliaryEffectSlot(AuxiliaryEffectSlot);
-        }
-
-        public static void alAuxiliaryEffectSloti(int AuxiliaryEffectSlot, int param, int value)
-        {
-            Delegates.alAuxiliaryEffectSloti(AuxiliaryEffectSlot, param, value);
-        }
-
-        public static void alAuxiliaryEffectSlotiv(int AuxiliaryEffectSlot, int param, int[] value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value[0])
-                {
-                    Delegates.alAuxiliaryEffectSlotiv(AuxiliaryEffectSlot, param, ptr);
-                }
-            }
-        }
-
-        public static void alAuxiliaryEffectSlotf(int AuxiliaryEffectSlot, int param, float value)
-        {
-            Delegates.alAuxiliaryEffectSlotf(AuxiliaryEffectSlot, param, value);
-        }
-
-        public static void alAuxiliaryEffectSlotfv(int AuxiliaryEffectSlot, int param, float[] value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value[0])
-                {
-                    Delegates.alAuxiliaryEffectSlotfv(AuxiliaryEffectSlot, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetAuxiliaryEffectSloti(int AuxiliaryEffectSlot, int param, out int value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value)
-                {
-                    Delegates.alGetAuxiliaryEffectSloti(AuxiliaryEffectSlot, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetAuxiliaryEffectSlotiv(int AuxiliaryEffectSlot, int param, int[] value)
-        {
-            unsafe
-            {
-                fixed (int* ptr = &value[0])
-                {
-                    Delegates.alGetAuxiliaryEffectSlotiv(AuxiliaryEffectSlot, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetAuxiliaryEffectSlotf(int AuxiliaryEffectSlot, int param, out float value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value)
-                {
-                    Delegates.alGetAuxiliaryEffectSlotf(AuxiliaryEffectSlot, param, ptr);
-                }
-            }
-        }
-
-        public static void alGetAuxiliaryEffectSlotfv(int AuxiliaryEffectSlot, int param, float[] value)
-        {
-            unsafe
-            {
-                fixed (float* ptr = &value[0])
-                {
-                    Delegates.alGetAuxiliaryEffectSlotfv(AuxiliaryEffectSlot, param, ptr);
-                }
-            }
-        }
-        #endregion
-        #endregion
-        #endregion Public OpenAL Extension Methods
-
-        #region Public Delegates
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALENABLEDelegate(int capability);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALDISABLEDelegate(int capability);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALISENABLEDDelegate(int capability);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate string LPALGETSTRINGDelegate(int param);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBOOLEANVDelegate(int param, out int data);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETINTEGERVDelegate(int param, out int data);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETFLOATVDelegate(int param, out float data);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETDOUBLEVDelegate(int param, out double data);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALGETBOOLEANDelegate(int param);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALGETINTEGERDelegate(int param);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate float LPALGETFLOATDelegate(int param);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate double LPALGETDOUBLEDelegate(int param);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALGETERRORDelegate();
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALISEXTENSIONPRESENTDelegate(string extname);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate IntPtr LPALGETPROCADDRESSDelegate(string fname);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALGETENUMVALUEDelegate(string ename);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALLISTENERFDelegate(int param, float val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALLISTENER3FDelegate(int param, float value1, float value2, float value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALLISTENERFVDelegate(int param, [In] ref float values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALLISTENERIDelegate(int param, int val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALLISTENER3IDelegate(int param, int value1, int value2, int value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALLISTENERIVDelegate(int param, [In] ref int values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETLISTENERFDelegate(int param, out float val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETLISTENER3FDelegate(int param, out float value1, out float value2, out float value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETLISTENERFVDelegate(int param, out float values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETLISTENERIDelegate(int param, out int val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETLISTENER3IDelegate(int param, out int value1, out int value2, out int value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETLISTENERIVDelegate(int param, out int values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGENSOURCESDelegate(int n, out int sources);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALDELETESOURCESDelegate(int n, out int sources);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALISSOURCEDelegate(int sid);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEFDelegate(int sid, int param, float val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCE3FDelegate(int sid, int param, float value1, float value2, float value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEFVDelegate(int sid, int param, out float values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEIDelegate(int sid, int param, int val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCE3IDelegate(int sid, int param, int value1, int value2, int value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEIVDelegate(int sid, int param, out int values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETSOURCEFDelegate(int sid, int param, out float val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETSOURCE3FDelegate(int sid, int param, out float value1, out float value2, out float value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETSOURCEFVDelegate(int sid, int param, out float values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETSOURCEIDelegate(int sid, int param, out int val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETSOURCE3IDelegate(int sid, int param, out int value1, out int value2, out int value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETSOURCEIVDelegate(int sid, int param, out int values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEPLAYVDelegate(int ns, out int sids);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCESTOPVDelegate(int ns, out int sids);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEREWINDVDelegate(int ns, out int sids);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEPAUSEVDelegate(int ns, out int sids);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEPLAYDelegate(int sid);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCESTOPDelegate(int sid);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEREWINDDelegate(int sid);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEPAUSEDelegate(int sid);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEQUEUEBUFFERSDelegate(int sid, int numEntries, out int bids);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSOURCEUNQUEUEBUFFERSDelegate(int sid, int numEntries, out int bids);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGENBUFFERSDelegate(int n, out int buffers);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALDELETEBUFFERSDelegate(int n, out int buffers);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALISBUFFERDelegate(int bid);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFERDATADelegate(int bid, int format, IntPtr data, int size, int freq);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFERFDelegate(int bid, int param, float val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFER3FDelegate(int bid, int param, float value1, float value2, float value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFERFVDelegate(int bid, int param, out float values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFERIDelegate(int bid, int param, int val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFER3IDelegate(int bid, int param, int value1, int value2, int value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALBUFFERIVDelegate(int bid, int param, out int values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBUFFERFDelegate(int bid, int param, out float val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBUFFER3FDelegate(int bid, int param, out float value1, out float value2, out float value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBUFFERFVDelegate(int bid, int param, out float values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBUFFERIDelegate(int bid, int param, out int val);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBUFFER3IDelegate(int bid, int param, out int value1, out int value2, out int value3);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALGETBUFFERIVDelegate(int bid, int param, out int values);
-
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALDOPPLERFACTORDelegate(float val);
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALDOPPLERVELOCITYDelegate(float val);
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALSPEEDOFSOUNDDelegate(float val);
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALDISTANCEMODELDelegate(int distanceModel);
-        #endregion Public Delegates
-
-        #region Extension Support
-        /// <summary>
-        /// Reloads OpenAL extension functions.
-        /// </summary>
-        /// <remarks>
-        /// <para>
-        /// Call this function to reload context-dependent extension OpenAL entry points. This should be done 
-        /// whenever you change the current OpenAL context, or in the case you cannot (or do not want)
-        /// to use the automatic initialisation.
-        /// </para>
-        /// <para>
-        /// Calling this function before the automatic initialisation has taken place will result
-        /// in the Al class being initialised twice. This is harmless, but, given the choice, 
-        /// the automatic initialisation should be preferred.
-        /// </para>
-        /// </remarks>
-        public static void ReloadFunctions()
-        {
-            Assembly asm = Assembly.Load("Tao.OpenAl");
-            Type delegates_class = asm.GetType("Tao.OpenAl.Delegates");
-
-            FieldInfo[] v = delegates_class.GetFields();
-            foreach (FieldInfo f in v)
-            {
-                f.SetValue(null, Delegates.GetDelegateForExtensionMethod(f.Name, f.FieldType));
-            }
-        }
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenAl/Alc.cs b/Source/Compatibility/Tao/OpenAl/Alc.cs
deleted file mode 100644 (file)
index e9c0db5..0000000
+++ /dev/null
@@ -1,1005 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2006 Tao Framework Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-// Disable missing XML comment warnings
-#pragma warning disable 1591 
-
-using System;
-using System.Runtime.InteropServices;
-using System.Security;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tao.OpenAl
-{
-    #region Class Documentation
-    /// <summary>
-    ///     OpenAL binding for .NET, implementing ALC 1.1.
-    /// </summary>
-    /// <remarks>
-    ///     Binds functions and definitions in OpenAL32.dll or libAL.so.
-    /// </remarks>
-    #endregion Class Documentation
-    [Obsolete("Use OpenTK.Audio.OpenAL instead.")]
-    public static class Alc
-    {
-        // --- Fields ---
-        #region Private Constants
-        #region string ALC_NATIVE_LIBRARY
-        /// <summary>
-        ///     Specifies OpenAl's native library archive.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies OpenAl32.dll everywhere; will be mapped via .config for mono.
-        /// </remarks>
-        private const string ALC_NATIVE_LIBRARY = "OpenAL32.dll";
-        #endregion string ALC_NATIVE_LIBRARY
-
-        #region CallingConvention CALLING_CONVENTION
-        /// <summary>
-        ///     Specifies the calling convention.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies <see cref="CallingConvention.Cdecl" />.
-        /// </remarks>
-        private const CallingConvention CALLING_CONVENTION = CallingConvention.Cdecl;
-        #endregion CallingConvention CALLING_CONVENTION
-        #endregion Private Constants
-
-        #region Public OpenAL 1.1 Constants
-        #region ALC_INVALID
-        /// <summary>
-        ///     Bad value.
-        /// </summary>
-        // #define ALC_INVALID (0)
-        public const int ALC_INVALID = (0);
-        #endregion ALC_INVALID
-
-        #region ALC_FALSE
-        /// <summary>
-        ///     bool false.
-        /// </summary>
-        // #define ALC_FALSE 0
-        public const int ALC_FALSE = 0;
-        #endregion ALC_FALSE
-
-        #region ALC_TRUE
-        /// <summary>
-        ///     bool true.
-        /// </summary>
-        // #define ALC_TRUE 1
-        public const int ALC_TRUE = 1;
-        #endregion ALC_TRUE
-
-        #region ALC_NO_ERROR
-        /// <summary>
-        ///     No error.
-        /// </summary>
-        // #define ALC_NO_ERROR ALC_FALSE
-        public const int ALC_NO_ERROR = ALC_FALSE;
-        #endregion ALC_NO_ERROR
-
-        #region ALC_MAJOR_VERSION
-        /// <summary>
-        ///     Major version.
-        /// </summary>
-        // #define ALC_MAJOR_VERSION 0x1000
-        public const int ALC_MAJOR_VERSION = 0x1000;
-        #endregion ALC_MAJOR_VERSION
-
-        #region ALC_MINOR_VERSION
-        /// <summary>
-        ///     Minor version.
-        /// </summary>
-        // #define ALC_MINOR_VERSION 0x1001
-        public const int ALC_MINOR_VERSION = 0x1001;
-        #endregion ALC_MINOR_VERSION
-
-        #region ALC_ATTRIBUTES_SIZE
-        /// <summary>
-        ///     Attributes size.
-        /// </summary>
-        // #define ALC_ATTRIBUTES_SIZE 0x1002
-        public const int ALC_ATTRIBUTES_SIZE = 0x1002;
-        #endregion ALC_ATTRIBUTES_SIZE
-
-        #region ALC_ALL_ATTRIBUTES
-        /// <summary>
-        ///     All attributes.
-        /// </summary>
-        // #define ALC_ALL_ATTRIBUTES 0x1003
-        public const int ALC_ALL_ATTRIBUTES = 0x1003;
-        #endregion ALC_ALL_ATTRIBUTES
-
-        #region ALC_CAPTURE_DEVICE_SPECIFIER
-        /// <summary>
-        ///     Capture device specifier.
-        /// </summary>
-        // #define ALC_CAPTURE_DEVICE_SPECIFIER 0x310
-        public const int ALC_CAPTURE_DEVICE_SPECIFIER = 0x310;
-        #endregion ALC_CAPTURE_DEVICE_SPECIFIER
-
-        #region ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER
-        /// <summary>
-        ///     Capture default device specifier.
-        /// </summary>
-        // #define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311
-        public const int ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER = 0x311;
-        #endregion ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER
-
-        #region ALC_CAPTURE_SAMPLES
-        /// <summary>
-        ///     Capture samples.
-        /// </summary>
-        // #define ALC_CAPTURE_SAMPLES 0x312
-        public const int ALC_CAPTURE_SAMPLES = 0x312;
-        #endregion ALC_CAPTURE_SAMPLES
-
-        #region ALC_DEFAULT_DEVICE_SPECIFIER
-        /// <summary>
-        ///     Default device specifier.
-        /// </summary>
-        // #define ALC_DEFAULT_DEVICE_SPECIFIER 0x1004
-        public const int ALC_DEFAULT_DEVICE_SPECIFIER = 0x1004;
-        #endregion ALC_DEFAULT_DEVICE_SPECIFIER
-
-        #region ALC_DEVICE_SPECIFIER
-        /// <summary>
-        ///     Device specifier.
-        /// </summary>
-        // #define ALC_DEVICE_SPECIFIER 0x1005
-        public const int ALC_DEVICE_SPECIFIER = 0x1005;
-        #endregion ALC_DEVICE_SPECIFIER
-
-        #region ALC_EXTENSIONS
-        /// <summary>
-        ///     Extensions.
-        /// </summary>
-        // #define ALC_EXTENSIONS 0x1006
-        public const int ALC_EXTENSIONS = 0x1006;
-        #endregion ALC_EXTENSIONS
-
-        #region ALC_FREQUENCY
-        /// <summary>
-        ///     Frequency.
-        /// </summary>
-        // #define ALC_FREQUENCY 0x1007
-        public const int ALC_FREQUENCY = 0x1007;
-        #endregion ALC_FREQUENCY
-
-        #region ALC_REFRESH
-        /// <summary>
-        ///     Refresh.
-        /// </summary>
-        // #define ALC_REFRESH 0x1008
-        public const int ALC_REFRESH = 0x1008;
-        #endregion ALC_REFRESH
-
-        #region ALC_SYNC
-        /// <summary>
-        ///     Sync.
-        /// </summary>
-        // #define ALC_SYNC 0x1009
-        public const int ALC_SYNC = 0x1009;
-        #endregion ALC_SYNC
-
-        #region ALC_MONO_SOURCES
-        /// <summary>
-        ///     Num of requested Mono (3D) Sources
-        /// </summary>
-        // #define ALC_MONO_SOURCES 0x1010
-        public const int ALC_MONO_SOURCES = 0x1010;
-        #endregion ALC_MONO_SOURCES
-
-        #region ALC_STEREO_SOURCES
-        /// <summary>
-        ///     Num of requested Stereo Sources
-        /// </summary>
-        // #define ALC_STEREO_SOURCES 0x1011
-        public const int ALC_STEREO_SOURCES = 0x1011;
-        #endregion ALC_STEREO_SOURCES
-
-        #region ALC_INVALID_DEVICE
-        /// <summary>
-        ///     The device argument does not name a valid device.
-        /// </summary>
-        // #define ALC_INVALID_DEVICE 0xA001
-        public const int ALC_INVALID_DEVICE = 0xA001;
-        #endregion ALC_INVALID_DEVICE
-
-        #region ALC_INVALID_CONTEXT
-        /// <summary>
-        ///     The context argument does not name a valid context.
-        /// </summary>
-        // #define ALC_INVALID_CONTEXT 0xA002
-        public const int ALC_INVALID_CONTEXT = 0xA002;
-        #endregion ALC_INVALID_CONTEXT
-
-        #region ALC_INVALID_ENUM
-        /// <summary>
-        ///     A function was called at inappropriate time, or in an inappropriate way, causing
-        ///     an illegal state.  This can be an incompatible value, object ID, and/or function.
-        /// </summary>
-        // #define ALC_INVALID_ENUM 0xA003
-        public const int ALC_INVALID_ENUM = 0xA003;
-        #endregion ALC_INVALID_ENUM
-
-        #region ALC_INVALID_VALUE
-        /// <summary>
-        ///     Illegal value passed as an argument to an AL call.  Applies to parameter values,
-        ///     but not to enumerations.
-        /// </summary>
-        // #define ALC_INVALID_VALUE 0xA004
-        public const int ALC_INVALID_VALUE = 0xA004;
-        #endregion ALC_INVALID_VALUE
-
-        #region ALC_OUT_OF_MEMORY
-        /// <summary>
-        ///     A function could not be completed, because there is not enough memory available.
-        /// </summary>
-        // #define ALC_OUT_OF_MEMORY 0xA005
-        public const int ALC_OUT_OF_MEMORY = 0xA005;
-        #endregion ALC_OUT_OF_MEMORY
-
-        #region ALC_ENUMERATE_ALL_EXT
-        public const int ALC_DEFAULT_ALL_DEVICES_SPECIFIER = 0x1012;
-        public const int ALC_ALL_DEVICES_SPECIFIER = 0x1013;
-        #endregion
-
-        #region ALC_EFX_EXT
-        public const string ALC_EXT_EFX_NAME = "ALC_EXT_EFX";
-        public const int ALC_EFX_MAJOR_VERSION = 0x20001;
-        public const int ALC_EFX_MINOR_VERSION = 0x20002;
-        public const int ALC_MAX_AUXILIARY_SENDS = 0x20003;
-        #endregion
-
-        #endregion Public OpenAL 1.0 Constants
-
-        // --- Public Externs ---
-        #region Public OpenAL 1.1 Methods
-        #region alcCloseDevice([In] IntPtr device)
-        /// <summary>
-        ///     Closes a device.
-        /// </summary>
-        /// <param name="device">
-        ///     A pointer to an opened device.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcCloseDevice(ALCdevice *device);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcCloseDevice([In] IntPtr device);
-        #endregion alcCloseDevice([In] IntPtr device)
-
-        #region IntPtr alcCreateContext([In] IntPtr device, [In] ref int attribute)
-        /// <summary>
-        ///     Creates a context using a specified device.
-        /// </summary>
-        /// <param name="device">
-        ///     A pointer to a device.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         A pointer to a set of attributes:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_FREQUENCY" /></item>
-        ///             <item><see cref="ALC_REFRESH" /></item>
-        ///             <item><see cref="ALC_SYNC" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to the new context (IntPtr.Zero on failure).
-        /// </returns>
-        // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcCreateContext([In] IntPtr device, [In] ref int attribute);
-        #endregion IntPtr alcCreateContext([In] IntPtr device, [In] ref int attribute)
-
-        #region IntPtr alcCreateContext([In] IntPtr device, [In] int[] attribute)
-        /// <summary>
-        ///     Creates a context using a specified device.
-        /// </summary>
-        /// <param name="device">
-        ///     A pointer to a device.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         A pointer to a set of attributes:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_FREQUENCY" /></item>
-        ///             <item><see cref="ALC_REFRESH" /></item>
-        ///             <item><see cref="ALC_SYNC" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to the new context (IntPtr.Zero on failure).
-        /// </returns>
-        // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcCreateContext([In] IntPtr device, [In] int[] attribute);
-        #endregion IntPtr alcCreateContext([In] IntPtr device, [In] int[] attribute)
-
-        #region IntPtr alcCreateContext([In] IntPtr device, [In] IntPtr attribute)
-        /// <summary>
-        ///     Creates a context using a specified device.
-        /// </summary>
-        /// <param name="device">
-        ///     A pointer to a device.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         A pointer to a set of attributes:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_FREQUENCY" /></item>
-        ///             <item><see cref="ALC_REFRESH" /></item>
-        ///             <item><see cref="ALC_SYNC" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to the new context (IntPtr.Zero on failure).
-        /// </returns>
-        // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcCreateContext([In] IntPtr device, [In] IntPtr attribute);
-        #endregion IntPtr alcCreateContext([In] IntPtr device, [In] IntPtr attribute)
-
-        #region IntPtr alcCreateContext([In] IntPtr device, [In] int *attribute)
-        /// <summary>
-        ///     Creates a context using a specified device.
-        /// </summary>
-        /// <param name="device">
-        ///     A pointer to a device.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         A pointer to a set of attributes:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_FREQUENCY" /></item>
-        ///             <item><see cref="ALC_REFRESH" /></item>
-        ///             <item><see cref="ALC_SYNC" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to the new context (IntPtr.Zero on failure).
-        /// </returns>
-        // ALCAPI ALCcontext* ALCAPIENTRY alcCreateContext(ALCdevice *device, ALCint *attrList);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern IntPtr alcCreateContext([In] IntPtr device, [In] int* attribute);
-        #endregion IntPtr alcCreateContext([In] IntPtr device, [In] int *attribute)
-
-        #region alcDestroyContext([In] IntPtr context)
-        /// <summary>
-        ///     Destroys a context.
-        /// </summary>
-        /// <param name="context">
-        ///     Pointer to the context to be destroyed.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcDestroyContext(ALCcontext *context);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcDestroyContext([In] IntPtr context);
-        #endregion alcDestroyContext([In] IntPtr context)
-
-        #region IntPtr alcGetContextsDevice([In] IntPtr context)
-        /// <summary>
-        ///     Gets the device for a context.
-        /// </summary>
-        /// <param name="context">
-        ///     The context to query.
-        /// </param>
-        /// <returns>
-        ///     A pointer to a device or IntPtr.Zero on failue.
-        /// </returns>
-        // ALCAPI ALCdevice* ALCAPIENTRY alcGetContextsDevice(ALCcontext *context);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcGetContextsDevice([In] IntPtr context);
-        #endregion IntPtr alcGetContextsDevice([In] IntPtr context)
-
-        #region IntPtr alcGetCurrentContext()
-        /// <summary>
-        ///     Retrieves the current context.
-        /// </summary>
-        /// <returns>
-        ///     Returns a pointer to the current context or IntPtr.Zero on failure.
-        /// </returns>
-        // ALCAPI ALCcontext* ALCAPIENTRY alcGetCurrentContext(ALCvoid);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcGetCurrentContext();
-        #endregion IntPtr alcGetCurrentContext()
-
-        #region int alcGetEnumValue([In] IntPtr device, string enumName)
-        /// <summary>
-        ///     Retrieves the enum value for a specified enumeration name.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="enumName">
-        ///     A null terminated string describing the enum value.
-        /// </param>
-        /// <returns>
-        ///     Returns the enum value described by the <i>enumName</i> string.
-        /// </returns>
-        // ALCAPI ALCenum ALCAPIENTRY alcGetEnumValue(ALCdevice *device, ALCubyte *enumName);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity]
-        public static extern int alcGetEnumValue([In] IntPtr device, string enumName);
-        #endregion int alcGetEnumValue([In] IntPtr device, string enumName)
-
-        #region int alcGetError([In] IntPtr device)
-        /// <summary>
-        ///     Retrieves the current context error state.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to query.
-        /// </param>
-        /// <returns>
-        ///     The current context error state will be returned.
-        /// </returns>
-        // ALCAPI ALCenum ALCAPIENTRY alcGetError(ALCdevice *device);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alcGetError([In] IntPtr device);
-        #endregion int alcGetError([In] IntPtr device)
-
-        #region alcGetIntegerv([In] IntPtr device, int attribute, int size, out int data)
-        /// <summary>
-        ///     Returns integers related to the context.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         An attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_MAJOR_VERSION" /></item>
-        ///             <item><see cref="ALC_MINOR_VERSION" /></item>
-        ///             <item><see cref="ALC_ATTRIBUTES_SIZE" /></item>
-        ///             <item><see cref="ALC_ALL_ATTRIBUTES" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="size">
-        ///     The size of the destination buffer provided.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the data to be returned.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, out int data);
-        #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, out int data)
-
-        #region alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int[] data)
-        /// <summary>
-        ///     Returns integers related to the context.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         An attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_MAJOR_VERSION" /></item>
-        ///             <item><see cref="ALC_MINOR_VERSION" /></item>
-        ///             <item><see cref="ALC_ATTRIBUTES_SIZE" /></item>
-        ///             <item><see cref="ALC_ALL_ATTRIBUTES" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="size">
-        ///     The size of the destination buffer provided.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the data to be returned.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int[] data);
-        #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int[] data)
-
-        #region alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] IntPtr data)
-        /// <summary>
-        ///     Returns integers related to the context.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         An attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_MAJOR_VERSION" /></item>
-        ///             <item><see cref="ALC_MINOR_VERSION" /></item>
-        ///             <item><see cref="ALC_ATTRIBUTES_SIZE" /></item>
-        ///             <item><see cref="ALC_ALL_ATTRIBUTES" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="size">
-        ///     The size of the destination buffer provided.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the data to be returned.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] IntPtr data);
-        #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] IntPtr data)
-
-        #region alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int *data)
-        /// <summary>
-        ///     Returns integers related to the context.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         An attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_MAJOR_VERSION" /></item>
-        ///             <item><see cref="ALC_MINOR_VERSION" /></item>
-        ///             <item><see cref="ALC_ATTRIBUTES_SIZE" /></item>
-        ///             <item><see cref="ALC_ALL_ATTRIBUTES" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="size">
-        ///     The size of the destination buffer provided.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the data to be returned.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcGetIntegerv(ALCdevice *device, ALCenum param, ALCsizei size, ALCint *data);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int* data);
-        #endregion alcGetIntegerv([In] IntPtr device, int attribute, int size, [Out] int *data)
-
-        #region IntPtr alcGetProcAddress([In] IntPtr device, string functionName)
-        /// <summary>
-        ///     Retrieves the address of a specified context extension function.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried for the function.
-        /// </param>
-        /// <param name="functionName">
-        ///     A null terminated string describing the function.
-        /// </param>
-        /// <returns>
-        ///     Returns the address of the function, or IntPtr.Zero if it is not found.
-        /// </returns>
-        // ALCAPI ALCvoid* ALCAPIENTRY alcGetProcAddress(ALCdevice *device, ALCubyte *funcName);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcGetProcAddress([In] IntPtr device, string functionName);
-        #endregion IntPtr alcGetProcAddress([In] IntPtr device, string functionName)
-
-        #region string alcGetString([In] IntPtr device, int attribute)
-        /// <summary>
-        ///     Returns strings related to the context.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         An attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_DEFAULT_DEVICE_SPECIFIER" /></item>
-        ///             <item><see cref="ALC_DEVICE_SPECIFIER" /></item>
-        ///             <item><see cref="ALC_EXTENSIONS" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to a string.
-        /// </returns>
-        // ALCAPI ALCubyte* ALCAPIENTRY alcGetString(ALCdevice *device, ALCenum param);
-        //[DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi, EntryPoint = "alcGetString"), SuppressUnmanagedCodeSecurity]
-        //public static extern string alcGetString([In] IntPtr device, int attribute);
-        public static string alcGetString([In] IntPtr device, int attribute)
-        {
-            return Marshal.PtrToStringAnsi(alcGetStringInternal(device, attribute));
-        }
-
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi, EntryPoint = "alcGetString"), SuppressUnmanagedCodeSecurity]
-        private static extern IntPtr alcGetStringInternal([In] IntPtr device, int attribute);
-
-        /// <summary>
-        ///     Returns strings related to the context.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried.
-        /// </param>
-        /// <param name="attribute">
-        ///     <para>
-        ///         An attribute to be retrieved:
-        ///     </para>
-        ///     <para>
-        ///         <list type="bullet">
-        ///             <item><see cref="ALC_DEFAULT_DEVICE_SPECIFIER" /></item>
-        ///             <item><see cref="ALC_DEVICE_SPECIFIER" /></item>
-        ///             <item><see cref="ALC_EXTENSIONS" /></item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to a string.
-        /// </returns>
-        public static string[] alcGetStringv([In] IntPtr device, int attribute)
-        {
-            return GetStringArray(alcGetStringInternal(device, attribute));
-        }
-
-        private static string[] GetStringArray(IntPtr ptr)
-        {
-            if (ptr == IntPtr.Zero)
-            {
-                return null;
-            }
-            List<string> rv = new List<string>();
-            StringBuilder builder = new StringBuilder();
-            for (int index = 0; ; index++)
-            {
-                char ch = (char)Marshal.ReadByte(ptr, index);
-                if (ch == '\0')
-                {
-                    if (builder.Length == 0)
-                    {
-                        break;
-                    }
-                    else
-                    {
-                        rv.Add(builder.ToString());
-                        builder.Length = 0;
-                    }
-                }
-                else
-                {
-                    builder.Append(ch);
-                }
-            }
-            return rv.ToArray();
-        }
-        #endregion string alcGetString([In] IntPtr device, int attribute)
-
-        #region int alcIsExtensionPresent([In] IntPtr device, string extensionName)
-        /// <summary>
-        ///     Queries if a specified context extension is available.
-        /// </summary>
-        /// <param name="device">
-        ///     The device to be queried for an extension.
-        /// </param>
-        /// <param name="extensionName">
-        ///     A null terminated string describing the extension.
-        /// </param>
-        /// <returns>
-        ///     Returns <see cref="ALC_TRUE" /> if the extension is available,
-        ///     <see cref="ALC_FALSE" /> if the extension is not available.
-        /// </returns>
-        // ALCAPI ALCboolean ALCAPIENTRY alcIsExtensionPresent(ALCdevice *device, ALCubyte *extName);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity]
-        public static extern int alcIsExtensionPresent([In] IntPtr device, string extensionName);
-        #endregion int alcIsExtensionPresent([In] IntPtr device, string extensionName)
-
-        #region int alcMakeContextCurrent([In] IntPtr context)
-        /// <summary>
-        ///     Makes a specified context the current context.
-        /// </summary>
-        /// <param name="context">
-        ///     Pointer to the new context.
-        /// </param>
-        /// <returns>
-        ///     Returns an error code on failure.
-        /// </returns>
-        // ALCAPI ALCboolean ALCAPIENTRY alcMakeContextCurrent(ALCcontext *context);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alcMakeContextCurrent([In] IntPtr context);
-        #endregion int alcMakeContextCurrent([In] IntPtr context)
-
-        #region IntPtr alcOpenDevice(string deviceName)
-        /// <summary>
-        ///     Opens a device by name.
-        /// </summary>
-        /// <param name="deviceName">
-        ///     A null-terminated string describing a device.
-        /// </param>
-        /// <returns>
-        ///     Returns a pointer to the opened device.
-        /// </returns>
-        // ALCAPI ALCdevice* ALCAPIENTRY alcOpenDevice(ALCubyte *deviceName);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION, CharSet = CharSet.Ansi), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcOpenDevice(string deviceName);
-        #endregion IntPtr alcOpenDevice(string deviceName)
-
-        #region alcProcessContext([In] IntPtr context)
-        /// <summary>
-        ///     Tells a context to begin processing.
-        /// </summary>
-        /// <param name="context">
-        ///     Pointer to the new context.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcProcessContext(ALCcontext *context);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcProcessContext([In] IntPtr context);
-        #endregion alcProcessContext([In] IntPtr context)
-
-        #region alcSuspendContext([In] IntPtr context)
-        /// <summary>
-        ///     Suspends processing on a specified context.
-        /// </summary>
-        /// <param name="context">
-        ///     A pointer to the context to be suspended.
-        /// </param>
-        // ALCAPI ALCvoid ALCAPIENTRY alcSuspendContext(ALCcontext *context);
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcSuspendContext([In] IntPtr context);
-        #endregion alcSuspendContext([In] IntPtr context)
-
-        #region IntPtr alcCaptureOpenDevice(string devicename, int frequency, int format, int buffersize)
-        /// <summary>
-        ///     
-        /// </summary>
-        /// <returns>
-        ///     The Open Device will be captured
-        /// </returns>
-        // ALC_API ALCdevice* ALC_APIENTRY alcCaptureOpenDevice( const ALCchar *devicename, ALCuint frequency, ALCenum format, ALCsizei buffersize );
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern IntPtr alcCaptureOpenDevice(string devicename, int frequency, int format, int buffersize);
-        #endregion IntPtr alcCaptureOpenDevice(string devicename, int frequency, int format, int buffersize)
-
-        #region int alcCaptureCloseDevice([In] IntPtr device)
-        /// <summary>
-        ///     
-        /// </summary>
-        /// <returns>
-        ///     
-        /// </returns>
-        // ALC_API ALCboolean ALC_APIENTRY alcCaptureStart( ALCdevice *device );
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int alcCaptureCloseDevice([In] IntPtr device);
-        #endregion int alcCaptureCloseDevice([In] IntPtr device)
-
-        #region void alcCaptureStart([In] IntPtr device)
-        /// <summary>
-        ///     
-        /// </summary>
-        /// <returns>
-        ///     
-        /// </returns>
-        // ALC_API ALCboolean ALC_APIENTRY alcCaptureStart( ALCdevice *device );
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcCaptureStart([In] IntPtr device);
-        #endregion void alcCaptureStart([In] IntPtr device)
-
-        #region void alcCaptureStop([In] IntPtr device)
-        /// <summary>
-        ///     
-        /// </summary>
-        /// <returns>
-        ///     
-        /// </returns>
-        // ALC_API ALCboolean ALC_APIENTRY alcCaptureStop( ALCdevice *device );
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcCaptureStop([In] IntPtr device);
-        #endregion void alcCaptureStop([In] IntPtr device)
-
-        #region void alcCaptureSamples([In] IntPtr device, [In] IntPtr buffer, int samples)
-        /// <summary>
-        ///     
-        /// </summary>
-        /// <returns>
-        ///     
-        /// </returns>
-        // ALC_API ALCboolean ALC_APIENTRY alcCaptureSamples( ALCdevice *device, ALCvoid *buffer, ALCsizei samples );
-        [DllImport(ALC_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void alcCaptureSamples([In] IntPtr device, [In] IntPtr buffer, int samples);
-        #endregion void alcCaptureSamples([In] IntPtr device, [In] IntPtr buffer, int samples)
-        #endregion Public OpenAL 1.1 Methods
-
-        #region Public OpenAL 1.1 Delegates
-        #region IntPtr LPALCCREATECONTEXTDelegate([In] IntPtr device, [In] ref int attrlist)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate IntPtr LPALCCREATECONTEXTDelegate([In] IntPtr device, [In] ref int attrlist);
-        #endregion IntPtr LPALCCREATECONTEXTDelegate([In] IntPtr device, [In] ref int attrlist)
-
-        #region int LPALCMAKECONTEXTCURRENTDelegate([In] IntPtr context)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALCMAKECONTEXTCURRENTDelegate([In] IntPtr context);
-        #endregion int LPALCMAKECONTEXTCURRENTDelegate([In] IntPtr context)
-
-        #region void LPALCPROCESSCONTEXTDelegate([In] IntPtr context)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCPROCESSCONTEXTDelegate([In] IntPtr context);
-        #endregion void LPALCPROCESSCONTEXTDelegate([In] IntPtr context)
-
-        #region void LPALCSUSPENDCONTEXTDelegate([In] IntPtr context)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCSUSPENDCONTEXTDelegate([In] IntPtr context);
-        #endregion void LPALCSUSPENDCONTEXTDelegate([In] IntPtr context)
-
-        #region void LPALCDESTROYCONTEXTDelegate([In] IntPtr context)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCDESTROYCONTEXTDelegate([In] IntPtr context);
-        #endregion void LPALCDESTROYCONTEXTDelegate([In] IntPtr context)
-
-        #region IntPtr LPALCGETCURRENTECONTEXTDelegate()
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate IntPtr LPALCGETCURRENTECONTEXTDelegate();
-        #endregion IntPtr LPALCGETCURRENTECONTEXTDelegate()
-
-        #region IntPtr LPALCCONTEXTSDEVICEDelegate([In] IntPtr context)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate IntPtr LPALCGETCONTEXTSDEVICEDelegate([In] IntPtr context);
-        #endregion IntPtr LPALCGETCONTEXTSDEVICEDelegate([In] IntPtr context)
-
-        #region IntPtr LPALCOPENDEVICEDelegate(string devicename)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate IntPtr LPALCOPENDEVICEDelegate(string devicename);
-        #endregion IntPtr LPALCOPENDEVICEDelegate(string devicename)
-
-        #region int LPALCCLOSEDEVICEDelegate([In] IntPtr device)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALCCLOSEDEVICEDelegate([In] IntPtr device);
-        #endregion int LPALCCLOSEDEVICEDelegate([In] IntPtr device)
-
-        #region int LPALCCLOSEDEVICEDelegate([In] IntPtr device)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALCGETERRORDelegate([In] IntPtr device);
-        #endregion int LPALCCLOSEDEVICEDelegate([In] IntPtr device)
-
-        #region int LPALCISEXTENSIONPRESENTDelegate([In] IntPtr device, string extname)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALCISEXTENSIONPRESENTDelegate([In] IntPtr device, string extname);
-        #endregion int LPALCISEXTENSIONPRESENTDelegate([In] IntPtr device, string extname)
-
-        #region IntPtr LPALCGETPROCADDRESSDelegate([In] IntPtr device, string funcname)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate IntPtr LPALCGETPROCADDRESSDelegate([In] IntPtr device, string funcname);
-        #endregion IntPtr LPALCGETPROCADDRESSDelegate([In] IntPtr device, string funcname)
-
-        #region int  LPALCGETENUMVALUEDelegate([In] IntPtr device, string enumname)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALCGETENUMVALUEDelegate([In] IntPtr device, string enumname);
-        #endregion int LPALCGETENUMVALUEDelegate([In] IntPtr device, string enumname)
-
-        #region string LPALCGETSTRINGDelegate([In] IntPtr device, string enumname)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate string LPALCGETSTRINGDelegate([In] IntPtr device, string enumname);
-        #endregion string LPALCGETSTRINGDelegate([In] IntPtr device, string enumname)
-
-        #region void LPALCGETINTEGERVDelegate([In] IntPtr context, int param, int size, out int data)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCGETINTEGERVDelegate([In] IntPtr context, int param, int size, out int data);
-        #endregion void LPALCGETINTEGERVDelegate([In] IntPtr context, int param, int size, out int data)
-
-        #region void LPALCCAPTUREOPENDEVICEDelegate(string devicename, int frequency, int format, int buffersize)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCCAPTUREOPENDEVICEDelegate(string devicename, int frequency, int format, int buffersize);
-        #endregion void LPALCCAPTUREOPENDEVICEDelegate(string devicename, int frequency, int format, int buffersize)
-
-        #region int LPALCCAPTURECLOSEDEVICEDelegate([In] IntPtr device)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate int LPALCCAPTURECLOSEDEVICEDelegate([In] IntPtr device);
-        #endregion int LPALCCAPTURECLOSEDEVICEDelegate([In] IntPtr device)
-
-        #region void LPALCCAPTURESTARTDelegate([In] IntPtr device)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCCAPTURESTARTDelegate([In] IntPtr device);
-        #endregion void LPALCCAPTURESTARTDelegate([In] IntPtr device)
-
-        #region void LPALCCAPTURESTOPDelegate([In] IntPtr device)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCCAPTURESTOPDelegate([In] IntPtr device);
-        #endregion void LPALCCAPTURESTOPDelegate([In] IntPtr device)
-
-        #region void LPALCCAPTURESAMPLESDelegate([In] IntPtr device, [In] IntPtr buffer, int samples)
-        /// <summary>
-        /// 
-        /// </summary>
-        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
-        public delegate void LPALCCAPTURESAMPLESDelegate([In] IntPtr device, [In] IntPtr buffer, int samples);
-        #endregion void LPALCCAPTURESAMPLESDelegate([In] IntPtr device, [In] IntPtr buffer, int samples)
-        #endregion Public OpenAL 1.1 Delegates
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenAl/Alut.cs b/Source/Compatibility/Tao/OpenAl/Alut.cs
deleted file mode 100644 (file)
index f946e8b..0000000
+++ /dev/null
@@ -1,737 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2006 Tao Framework Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-using System;
-using System.IO;
-using System.Security;
-using System.Runtime.InteropServices;
-using System.Text;
-
-namespace Tao.OpenAl
-{
-       #region Class Documentation
-       /// <summary>
-       /// OpenAL binding for .NET, implementing ALUT 1.1.
-       /// </summary>
-       /// <remarks>
-       /// ALUT is non-standard.
-       /// </remarks>
-       #endregion Class Documentation
-    [Obsolete("Use OpenTK.Audio.OpenAL instead.")]
-    public static class Alut
-       {
-               // --- Fields ---
-               #region Private Constants
-               #region string ALUT_NATIVE_LIBRARY
-               /// <summary>
-               /// Specifies OpenAl's native library archive.
-               /// </summary>
-               /// <remarks>
-               /// Specifies OpenAl32.dll everywhere; will be mapped via .config for mono.
-               /// </remarks>
-               private const string ALUT_NATIVE_LIBRARY = "alut.dll";
-               #endregion string ALUT_NATIVE_LIBRARY
-
-               #region CallingConvention CALLING_CONVENTION
-               /// <summary>
-               /// Specifies the calling convention.
-               /// </summary>
-               /// <remarks>
-               /// Specifies <see cref="CallingConvention.Cdecl" />.
-               /// </remarks>
-               private const CallingConvention CALLING_CONVENTION = CallingConvention.Cdecl;
-               #endregion CallingConvention CALLING_CONVENTION
-               #endregion Private Constants
-
-               #region Public OpenAL 1.1 Constants
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_API_MAJOR_VERSION = 1;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_API_MINOR_VERSION = 1;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_NO_ERROR = 0;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_OUT_OF_MEMORY = 0x200;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_INVALID_ENUM = 0x201;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_INVALID_VALUE = 0x202;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_INVALID_OPERATION = 0x203;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_NO_CURRENT_CONTEXT = 0x204;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_AL_ERROR_ON_ENTRY = 0x205;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_ALC_ERROR_ON_ENTRY = 0x206;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_OPEN_DEVICE = 0x207;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_CLOSE_DEVICE = 0x208;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_CREATE_CONTEXT = 0x209;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_MAKE_CONTEXT_CURRENT = 0x20A;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_DESTROY_CONTEXT = 0x20B;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_GEN_BUFFERS = 0x20C;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_BUFFER_DATA = 0x20D;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_IO_ERROR = 0x20E;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_UNSUPPORTED_FILE_TYPE = 0x20F;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_UNSUPPORTED_FILE_SUBTYPE = 0x210;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_ERROR_CORRUPT_OR_TRUNCATED_DATA = 0x211;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_WAVEFORM_SINE = 0x100;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_WAVEFORM_SQUARE = 0x101;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_WAVEFORM_SAWTOOTH = 0x102;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_WAVEFORM_WHITENOISE = 0x103;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_WAVEFORM_IMPULSE = 0x104;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_LOADER_BUFFER = 0x300;
-               /// <summary>
-               /// 
-               /// </summary>
-               public const int ALUT_LOADER_MEMORY = 0x301;
-               #endregion Public OpenAL 1.1 Constants
-
-               // --- Public Methods ---               
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="argcp"></param>
-               /// <param name="argv"></param>
-               /// <returns></returns>
-               //              ALUT_API ALboolean ALUT_APIENTRY alutInit (int *argcp, char **argv);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutInit(int[] argcp, string[] argv);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <returns></returns>
-               public static int alutInit()
-               {
-                       return alutInit(null, null);
-               }
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="argcp"></param>
-               /// <param name="argv"></param>
-               /// <returns></returns>
-               //              ALUT_API ALboolean ALUT_APIENTRY alutInitWithoutContext (int *argcp, char **argv);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutInitWithoutContext(int[] argcp, string[] argv);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               //              ALUT_API ALboolean ALUT_APIENTRY alutExit (void);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutExit();
-
-               /// <summary>
-               /// 
-               /// </summary>
-               //              ALUT_API ALenum ALUT_APIENTRY alutGetError (void);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutGetError();
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <returns></returns>
-               //              ALUT_API const char *ALUT_APIENTRY alutGetErrorString (ALenum error);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern string alutGetErrorString(int error);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="fileName"></param>
-               /// <returns></returns>
-               //              ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFile (const char *fileName);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutCreateBufferFromFile(string fileName);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="data"></param>
-               /// <param name="length"></param>
-               /// <returns></returns>
-               //              ALUT_API ALuint ALUT_APIENTRY alutCreateBufferFromFileImage (const ALvoid *data, ALsizei length);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutCreateBufferFromFileImage(IntPtr data, int length);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <returns></returns>
-               //              ALUT_API ALuint ALUT_APIENTRY alutCreateBufferHelloWorld (void);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutCreateBufferHelloWorld();
-               
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="waveshape"></param>
-               /// <param name="frequency"></param>
-               /// <param name="phase"></param>
-               /// <param name="duration"></param>
-               /// <returns></returns>
-               //              ALUT_API ALuint ALUT_APIENTRY alutCreateBufferWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutCreateBufferWaveform(int waveshape, float frequency, float phase, float duration);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="fileName"></param>
-               /// <param name="format"></param>
-               /// <param name="size"></param>
-               /// <param name="frequency"></param>
-               /// <returns></returns>
-               //              ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFile (const char *fileName, ALenum *format, ALsizei *size, ALfloat *frequency);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern IntPtr alutLoadMemoryFromFile(string fileName, out int format, out int size, out float frequency);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="data"></param>
-               /// <param name="length"></param>
-               /// <param name="format"></param>
-               /// <param name="size"></param>
-               /// <param name="frequency"></param>
-               /// <returns></returns>
-               //              ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryFromFileImage (const ALvoid *data, ALsizei length, ALenum *format, ALsizei *size, ALfloat *frequency);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern IntPtr alutLoadMemoryFromFileImage(IntPtr data, int length, out int format, out int size, out float frequency);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="format"></param>
-               /// <param name="size"></param>
-               /// <param name="frequency"></param>
-               /// <returns></returns>
-               //              ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryHelloWorld (ALenum *format, ALsizei *size, ALfloat *frequency);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern IntPtr alutLoadMemoryHelloWorld(out int format, out int size, out float frequency);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="waveshape"></param>
-               /// <param name="frequency"></param>
-               /// <param name="phase"></param>
-               /// <param name="duration"></param>
-               /// <param name="format"></param>
-               /// <param name="size"></param>
-               /// <param name="freq"></param>
-               /// <returns></returns>
-               //              ALUT_API ALvoid *ALUT_APIENTRY alutLoadMemoryWaveform (ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration, ALenum *format, ALsizei *size, ALfloat *freq);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern IntPtr alutLoadMemoryWaveform(int waveshape, float frequency, float phase, float duration, out int format, out int size, out float freq);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="loader"></param>
-               /// <returns></returns>
-               //              ALUT_API const char *ALUT_APIENTRY alutGetMIMETypes (ALenum loader);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern string alutGetMIMETypes(int loader);
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <returns></returns>
-               //              ALUT_API ALint ALUT_APIENTRY alutGetMajorVersion (void);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutGetMajorVersion();
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <returns></returns>
-               //              ALUT_API ALint ALUT_APIENTRY alutGetMinorVersion (void);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutGetMinorVersion();
-
-               /// <summary>
-               /// 
-               /// </summary>
-               /// <param name="duration"></param>
-               /// <returns></returns>
-               //              ALUT_API ALboolean ALUT_APIENTRY alutSleep (ALfloat duration);
-               [DllImport(ALUT_NATIVE_LIBRARY, CallingConvention=CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-               public static extern int alutSleep(float duration);
-
-               #region DEPRECATED
-
-//             #region InitializeAlut()
-//             /// <summary>
-//             /// Initializes OpenAL device and context.
-//             /// </summary>
-//             private static void InitializeAlut()
-//             {
-//#if WIN32
-//                     IntPtr device = Alc.alcOpenDevice("DirectSound3D");
-//#else
-//IntPtr device = Alc.alcOpenDevice(null);
-//#endif
-//                     IntPtr context = Alc.alcCreateContext(device, IntPtr.Zero);
-//                     Alc.alcMakeContextCurrent(context);
-//             }
-//             #endregion InitializeAlut()
-//
-//             #region ReadWavFile(Stream stream, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//             /// <summary>
-//             /// Reads a WAV file.
-//             /// </summary>
-//             /// <param name="stream">
-//             /// The stream to be read.
-//             /// </param>
-//             /// <param name="format">
-//             /// The format of the WAV file.
-//             /// </param>
-//             /// <param name="data">
-//             /// The WAV file data.
-//             /// </param>
-//             /// <param name="size">
-//             /// The size of the WAV file data.
-//             /// </param>
-//             /// <param name="frequency">
-//             /// The frequency of the WAV file.
-//             /// </param>
-//             /// <param name="loop">
-//             /// Does the WAV file loop?
-//             /// </param>
-//             private static void ReadWavFile(Stream stream, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//             {
-//                     bool success = true;
-//                     format = Al.AL_FORMAT_MONO16;
-//                     data = null;
-//                     size = 0;
-//                     frequency = 22050;
-//                     loop = Al.AL_FALSE;
-//
-//                     BinaryReader reader = new BinaryReader(stream, System.Text.Encoding.ASCII);
-//
-//                     try
-//                     {
-//                             WavFileHeader fileHeader = new WavFileHeader();
-//                             WavChunkHeader chunkHeader = new WavChunkHeader();
-//                             WavFormatChunk formatChunk = new WavFormatChunk();
-//
-//                             // Read WAV file header
-//                             fileHeader.Id = reader.ReadChars(4);
-//                             fileHeader.Length = reader.ReadInt32();
-//                             fileHeader.Type = reader.ReadChars(4);
-//
-//                             if(new string(fileHeader.Id) != "RIFF" && fileHeader.Length <= 0 && new string(fileHeader.Type) != "WAVE")
-//                             {
-//                                     success = false;
-//                             }
-//                             else
-//                             {
-//                                     while(fileHeader.Length > 8)
-//                                     {
-//                                             // Read WAV chunk header
-//                                             chunkHeader.Id = reader.ReadChars(4);
-//                                             chunkHeader.Length = reader.ReadInt32();
-//
-//                                             // Determine chunk action
-//                                             if(new string(chunkHeader.Id) == "fmt ")
-//                                             {
-//                                                     // Read WAV format header
-//                                                     formatChunk.Format = reader.ReadInt16();
-//                                                     formatChunk.Channels = reader.ReadInt16();
-//                                                     formatChunk.SamplesPerSecond = reader.ReadInt32();
-//                                                     formatChunk.BytesPerSecond = reader.ReadInt32();
-//                                                     formatChunk.BytesPerSample = reader.ReadInt16();
-//                                                     formatChunk.BitsPerSample = reader.ReadInt16();
-//
-//                                                     if(chunkHeader.Length > 16)
-//                                                     {
-//                                                             formatChunk.ExtraBytesLength = reader.ReadInt16();
-//                                                             formatChunk.ExtraBytes = reader.ReadBytes(formatChunk.ExtraBytesLength);
-//                                                     }
-//                                                     else
-//                                                     {
-//                                                             formatChunk.ExtraBytesLength = 0;
-//                                                             formatChunk.ExtraBytes = null;
-//                                                     }
-//
-//                                                     if(formatChunk.Format == 0x0001)
-//                                                     {
-//                                                             if(formatChunk.Channels == 1)
-//                                                             {
-//                                                                     if(formatChunk.BitsPerSample == 8)
-//                                                                     {
-//                                                                             format = Al.AL_FORMAT_MONO8;
-//                                                                     }
-//                                                                     else
-//                                                                     {
-//                                                                             format = Al.AL_FORMAT_MONO16;
-//                                                                     }
-//                                                             }
-//                                                             else
-//                                                             {
-//                                                                     if(formatChunk.BitsPerSample == 8)
-//                                                                     {
-//                                                                             format = Al.AL_FORMAT_STEREO8;
-//                                                                     }
-//                                                                     else
-//                                                                     {
-//                                                                             format = Al.AL_FORMAT_STEREO16;
-//                                                                     }
-//                                                             }
-//                                                     }
-//                                                     frequency = formatChunk.SamplesPerSecond;
-//                                             }
-//                                             else if(new string(chunkHeader.Id) == "data")
-//                                             {
-//                                                     if(formatChunk.Format == 0x0001)
-//                                                     {
-//                                                             size = chunkHeader.Length - 8;
-//                                                             data = reader.ReadBytes(size);
-//                                                     }
-//                                             }
-//                                             else
-//                                             {
-//                                                     if(chunkHeader.Length <= fileHeader.Length && chunkHeader.Length > 0)
-//                                                     {
-//                                                             reader.ReadBytes(chunkHeader.Length);
-//                                                     }
-//                                             }
-//
-//                                             if(chunkHeader.Length <= fileHeader.Length && chunkHeader.Length > 0)
-//                                             {
-//                                                     fileHeader.Length -= chunkHeader.Length;
-//                                             }
-//                                             else
-//                                             {
-//                                                     fileHeader.Length = 0;
-//                                             }
-//                                     }
-//                             }
-//                             success = true;
-//                     }
-//                     catch
-//                     {
-//                             success = false;
-//                     }
-//                     finally
-//                     {
-//                             reader.Close();
-//                     }
-//
-//                     if(!success)
-//                     {
-//                             format = -1;
-//                             data = null;
-//                             size = -1;
-//                             frequency = -1;
-//                             loop = -1;
-//                     }
-//             }
-//             #endregion ReadWavFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop)
-
-               //              #region alutExit()
-               //              /// <summary>
-               //              /// Destroys OpenAL context and device.
-               //              /// </summary>
-               //              // ALUTAPI ALvoid ALUTAPIENTRY alutExit(ALvoid);
-               //              public static void alutExit()
-               //              {
-               //                      IntPtr context = Alc.alcGetCurrentContext();
-               //                      IntPtr device = Alc.alcGetContextsDevice(context);
-               //                      Alc.alcMakeContextCurrent(IntPtr.Zero);
-               //                      Alc.alcDestroyContext(context);
-               //                      Alc.alcCloseDevice(device);
-               //                      context = IntPtr.Zero;
-               //                      device = IntPtr.Zero;
-               //              }
-               //              #endregion alutExit()
-
-//             #region alutInit()
-//             /// <summary>
-//             /// Initializes an OpenAL device and context.
-//             /// </summary>
-//             // ALUTAPI ALvoid ALUTAPIENTRY alutInit(ALint *argc, ALbyte **argv);
-//             public static void alutInit()
-//             {
-//                     InitializeAlut();
-//             }
-//             #endregion alutInit()
-//
-//             #region alutInit(int argc, StringBuilder argv)
-//             /// <summary>
-//             /// Initializes an OpenAL device and context.
-//             /// </summary>
-//             /// <param name="argc">
-//             /// Number of commandline arguments.
-//             /// </param>
-//             /// <param name="argv">
-//             /// The commandline arguments.
-//             /// </param>
-//             // ALUTAPI ALvoid ALUTAPIENTRY alutInit(ALint *argc, ALbyte **argv);
-//             public static void alutInit(int argc, StringBuilder argv)
-//             {
-//                     InitializeAlut();
-//             }
-//             #endregion alutInit(int argc, StringBuilder argv)
-
-//             #region Private Structs
-//             #region WavFileHeader
-//             /// <summary>
-//             /// WAV file header.
-//             /// </summary>
-//             // 12 bytes total
-//             [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
-//                     private struct WavFileHeader
-//             {
-//                     [MarshalAs(UnmanagedType.ByValArray, SizeConst=4)]
-//                     public char[] Id;
-//                     public int Length;
-//                     [MarshalAs(UnmanagedType.ByValArray, SizeConst=4)]
-//                     public char[] Type;
-//             }
-//             #endregion WavFileHeader
-//
-//             #region WavChunkHeader
-//             /// <summary>
-//             /// WAV chunk header.
-//             /// </summary>
-//             // 8 bytes total
-//             [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
-//                     private struct WavChunkHeader
-//             {
-//                     [MarshalAs(UnmanagedType.ByValArray, SizeConst=4)]
-//                     public char[] Id;
-//                     public int Length;
-//             }
-//             #endregion WavChunkHeader
-//
-//             #region WavFormatChunk
-//             /// <summary>
-//             /// WAV format chunk.
-//             /// </summary>
-//             // 16 bytes total
-//             [StructLayout(LayoutKind.Sequential)]
-//                     private struct WavFormatChunk
-//             {
-//                     public short Format;
-//                     public short Channels;
-//                     public int SamplesPerSecond;
-//                     public int BytesPerSecond;
-//                     public short BytesPerSample;
-//                     public short BitsPerSample;
-//                     public short ExtraBytesLength;
-//                     public byte[] ExtraBytes;
-//             }
-//             #endregion WavFormatChunk
-//             #endregion Private Structs
-
-//             #region alutLoadWAVFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//             /// <summary>
-//             /// Loads a WAV file.
-//             /// </summary>
-//             /// <param name="fileName">
-//             /// The filename to be loaded.
-//             /// </param>
-//             /// <param name="format">
-//             /// The format of the WAV file.
-//             /// </param>
-//             /// <param name="data">
-//             /// The WAV file data.
-//             /// </param>
-//             /// <param name="size">
-//             /// The size of the WAV file data.
-//             /// </param>
-//             /// <param name="frequency">
-//             /// The WAV file frequency.
-//             /// </param>
-//             /// <param name="loop">
-//             /// Does the WAV file loop?
-//             /// </param>
-//             // ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVFile(ALbyte *file, ALenum *format, ALvoid **data, ALsizei *size, ALsizei *freq, ALboolean *loop);
-//             public static void alutLoadWAVFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//             {
-//                     if(File.Exists(fileName))
-//                     {
-//                             FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
-//                             ReadWavFile(stream, out format, out data, out size, out frequency, out loop);
-//                             stream.Close();
-//                             stream = null;
-//                     }
-//                     else
-//                     {
-//                             format = -1;
-//                             data = null;
-//                             size = -1;
-//                             frequency = -1;
-//                             loop = -1;
-//                     }
-//             }
-//             #endregion alutLoadWAVFile(string fileName, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//
-//             #region alutLoadWAVMemory([In] byte[] memory, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//             /// <summary>
-//             /// Loads a WAV file from memory.
-//             /// </summary>
-//             /// <param name="memory">
-//             /// The WAV memory to be loaded.
-//             /// </param>
-//             /// <param name="format">
-//             /// The format of the WAV file.
-//             /// </param>
-//             /// <param name="data">
-//             /// The WAV file data.
-//             /// </param>
-//             /// <param name="size">
-//             /// The size of the WAV file data.
-//             /// </param>
-//             /// <param name="frequency">
-//             /// The WAV file frequency.
-//             /// </param>
-//             /// <param name="loop">
-//             /// Does the WAV file loop?
-//             /// </param>
-//             // ALUTAPI ALvoid ALUTAPIENTRY alutLoadWAVMemory(ALbyte *memory, ALenum *format, ALvoid **data, ALsizei *size, ALsizei *freq, ALboolean *loop);
-//             public static void alutLoadWAVMemory([In] byte[] memory, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//             {
-//                     if(memory != null)
-//                     {
-//                             MemoryStream stream = new MemoryStream(memory, 0, memory.Length);
-//                             ReadWavFile(stream, out format, out data, out size, out frequency, out loop);
-//                             stream.Close();
-//                             stream = null;
-//                     }
-//                     else
-//                     {
-//                             format = -1;
-//                             data = null;
-//                             size = -1;
-//                             frequency = -1;
-//                             loop = -1;
-//                     }
-//             }
-//             #endregion alutLoadWAVMemory([In] byte[] memory, out int format, out byte[] data, out int size, out int frequency, out int loop)
-//
-//             #region alutUnloadWAV(int format, out byte[] data, int size, int frequency)
-//             /// <summary>
-//             /// Unloads a WAV file.
-//             /// </summary>
-//             /// <param name="format">
-//             /// The format of the WAV file.
-//             /// </param>
-//             /// <param name="data">
-//             /// The data of the WAV file.
-//             /// </param>
-//             /// <param name="size">
-//             /// The size of the WAV file's data.
-//             /// </param>
-//             /// <param name="frequency">
-//             /// The frequency of the WAV file.
-//             /// </param>
-//             // ALUTAPI ALvoid ALUTAPIENTRY alutUnloadWAV(ALenum format, ALvoid *data, ALsizei size, ALsizei freq);
-//             public static void alutUnloadWAV(int format, out byte[] data, int size, int frequency)
-//             {
-//                     data = null;
-//             }
-//             #endregion alutUnloadWAV(int format, out byte[] data, int size, int frequency)
-       #endregion DEPRECATED
-       }
-}
diff --git a/Source/Compatibility/Tao/OpenGl/GLCore.cs b/Source/Compatibility/Tao/OpenGl/GLCore.cs
deleted file mode 100644 (file)
index 8ffcbf4..0000000
+++ /dev/null
@@ -1,1793 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace Tao.OpenGl
-{
-    using System;
-    using System.Runtime.InteropServices;
-
-#pragma warning disable 3019
-#pragma warning disable 1591
-
-    partial class Gl
-    {
-
-        internal static partial class Imports
-        {
-
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNewList", ExactSpelling = true)]
-            internal extern static void NewList(UInt32 list, int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEndList", ExactSpelling = true)]
-            internal extern static void EndList();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCallList", ExactSpelling = true)]
-            internal extern static void CallList(UInt32 list);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCallLists", ExactSpelling = true)]
-            internal extern static void CallLists(Int32 n, int type, IntPtr lists);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteLists", ExactSpelling = true)]
-            internal extern static void DeleteLists(UInt32 list, Int32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenLists", ExactSpelling = true)]
-            internal extern static Int32 GenLists(Int32 range);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glListBase", ExactSpelling = true)]
-            internal extern static void ListBase(UInt32 @base);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBegin", ExactSpelling = true)]
-            internal extern static void Begin(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBitmap", ExactSpelling = true)]
-            internal extern static unsafe void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3b", ExactSpelling = true)]
-            internal extern static void Color3b(SByte red, SByte green, SByte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3bv", ExactSpelling = true)]
-            internal extern static unsafe void Color3bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3d", ExactSpelling = true)]
-            internal extern static void Color3d(Double red, Double green, Double blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3dv", ExactSpelling = true)]
-            internal extern static unsafe void Color3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3f", ExactSpelling = true)]
-            internal extern static void Color3f(Single red, Single green, Single blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3fv", ExactSpelling = true)]
-            internal extern static unsafe void Color3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3i", ExactSpelling = true)]
-            internal extern static void Color3i(Int32 red, Int32 green, Int32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3iv", ExactSpelling = true)]
-            internal extern static unsafe void Color3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3s", ExactSpelling = true)]
-            internal extern static void Color3s(Int16 red, Int16 green, Int16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3sv", ExactSpelling = true)]
-            internal extern static unsafe void Color3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3ub", ExactSpelling = true)]
-            internal extern static void Color3ub(Byte red, Byte green, Byte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3ubv", ExactSpelling = true)]
-            internal extern static unsafe void Color3ubv(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3ui", ExactSpelling = true)]
-            internal extern static void Color3ui(UInt32 red, UInt32 green, UInt32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3uiv", ExactSpelling = true)]
-            internal extern static unsafe void Color3uiv(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3us", ExactSpelling = true)]
-            internal extern static void Color3us(UInt16 red, UInt16 green, UInt16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor3usv", ExactSpelling = true)]
-            internal extern static unsafe void Color3usv(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4b", ExactSpelling = true)]
-            internal extern static void Color4b(SByte red, SByte green, SByte blue, SByte alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4bv", ExactSpelling = true)]
-            internal extern static unsafe void Color4bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4d", ExactSpelling = true)]
-            internal extern static void Color4d(Double red, Double green, Double blue, Double alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4dv", ExactSpelling = true)]
-            internal extern static unsafe void Color4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4f", ExactSpelling = true)]
-            internal extern static void Color4f(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4fv", ExactSpelling = true)]
-            internal extern static unsafe void Color4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4i", ExactSpelling = true)]
-            internal extern static void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4iv", ExactSpelling = true)]
-            internal extern static unsafe void Color4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4s", ExactSpelling = true)]
-            internal extern static void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4sv", ExactSpelling = true)]
-            internal extern static unsafe void Color4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4ub", ExactSpelling = true)]
-            internal extern static void Color4ub(Byte red, Byte green, Byte blue, Byte alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4ubv", ExactSpelling = true)]
-            internal extern static unsafe void Color4ubv(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4ui", ExactSpelling = true)]
-            internal extern static void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4uiv", ExactSpelling = true)]
-            internal extern static unsafe void Color4uiv(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4us", ExactSpelling = true)]
-            internal extern static void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColor4usv", ExactSpelling = true)]
-            internal extern static unsafe void Color4usv(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEdgeFlag", ExactSpelling = true)]
-            internal extern static void EdgeFlag(Int32 flag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEdgeFlagv", ExactSpelling = true)]
-            internal extern static unsafe void EdgeFlagv(Int32* flag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnd", ExactSpelling = true)]
-            internal extern static void End();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexd", ExactSpelling = true)]
-            internal extern static void Indexd(Double c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexdv", ExactSpelling = true)]
-            internal extern static unsafe void Indexdv(Double* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexf", ExactSpelling = true)]
-            internal extern static void Indexf(Single c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexfv", ExactSpelling = true)]
-            internal extern static unsafe void Indexfv(Single* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexi", ExactSpelling = true)]
-            internal extern static void Indexi(Int32 c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexiv", ExactSpelling = true)]
-            internal extern static unsafe void Indexiv(Int32* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexs", ExactSpelling = true)]
-            internal extern static void Indexs(Int16 c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexsv", ExactSpelling = true)]
-            internal extern static unsafe void Indexsv(Int16* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3b", ExactSpelling = true)]
-            internal extern static void Normal3b(SByte nx, SByte ny, SByte nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3bv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3d", ExactSpelling = true)]
-            internal extern static void Normal3d(Double nx, Double ny, Double nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3dv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3f", ExactSpelling = true)]
-            internal extern static void Normal3f(Single nx, Single ny, Single nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3fv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3i", ExactSpelling = true)]
-            internal extern static void Normal3i(Int32 nx, Int32 ny, Int32 nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3iv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3s", ExactSpelling = true)]
-            internal extern static void Normal3s(Int16 nx, Int16 ny, Int16 nz);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormal3sv", ExactSpelling = true)]
-            internal extern static unsafe void Normal3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2d", ExactSpelling = true)]
-            internal extern static void RasterPos2d(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2dv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2f", ExactSpelling = true)]
-            internal extern static void RasterPos2f(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2fv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2i", ExactSpelling = true)]
-            internal extern static void RasterPos2i(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2iv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2s", ExactSpelling = true)]
-            internal extern static void RasterPos2s(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos2sv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3d", ExactSpelling = true)]
-            internal extern static void RasterPos3d(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3dv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3f", ExactSpelling = true)]
-            internal extern static void RasterPos3f(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3fv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3i", ExactSpelling = true)]
-            internal extern static void RasterPos3i(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3iv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3s", ExactSpelling = true)]
-            internal extern static void RasterPos3s(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos3sv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4d", ExactSpelling = true)]
-            internal extern static void RasterPos4d(Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4dv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4f", ExactSpelling = true)]
-            internal extern static void RasterPos4f(Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4fv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4i", ExactSpelling = true)]
-            internal extern static void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4iv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4s", ExactSpelling = true)]
-            internal extern static void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRasterPos4sv", ExactSpelling = true)]
-            internal extern static unsafe void RasterPos4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectd", ExactSpelling = true)]
-            internal extern static void Rectd(Double x1, Double y1, Double x2, Double y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectdv", ExactSpelling = true)]
-            internal extern static unsafe void Rectdv(Double* v1, Double* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectf", ExactSpelling = true)]
-            internal extern static void Rectf(Single x1, Single y1, Single x2, Single y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectfv", ExactSpelling = true)]
-            internal extern static unsafe void Rectfv(Single* v1, Single* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRecti", ExactSpelling = true)]
-            internal extern static void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectiv", ExactSpelling = true)]
-            internal extern static unsafe void Rectiv(Int32* v1, Int32* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRects", ExactSpelling = true)]
-            internal extern static void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRectsv", ExactSpelling = true)]
-            internal extern static unsafe void Rectsv(Int16* v1, Int16* v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1d", ExactSpelling = true)]
-            internal extern static void TexCoord1d(Double s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1f", ExactSpelling = true)]
-            internal extern static void TexCoord1f(Single s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1i", ExactSpelling = true)]
-            internal extern static void TexCoord1i(Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1s", ExactSpelling = true)]
-            internal extern static void TexCoord1s(Int16 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord1sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord1sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2d", ExactSpelling = true)]
-            internal extern static void TexCoord2d(Double s, Double t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2f", ExactSpelling = true)]
-            internal extern static void TexCoord2f(Single s, Single t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2i", ExactSpelling = true)]
-            internal extern static void TexCoord2i(Int32 s, Int32 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2s", ExactSpelling = true)]
-            internal extern static void TexCoord2s(Int16 s, Int16 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord2sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3d", ExactSpelling = true)]
-            internal extern static void TexCoord3d(Double s, Double t, Double r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3f", ExactSpelling = true)]
-            internal extern static void TexCoord3f(Single s, Single t, Single r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3i", ExactSpelling = true)]
-            internal extern static void TexCoord3i(Int32 s, Int32 t, Int32 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3s", ExactSpelling = true)]
-            internal extern static void TexCoord3s(Int16 s, Int16 t, Int16 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord3sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4d", ExactSpelling = true)]
-            internal extern static void TexCoord4d(Double s, Double t, Double r, Double q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4dv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4f", ExactSpelling = true)]
-            internal extern static void TexCoord4f(Single s, Single t, Single r, Single q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4fv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4i", ExactSpelling = true)]
-            internal extern static void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4iv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4s", ExactSpelling = true)]
-            internal extern static void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoord4sv", ExactSpelling = true)]
-            internal extern static unsafe void TexCoord4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2d", ExactSpelling = true)]
-            internal extern static void Vertex2d(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2dv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2f", ExactSpelling = true)]
-            internal extern static void Vertex2f(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2fv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2i", ExactSpelling = true)]
-            internal extern static void Vertex2i(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2iv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2s", ExactSpelling = true)]
-            internal extern static void Vertex2s(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex2sv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3d", ExactSpelling = true)]
-            internal extern static void Vertex3d(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3dv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3f", ExactSpelling = true)]
-            internal extern static void Vertex3f(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3fv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3i", ExactSpelling = true)]
-            internal extern static void Vertex3i(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3iv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3s", ExactSpelling = true)]
-            internal extern static void Vertex3s(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex3sv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4d", ExactSpelling = true)]
-            internal extern static void Vertex4d(Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4dv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4f", ExactSpelling = true)]
-            internal extern static void Vertex4f(Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4fv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4i", ExactSpelling = true)]
-            internal extern static void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4iv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4s", ExactSpelling = true)]
-            internal extern static void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertex4sv", ExactSpelling = true)]
-            internal extern static unsafe void Vertex4sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClipPlane", ExactSpelling = true)]
-            internal extern static unsafe void ClipPlane(int plane, Double* equation);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorMaterial", ExactSpelling = true)]
-            internal extern static void ColorMaterial(int face, int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCullFace", ExactSpelling = true)]
-            internal extern static void CullFace(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogf", ExactSpelling = true)]
-            internal extern static void Fogf(int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogfv", ExactSpelling = true)]
-            internal extern static unsafe void Fogfv(int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogi", ExactSpelling = true)]
-            internal extern static void Fogi(int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogiv", ExactSpelling = true)]
-            internal extern static unsafe void Fogiv(int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFrontFace", ExactSpelling = true)]
-            internal extern static void FrontFace(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glHint", ExactSpelling = true)]
-            internal extern static void Hint(int target, int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightf", ExactSpelling = true)]
-            internal extern static void Lightf(int light, int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightfv", ExactSpelling = true)]
-            internal extern static unsafe void Lightfv(int light, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLighti", ExactSpelling = true)]
-            internal extern static void Lighti(int light, int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightiv", ExactSpelling = true)]
-            internal extern static unsafe void Lightiv(int light, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModelf", ExactSpelling = true)]
-            internal extern static void LightModelf(int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModelfv", ExactSpelling = true)]
-            internal extern static unsafe void LightModelfv(int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModeli", ExactSpelling = true)]
-            internal extern static void LightModeli(int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLightModeliv", ExactSpelling = true)]
-            internal extern static unsafe void LightModeliv(int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLineStipple", ExactSpelling = true)]
-            internal extern static void LineStipple(Int32 factor, UInt16 pattern);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLineWidth", ExactSpelling = true)]
-            internal extern static void LineWidth(Single width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMaterialf", ExactSpelling = true)]
-            internal extern static void Materialf(int face, int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMaterialfv", ExactSpelling = true)]
-            internal extern static unsafe void Materialfv(int face, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMateriali", ExactSpelling = true)]
-            internal extern static void Materiali(int face, int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMaterialiv", ExactSpelling = true)]
-            internal extern static unsafe void Materialiv(int face, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointSize", ExactSpelling = true)]
-            internal extern static void PointSize(Single size);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPolygonMode", ExactSpelling = true)]
-            internal extern static void PolygonMode(int face, int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPolygonStipple", ExactSpelling = true)]
-            internal extern static unsafe void PolygonStipple(Byte* mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glScissor", ExactSpelling = true)]
-            internal extern static void Scissor(Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glShadeModel", ExactSpelling = true)]
-            internal extern static void ShadeModel(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameterf", ExactSpelling = true)]
-            internal extern static void TexParameterf(int target, int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void TexParameterfv(int target, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameteri", ExactSpelling = true)]
-            internal extern static void TexParameteri(int target, int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void TexParameteriv(int target, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexImage1D", ExactSpelling = true)]
-            internal extern static void TexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexImage2D", ExactSpelling = true)]
-            internal extern static void TexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnvf", ExactSpelling = true)]
-            internal extern static void TexEnvf(int target, int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnvfv", ExactSpelling = true)]
-            internal extern static unsafe void TexEnvfv(int target, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnvi", ExactSpelling = true)]
-            internal extern static void TexEnvi(int target, int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexEnviv", ExactSpelling = true)]
-            internal extern static unsafe void TexEnviv(int target, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGend", ExactSpelling = true)]
-            internal extern static void TexGend(int coord, int pname, Double param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGendv", ExactSpelling = true)]
-            internal extern static unsafe void TexGendv(int coord, int pname, Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGenf", ExactSpelling = true)]
-            internal extern static void TexGenf(int coord, int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGenfv", ExactSpelling = true)]
-            internal extern static unsafe void TexGenfv(int coord, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGeni", ExactSpelling = true)]
-            internal extern static void TexGeni(int coord, int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexGeniv", ExactSpelling = true)]
-            internal extern static unsafe void TexGeniv(int coord, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFeedbackBuffer", ExactSpelling = true)]
-            internal extern static unsafe void FeedbackBuffer(Int32 size, int type, [Out] Single* buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSelectBuffer", ExactSpelling = true)]
-            internal extern static unsafe void SelectBuffer(Int32 size, [Out] UInt32* buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRenderMode", ExactSpelling = true)]
-            internal extern static Int32 RenderMode(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glInitNames", ExactSpelling = true)]
-            internal extern static void InitNames();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadName", ExactSpelling = true)]
-            internal extern static void LoadName(UInt32 name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPassThrough", ExactSpelling = true)]
-            internal extern static void PassThrough(Single token);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopName", ExactSpelling = true)]
-            internal extern static void PopName();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushName", ExactSpelling = true)]
-            internal extern static void PushName(UInt32 name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawBuffer", ExactSpelling = true)]
-            internal extern static void DrawBuffer(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClear", ExactSpelling = true)]
-            internal extern static void Clear(int mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearAccum", ExactSpelling = true)]
-            internal extern static void ClearAccum(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearIndex", ExactSpelling = true)]
-            internal extern static void ClearIndex(Single c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearColor", ExactSpelling = true)]
-            internal extern static void ClearColor(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearStencil", ExactSpelling = true)]
-            internal extern static void ClearStencil(Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClearDepth", ExactSpelling = true)]
-            internal extern static void ClearDepth(Double depth);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilMask", ExactSpelling = true)]
-            internal extern static void StencilMask(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorMask", ExactSpelling = true)]
-            internal extern static void ColorMask(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDepthMask", ExactSpelling = true)]
-            internal extern static void DepthMask(Int32 flag);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexMask", ExactSpelling = true)]
-            internal extern static void IndexMask(UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAccum", ExactSpelling = true)]
-            internal extern static void Accum(int op, Single value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDisable", ExactSpelling = true)]
-            internal extern static void Disable(int cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnable", ExactSpelling = true)]
-            internal extern static void Enable(int cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFinish", ExactSpelling = true)]
-            internal extern static void Finish();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFlush", ExactSpelling = true)]
-            internal extern static void Flush();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopAttrib", ExactSpelling = true)]
-            internal extern static void PopAttrib();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushAttrib", ExactSpelling = true)]
-            internal extern static void PushAttrib(int mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap1d", ExactSpelling = true)]
-            internal extern static unsafe void Map1d(int target, Double u1, Double u2, Int32 stride, Int32 order, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap1f", ExactSpelling = true)]
-            internal extern static unsafe void Map1f(int target, Single u1, Single u2, Int32 stride, Int32 order, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap2d", ExactSpelling = true)]
-            internal extern static unsafe void Map2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMap2f", ExactSpelling = true)]
-            internal extern static unsafe void Map2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid1d", ExactSpelling = true)]
-            internal extern static void MapGrid1d(Int32 un, Double u1, Double u2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid1f", ExactSpelling = true)]
-            internal extern static void MapGrid1f(Int32 un, Single u1, Single u2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid2d", ExactSpelling = true)]
-            internal extern static void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapGrid2f", ExactSpelling = true)]
-            internal extern static void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1d", ExactSpelling = true)]
-            internal extern static void EvalCoord1d(Double u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1dv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord1dv(Double* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1f", ExactSpelling = true)]
-            internal extern static void EvalCoord1f(Single u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord1fv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord1fv(Single* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2d", ExactSpelling = true)]
-            internal extern static void EvalCoord2d(Double u, Double v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2dv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord2dv(Double* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2f", ExactSpelling = true)]
-            internal extern static void EvalCoord2f(Single u, Single v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalCoord2fv", ExactSpelling = true)]
-            internal extern static unsafe void EvalCoord2fv(Single* u);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalMesh1", ExactSpelling = true)]
-            internal extern static void EvalMesh1(int mode, Int32 i1, Int32 i2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalPoint1", ExactSpelling = true)]
-            internal extern static void EvalPoint1(Int32 i);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalMesh2", ExactSpelling = true)]
-            internal extern static void EvalMesh2(int mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEvalPoint2", ExactSpelling = true)]
-            internal extern static void EvalPoint2(Int32 i, Int32 j);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAlphaFunc", ExactSpelling = true)]
-            internal extern static void AlphaFunc(int func, Single @ref);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendFunc", ExactSpelling = true)]
-            internal extern static void BlendFunc(int sfactor, int dfactor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLogicOp", ExactSpelling = true)]
-            internal extern static void LogicOp(int opcode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilFunc", ExactSpelling = true)]
-            internal extern static void StencilFunc(int func, Int32 @ref, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilOp", ExactSpelling = true)]
-            internal extern static void StencilOp(int fail, int zfail, int zpass);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDepthFunc", ExactSpelling = true)]
-            internal extern static void DepthFunc(int func);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelZoom", ExactSpelling = true)]
-            internal extern static void PixelZoom(Single xfactor, Single yfactor);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelTransferf", ExactSpelling = true)]
-            internal extern static void PixelTransferf(int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelTransferi", ExactSpelling = true)]
-            internal extern static void PixelTransferi(int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelStoref", ExactSpelling = true)]
-            internal extern static void PixelStoref(int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelStorei", ExactSpelling = true)]
-            internal extern static void PixelStorei(int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelMapfv", ExactSpelling = true)]
-            internal extern static unsafe void PixelMapfv(int map, Int32 mapsize, Single* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelMapuiv", ExactSpelling = true)]
-            internal extern static unsafe void PixelMapuiv(int map, Int32 mapsize, UInt32* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPixelMapusv", ExactSpelling = true)]
-            internal extern static unsafe void PixelMapusv(int map, Int32 mapsize, UInt16* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glReadBuffer", ExactSpelling = true)]
-            internal extern static void ReadBuffer(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyPixels", ExactSpelling = true)]
-            internal extern static void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, int type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glReadPixels", ExactSpelling = true)]
-            internal extern static void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [Out] IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawPixels", ExactSpelling = true)]
-            internal extern static void DrawPixels(Int32 width, Int32 height, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBooleanv", ExactSpelling = true)]
-            internal extern static unsafe void GetBooleanv(int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetClipPlane", ExactSpelling = true)]
-            internal extern static unsafe void GetClipPlane(int plane, [Out] Double* equation);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetDoublev", ExactSpelling = true)]
-            internal extern static unsafe void GetDoublev(int pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetError", ExactSpelling = true)]
-            internal extern static int GetError();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetFloatv", ExactSpelling = true)]
-            internal extern static unsafe void GetFloatv(int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetIntegerv", ExactSpelling = true)]
-            internal extern static unsafe void GetIntegerv(int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetLightfv", ExactSpelling = true)]
-            internal extern static unsafe void GetLightfv(int light, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetLightiv", ExactSpelling = true)]
-            internal extern static unsafe void GetLightiv(int light, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMapdv", ExactSpelling = true)]
-            internal extern static unsafe void GetMapdv(int target, int query, [Out] Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMapfv", ExactSpelling = true)]
-            internal extern static unsafe void GetMapfv(int target, int query, [Out] Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMapiv", ExactSpelling = true)]
-            internal extern static unsafe void GetMapiv(int target, int query, [Out] Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMaterialfv", ExactSpelling = true)]
-            internal extern static unsafe void GetMaterialfv(int face, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMaterialiv", ExactSpelling = true)]
-            internal extern static unsafe void GetMaterialiv(int face, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPixelMapfv", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelMapfv(int map, [Out] Single* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPixelMapuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelMapuiv(int map, [Out] UInt32* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPixelMapusv", ExactSpelling = true)]
-            internal extern static unsafe void GetPixelMapusv(int map, [Out] UInt16* values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPolygonStipple", ExactSpelling = true)]
-            internal extern static unsafe void GetPolygonStipple([Out] Byte* mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetString", ExactSpelling = true)]
-            internal extern static IntPtr GetString(int name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexEnvfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexEnvfv(int target, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexEnviv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexEnviv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexGendv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexGendv(int coord, int pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexGenfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexGenfv(int coord, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexGeniv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexGeniv(int coord, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexImage", ExactSpelling = true)]
-            internal extern static void GetTexImage(int target, Int32 level, int format, int type, [Out] IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameterfv(int target, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexParameteriv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexLevelParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexLevelParameterfv(int target, Int32 level, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetTexLevelParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetTexLevelParameteriv(int target, Int32 level, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsEnabled", ExactSpelling = true)]
-            internal extern static Int32 IsEnabled(int cap);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsList", ExactSpelling = true)]
-            internal extern static Int32 IsList(UInt32 list);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDepthRange", ExactSpelling = true)]
-            internal extern static void DepthRange(Double near, Double far);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFrustum", ExactSpelling = true)]
-            internal extern static void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadIdentity", ExactSpelling = true)]
-            internal extern static void LoadIdentity();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void LoadMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void LoadMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMatrixMode", ExactSpelling = true)]
-            internal extern static void MatrixMode(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void MultMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void MultMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glOrtho", ExactSpelling = true)]
-            internal extern static void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopMatrix", ExactSpelling = true)]
-            internal extern static void PopMatrix();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushMatrix", ExactSpelling = true)]
-            internal extern static void PushMatrix();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRotated", ExactSpelling = true)]
-            internal extern static void Rotated(Double angle, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glRotatef", ExactSpelling = true)]
-            internal extern static void Rotatef(Single angle, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glScaled", ExactSpelling = true)]
-            internal extern static void Scaled(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glScalef", ExactSpelling = true)]
-            internal extern static void Scalef(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTranslated", ExactSpelling = true)]
-            internal extern static void Translated(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTranslatef", ExactSpelling = true)]
-            internal extern static void Translatef(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glViewport", ExactSpelling = true)]
-            internal extern static void Viewport(Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glArrayElement", ExactSpelling = true)]
-            internal extern static void ArrayElement(Int32 i);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorPointer", ExactSpelling = true)]
-            internal extern static void ColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDisableClientState", ExactSpelling = true)]
-            internal extern static void DisableClientState(int array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawArrays", ExactSpelling = true)]
-            internal extern static void DrawArrays(int mode, Int32 first, Int32 count);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawElements", ExactSpelling = true)]
-            internal extern static void DrawElements(int mode, Int32 count, int type, IntPtr indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEdgeFlagPointer", ExactSpelling = true)]
-            internal extern static void EdgeFlagPointer(Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnableClientState", ExactSpelling = true)]
-            internal extern static void EnableClientState(int array);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetPointerv", ExactSpelling = true)]
-            internal extern static void GetPointerv(int pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexPointer", ExactSpelling = true)]
-            internal extern static void IndexPointer(int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glInterleavedArrays", ExactSpelling = true)]
-            internal extern static void InterleavedArrays(int format, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glNormalPointer", ExactSpelling = true)]
-            internal extern static void NormalPointer(int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexCoordPointer", ExactSpelling = true)]
-            internal extern static void TexCoordPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexPointer", ExactSpelling = true)]
-            internal extern static void VertexPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPolygonOffset", ExactSpelling = true)]
-            internal extern static void PolygonOffset(Single factor, Single units);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexImage1D", ExactSpelling = true)]
-            internal extern static void CopyTexImage1D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexImage2D", ExactSpelling = true)]
-            internal extern static void CopyTexImage2D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexSubImage1D", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexSubImage2D", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexSubImage1D", ExactSpelling = true)]
-            internal extern static void TexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexSubImage2D", ExactSpelling = true)]
-            internal extern static void TexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAreTexturesResident", ExactSpelling = true)]
-            internal extern static unsafe Int32 AreTexturesResident(Int32 n, UInt32* textures, [Out] Int32* residences);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBindTexture", ExactSpelling = true)]
-            internal extern static void BindTexture(int target, UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteTextures", ExactSpelling = true)]
-            internal extern static unsafe void DeleteTextures(Int32 n, UInt32* textures);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenTextures", ExactSpelling = true)]
-            internal extern static unsafe void GenTextures(Int32 n, [Out] UInt32* textures);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsTexture", ExactSpelling = true)]
-            internal extern static Int32 IsTexture(UInt32 texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPrioritizeTextures", ExactSpelling = true)]
-            internal extern static unsafe void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexub", ExactSpelling = true)]
-            internal extern static void Indexub(Byte c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIndexubv", ExactSpelling = true)]
-            internal extern static unsafe void Indexubv(Byte* c);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPopClientAttrib", ExactSpelling = true)]
-            internal extern static void PopClientAttrib();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPushClientAttrib", ExactSpelling = true)]
-            internal extern static void PushClientAttrib(int mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendColor", ExactSpelling = true)]
-            internal extern static void BlendColor(Single red, Single green, Single blue, Single alpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendEquation", ExactSpelling = true)]
-            internal extern static void BlendEquation(int mode);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawRangeElements", ExactSpelling = true)]
-            internal extern static void DrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorTable", ExactSpelling = true)]
-            internal extern static void ColorTable(int target, int internalformat, Int32 width, int format, int type, IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorTableParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void ColorTableParameterfv(int target, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorTableParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void ColorTableParameteriv(int target, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyColorTable", ExactSpelling = true)]
-            internal extern static void CopyColorTable(int target, int internalformat, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetColorTable", ExactSpelling = true)]
-            internal extern static void GetColorTable(int target, int format, int type, [Out] IntPtr table);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetColorTableParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameterfv(int target, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetColorTableParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetColorTableParameteriv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glColorSubTable", ExactSpelling = true)]
-            internal extern static void ColorSubTable(int target, Int32 start, Int32 count, int format, int type, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyColorSubTable", ExactSpelling = true)]
-            internal extern static void CopyColorSubTable(int target, Int32 start, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionFilter1D", ExactSpelling = true)]
-            internal extern static void ConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionFilter2D", ExactSpelling = true)]
-            internal extern static void ConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameterf", ExactSpelling = true)]
-            internal extern static void ConvolutionParameterf(int target, int pname, Single @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void ConvolutionParameterfv(int target, int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameteri", ExactSpelling = true)]
-            internal extern static void ConvolutionParameteri(int target, int pname, Int32 @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glConvolutionParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void ConvolutionParameteriv(int target, int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyConvolutionFilter1D", ExactSpelling = true)]
-            internal extern static void CopyConvolutionFilter1D(int target, int internalformat, Int32 x, Int32 y, Int32 width);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyConvolutionFilter2D", ExactSpelling = true)]
-            internal extern static void CopyConvolutionFilter2D(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetConvolutionFilter", ExactSpelling = true)]
-            internal extern static void GetConvolutionFilter(int target, int format, int type, [Out] IntPtr image);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetConvolutionParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetConvolutionParameterfv(int target, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetConvolutionParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetConvolutionParameteriv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetSeparableFilter", ExactSpelling = true)]
-            internal extern static void GetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSeparableFilter2D", ExactSpelling = true)]
-            internal extern static void SeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetHistogram", ExactSpelling = true)]
-            internal extern static void GetHistogram(int target, Int32 reset, int format, int type, [Out] IntPtr values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetHistogramParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetHistogramParameterfv(int target, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetHistogramParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetHistogramParameteriv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMinmax", ExactSpelling = true)]
-            internal extern static void GetMinmax(int target, Int32 reset, int format, int type, [Out] IntPtr values);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMinmaxParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void GetMinmaxParameterfv(int target, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetMinmaxParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetMinmaxParameteriv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glHistogram", ExactSpelling = true)]
-            internal extern static void Histogram(int target, Int32 width, int internalformat, Int32 sink);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMinmax", ExactSpelling = true)]
-            internal extern static void Minmax(int target, int internalformat, Int32 sink);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glResetHistogram", ExactSpelling = true)]
-            internal extern static void ResetHistogram(int target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glResetMinmax", ExactSpelling = true)]
-            internal extern static void ResetMinmax(int target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexImage3D", ExactSpelling = true)]
-            internal extern static void TexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glTexSubImage3D", ExactSpelling = true)]
-            internal extern static void TexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCopyTexSubImage3D", ExactSpelling = true)]
-            internal extern static void CopyTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glActiveTexture", ExactSpelling = true)]
-            internal extern static void ActiveTexture(int texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glClientActiveTexture", ExactSpelling = true)]
-            internal extern static void ClientActiveTexture(int texture);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1d(int target, Double s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1dv(int target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1f(int target, Single s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1fv(int target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1i(int target, Int32 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1iv(int target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord1s(int target, Int16 s);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord1sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord1sv(int target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2d(int target, Double s, Double t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2dv(int target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2f(int target, Single s, Single t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2fv(int target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2i(int target, Int32 s, Int32 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2iv(int target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord2s(int target, Int16 s, Int16 t);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord2sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord2sv(int target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3d(int target, Double s, Double t, Double r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3dv(int target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3f(int target, Single s, Single t, Single r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3fv(int target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3i(int target, Int32 s, Int32 t, Int32 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3iv(int target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord3s(int target, Int16 s, Int16 t, Int16 r);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord3sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord3sv(int target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4d", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4d(int target, Double s, Double t, Double r, Double q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4dv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4dv(int target, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4f", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4f(int target, Single s, Single t, Single r, Single q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4fv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4fv(int target, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4i", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4i(int target, Int32 s, Int32 t, Int32 r, Int32 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4iv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4iv(int target, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4s", ExactSpelling = true)]
-            internal extern static void MultiTexCoord4s(int target, Int16 s, Int16 t, Int16 r, Int16 q);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiTexCoord4sv", ExactSpelling = true)]
-            internal extern static unsafe void MultiTexCoord4sv(int target, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadTransposeMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void LoadTransposeMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLoadTransposeMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void LoadTransposeMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultTransposeMatrixf", ExactSpelling = true)]
-            internal extern static unsafe void MultTransposeMatrixf(Single* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultTransposeMatrixd", ExactSpelling = true)]
-            internal extern static unsafe void MultTransposeMatrixd(Double* m);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSampleCoverage", ExactSpelling = true)]
-            internal extern static void SampleCoverage(Single value, Int32 invert);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexImage3D", ExactSpelling = true)]
-            internal extern static void CompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexImage2D", ExactSpelling = true)]
-            internal extern static void CompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexImage1D", ExactSpelling = true)]
-            internal extern static void CompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexSubImage3D", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexSubImage2D", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompressedTexSubImage1D", ExactSpelling = true)]
-            internal extern static void CompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetCompressedTexImage", ExactSpelling = true)]
-            internal extern static void GetCompressedTexImage(int target, Int32 level, [Out] IntPtr img);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendFuncSeparate", ExactSpelling = true)]
-            internal extern static void BlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordf", ExactSpelling = true)]
-            internal extern static void FogCoordf(Single coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordfv", ExactSpelling = true)]
-            internal extern static unsafe void FogCoordfv(Single* coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordd", ExactSpelling = true)]
-            internal extern static void FogCoordd(Double coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoorddv", ExactSpelling = true)]
-            internal extern static unsafe void FogCoorddv(Double* coord);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glFogCoordPointer", ExactSpelling = true)]
-            internal extern static void FogCoordPointer(int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiDrawArrays", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawArrays(int mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMultiDrawElements", ExactSpelling = true)]
-            internal extern static unsafe void MultiDrawElements(int mode, Int32* count, int type, IntPtr indices, Int32 primcount);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameterf", ExactSpelling = true)]
-            internal extern static void PointParameterf(int pname, Single param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameterfv", ExactSpelling = true)]
-            internal extern static unsafe void PointParameterfv(int pname, Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameteri", ExactSpelling = true)]
-            internal extern static void PointParameteri(int pname, Int32 param);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glPointParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void PointParameteriv(int pname, Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3b", ExactSpelling = true)]
-            internal extern static void SecondaryColor3b(SByte red, SByte green, SByte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3bv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3bv(SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3d", ExactSpelling = true)]
-            internal extern static void SecondaryColor3d(Double red, Double green, Double blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3dv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3f", ExactSpelling = true)]
-            internal extern static void SecondaryColor3f(Single red, Single green, Single blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3fv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3i", ExactSpelling = true)]
-            internal extern static void SecondaryColor3i(Int32 red, Int32 green, Int32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3iv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3s", ExactSpelling = true)]
-            internal extern static void SecondaryColor3s(Int16 red, Int16 green, Int16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3sv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3ub", ExactSpelling = true)]
-            internal extern static void SecondaryColor3ub(Byte red, Byte green, Byte blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3ubv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3ubv(Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3ui", ExactSpelling = true)]
-            internal extern static void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3uiv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3uiv(UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3us", ExactSpelling = true)]
-            internal extern static void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColor3usv", ExactSpelling = true)]
-            internal extern static unsafe void SecondaryColor3usv(UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glSecondaryColorPointer", ExactSpelling = true)]
-            internal extern static void SecondaryColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2d", ExactSpelling = true)]
-            internal extern static void WindowPos2d(Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2dv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2f", ExactSpelling = true)]
-            internal extern static void WindowPos2f(Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2fv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2i", ExactSpelling = true)]
-            internal extern static void WindowPos2i(Int32 x, Int32 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2iv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2s", ExactSpelling = true)]
-            internal extern static void WindowPos2s(Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos2sv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos2sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3d", ExactSpelling = true)]
-            internal extern static void WindowPos3d(Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3dv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3dv(Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3f", ExactSpelling = true)]
-            internal extern static void WindowPos3f(Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3fv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3fv(Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3i", ExactSpelling = true)]
-            internal extern static void WindowPos3i(Int32 x, Int32 y, Int32 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3iv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3iv(Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3s", ExactSpelling = true)]
-            internal extern static void WindowPos3s(Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glWindowPos3sv", ExactSpelling = true)]
-            internal extern static unsafe void WindowPos3sv(Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenQueries", ExactSpelling = true)]
-            internal extern static unsafe void GenQueries(Int32 n, [Out] UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteQueries", ExactSpelling = true)]
-            internal extern static unsafe void DeleteQueries(Int32 n, UInt32* ids);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsQuery", ExactSpelling = true)]
-            internal extern static Int32 IsQuery(UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBeginQuery", ExactSpelling = true)]
-            internal extern static void BeginQuery(int target, UInt32 id);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEndQuery", ExactSpelling = true)]
-            internal extern static void EndQuery(int target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetQueryiv", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryiv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetQueryObjectiv", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectiv(UInt32 id, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetQueryObjectuiv", ExactSpelling = true)]
-            internal extern static unsafe void GetQueryObjectuiv(UInt32 id, int pname, [Out] UInt32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBindBuffer", ExactSpelling = true)]
-            internal extern static void BindBuffer(int target, UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteBuffers", ExactSpelling = true)]
-            internal extern static unsafe void DeleteBuffers(Int32 n, UInt32* buffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGenBuffers", ExactSpelling = true)]
-            internal extern static unsafe void GenBuffers(Int32 n, [Out] UInt32* buffers);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsBuffer", ExactSpelling = true)]
-            internal extern static Int32 IsBuffer(UInt32 buffer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBufferData", ExactSpelling = true)]
-            internal extern static void BufferData(int target, IntPtr size, IntPtr data, int usage);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBufferSubData", ExactSpelling = true)]
-            internal extern static void BufferSubData(int target, IntPtr offset, IntPtr size, IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBufferSubData", ExactSpelling = true)]
-            internal extern static void GetBufferSubData(int target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glMapBuffer", ExactSpelling = true)]
-            internal extern static unsafe IntPtr MapBuffer(int target, int access);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUnmapBuffer", ExactSpelling = true)]
-            internal extern static Int32 UnmapBuffer(int target);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBufferParameteriv", ExactSpelling = true)]
-            internal extern static unsafe void GetBufferParameteriv(int target, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetBufferPointerv", ExactSpelling = true)]
-            internal extern static void GetBufferPointerv(int target, int pname, [Out] IntPtr @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBlendEquationSeparate", ExactSpelling = true)]
-            internal extern static void BlendEquationSeparate(int modeRGB, int modeAlpha);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDrawBuffers", ExactSpelling = true)]
-            internal extern static unsafe void DrawBuffers(Int32 n, int* bufs);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilOpSeparate", ExactSpelling = true)]
-            internal extern static void StencilOpSeparate(int face, int sfail, int dpfail, int dppass);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilFuncSeparate", ExactSpelling = true)]
-            internal extern static void StencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glStencilMaskSeparate", ExactSpelling = true)]
-            internal extern static void StencilMaskSeparate(int face, UInt32 mask);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glAttachShader", ExactSpelling = true)]
-            internal extern static void AttachShader(UInt32 program, UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glBindAttribLocation", ExactSpelling = true)]
-            internal extern static void BindAttribLocation(UInt32 program, UInt32 index, System.String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCompileShader", ExactSpelling = true)]
-            internal extern static void CompileShader(UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCreateProgram", ExactSpelling = true)]
-            internal extern static Int32 CreateProgram();
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glCreateShader", ExactSpelling = true)]
-            internal extern static Int32 CreateShader(int type);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteProgram", ExactSpelling = true)]
-            internal extern static void DeleteProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDeleteShader", ExactSpelling = true)]
-            internal extern static void DeleteShader(UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDetachShader", ExactSpelling = true)]
-            internal extern static void DetachShader(UInt32 program, UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glDisableVertexAttribArray", ExactSpelling = true)]
-            internal extern static void DisableVertexAttribArray(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glEnableVertexAttribArray", ExactSpelling = true)]
-            internal extern static void EnableVertexAttribArray(UInt32 index);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetActiveAttrib", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetActiveUniform", ExactSpelling = true)]
-            internal extern static unsafe void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetAttachedShaders", ExactSpelling = true)]
-            internal extern static unsafe void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetAttribLocation", ExactSpelling = true)]
-            internal extern static Int32 GetAttribLocation(UInt32 program, System.String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetProgramiv", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramiv(UInt32 program, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetProgramInfoLog", ExactSpelling = true)]
-            internal extern static unsafe void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetShaderiv", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderiv(UInt32 shader, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetShaderInfoLog", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetShaderSource", ExactSpelling = true)]
-            internal extern static unsafe void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder[] source);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetUniformLocation", ExactSpelling = true)]
-            internal extern static Int32 GetUniformLocation(UInt32 program, System.String name);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetUniformfv", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetUniformiv", ExactSpelling = true)]
-            internal extern static unsafe void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribdv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribdv(UInt32 index, int pname, [Out] Double* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribfv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribfv(UInt32 index, int pname, [Out] Single* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribiv", ExactSpelling = true)]
-            internal extern static unsafe void GetVertexAttribiv(UInt32 index, int pname, [Out] Int32* @params);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glGetVertexAttribPointerv", ExactSpelling = true)]
-            internal extern static void GetVertexAttribPointerv(UInt32 index, int pname, [Out] IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsProgram", ExactSpelling = true)]
-            internal extern static Int32 IsProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glIsShader", ExactSpelling = true)]
-            internal extern static Int32 IsShader(UInt32 shader);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glLinkProgram", ExactSpelling = true)]
-            internal extern static void LinkProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glShaderSource", ExactSpelling = true)]
-            internal extern static unsafe void ShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32* length);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUseProgram", ExactSpelling = true)]
-            internal extern static void UseProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1f", ExactSpelling = true)]
-            internal extern static void Uniform1f(Int32 location, Single v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2f", ExactSpelling = true)]
-            internal extern static void Uniform2f(Int32 location, Single v0, Single v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3f", ExactSpelling = true)]
-            internal extern static void Uniform3f(Int32 location, Single v0, Single v1, Single v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4f", ExactSpelling = true)]
-            internal extern static void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1i", ExactSpelling = true)]
-            internal extern static void Uniform1i(Int32 location, Int32 v0);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2i", ExactSpelling = true)]
-            internal extern static void Uniform2i(Int32 location, Int32 v0, Int32 v1);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3i", ExactSpelling = true)]
-            internal extern static void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4i", ExactSpelling = true)]
-            internal extern static void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4fv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4fv(Int32 location, Int32 count, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform1iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform1iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform2iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform2iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform3iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform3iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniform4iv", ExactSpelling = true)]
-            internal extern static unsafe void Uniform4iv(Int32 location, Int32 count, Int32* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix2fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix3fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix4fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glValidateProgram", ExactSpelling = true)]
-            internal extern static void ValidateProgram(UInt32 program);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1d", ExactSpelling = true)]
-            internal extern static void VertexAttrib1d(UInt32 index, Double x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1f", ExactSpelling = true)]
-            internal extern static void VertexAttrib1f(UInt32 index, Single x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1s", ExactSpelling = true)]
-            internal extern static void VertexAttrib1s(UInt32 index, Int16 x);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib1sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib1sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2d", ExactSpelling = true)]
-            internal extern static void VertexAttrib2d(UInt32 index, Double x, Double y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2f", ExactSpelling = true)]
-            internal extern static void VertexAttrib2f(UInt32 index, Single x, Single y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2s", ExactSpelling = true)]
-            internal extern static void VertexAttrib2s(UInt32 index, Int16 x, Int16 y);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib2sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib2sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3d", ExactSpelling = true)]
-            internal extern static void VertexAttrib3d(UInt32 index, Double x, Double y, Double z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3f", ExactSpelling = true)]
-            internal extern static void VertexAttrib3f(UInt32 index, Single x, Single y, Single z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3s", ExactSpelling = true)]
-            internal extern static void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib3sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib3sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nbv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nbv(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Niv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Niv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nsv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nsv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nub", ExactSpelling = true)]
-            internal extern static void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nubv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nubv(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nuiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nuiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4Nusv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4Nusv(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4bv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4bv(UInt32 index, SByte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4d", ExactSpelling = true)]
-            internal extern static void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4dv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4dv(UInt32 index, Double* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4f", ExactSpelling = true)]
-            internal extern static void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4fv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4fv(UInt32 index, Single* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4iv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4iv(UInt32 index, Int32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4s", ExactSpelling = true)]
-            internal extern static void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4sv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4sv(UInt32 index, Int16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4ubv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4ubv(UInt32 index, Byte* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4uiv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4uiv(UInt32 index, UInt32* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttrib4usv", ExactSpelling = true)]
-            internal extern static unsafe void VertexAttrib4usv(UInt32 index, UInt16* v);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glVertexAttribPointer", ExactSpelling = true)]
-            internal extern static void VertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix2x3fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix3x2fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix2x4fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix4x2fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix3x4fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            [System.Runtime.InteropServices.DllImport(Gl.Library, EntryPoint = "glUniformMatrix4x3fv", ExactSpelling = true)]
-            internal extern static unsafe void UniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-        }
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenGl/GLDelegates.cs b/Source/Compatibility/Tao/OpenGl/GLDelegates.cs
deleted file mode 100644 (file)
index d2830dd..0000000
+++ /dev/null
@@ -1,4625 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace Tao.OpenGl
-{
-    using System;
-    using System.Runtime.InteropServices;
-    #pragma warning disable 0649
-
-    partial class Gl
-    {
-        internal static partial class Delegates
-        {
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NewList(UInt32 list, int mode);
-            internal static NewList glNewList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndList();
-            internal static EndList glEndList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CallList(UInt32 list);
-            internal static CallList glCallList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CallLists(Int32 n, int type, IntPtr lists);
-            internal static CallLists glCallLists;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteLists(UInt32 list, Int32 range);
-            internal static DeleteLists glDeleteLists;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenLists(Int32 range);
-            internal static GenLists glGenLists;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ListBase(UInt32 @base);
-            internal static ListBase glListBase;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Begin(int mode);
-            internal static Begin glBegin;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Bitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte* bitmap);
-            internal unsafe static Bitmap glBitmap;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3b(SByte red, SByte green, SByte blue);
-            internal static Color3b glColor3b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3bv(SByte* v);
-            internal unsafe static Color3bv glColor3bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3d(Double red, Double green, Double blue);
-            internal static Color3d glColor3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3dv(Double* v);
-            internal unsafe static Color3dv glColor3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3f(Single red, Single green, Single blue);
-            internal static Color3f glColor3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3fv(Single* v);
-            internal unsafe static Color3fv glColor3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3i(Int32 red, Int32 green, Int32 blue);
-            internal static Color3i glColor3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3iv(Int32* v);
-            internal unsafe static Color3iv glColor3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3s(Int16 red, Int16 green, Int16 blue);
-            internal static Color3s glColor3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3sv(Int16* v);
-            internal unsafe static Color3sv glColor3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3ub(Byte red, Byte green, Byte blue);
-            internal static Color3ub glColor3ub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3ubv(Byte* v);
-            internal unsafe static Color3ubv glColor3ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3ui(UInt32 red, UInt32 green, UInt32 blue);
-            internal static Color3ui glColor3ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3uiv(UInt32* v);
-            internal unsafe static Color3uiv glColor3uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3us(UInt16 red, UInt16 green, UInt16 blue);
-            internal static Color3us glColor3us;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3usv(UInt16* v);
-            internal unsafe static Color3usv glColor3usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4b(SByte red, SByte green, SByte blue, SByte alpha);
-            internal static Color4b glColor4b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4bv(SByte* v);
-            internal unsafe static Color4bv glColor4bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4d(Double red, Double green, Double blue, Double alpha);
-            internal static Color4d glColor4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4dv(Double* v);
-            internal unsafe static Color4dv glColor4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4f(Single red, Single green, Single blue, Single alpha);
-            internal static Color4f glColor4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4fv(Single* v);
-            internal unsafe static Color4fv glColor4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4i(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            internal static Color4i glColor4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4iv(Int32* v);
-            internal unsafe static Color4iv glColor4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4s(Int16 red, Int16 green, Int16 blue, Int16 alpha);
-            internal static Color4s glColor4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4sv(Int16* v);
-            internal unsafe static Color4sv glColor4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ub(Byte red, Byte green, Byte blue, Byte alpha);
-            internal static Color4ub glColor4ub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4ubv(Byte* v);
-            internal unsafe static Color4ubv glColor4ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            internal static Color4ui glColor4ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4uiv(UInt32* v);
-            internal unsafe static Color4uiv glColor4uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);
-            internal static Color4us glColor4us;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4usv(UInt16* v);
-            internal unsafe static Color4usv glColor4usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EdgeFlag(Int32 flag);
-            internal static EdgeFlag glEdgeFlag;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EdgeFlagv(Int32* flag);
-            internal unsafe static EdgeFlagv glEdgeFlagv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void End();
-            internal static End glEnd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexd(Double c);
-            internal static Indexd glIndexd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexdv(Double* c);
-            internal unsafe static Indexdv glIndexdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexf(Single c);
-            internal static Indexf glIndexf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexfv(Single* c);
-            internal unsafe static Indexfv glIndexfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexi(Int32 c);
-            internal static Indexi glIndexi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexiv(Int32* c);
-            internal unsafe static Indexiv glIndexiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexs(Int16 c);
-            internal static Indexs glIndexs;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexsv(Int16* c);
-            internal unsafe static Indexsv glIndexsv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3b(SByte nx, SByte ny, SByte nz);
-            internal static Normal3b glNormal3b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3bv(SByte* v);
-            internal unsafe static Normal3bv glNormal3bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3d(Double nx, Double ny, Double nz);
-            internal static Normal3d glNormal3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3dv(Double* v);
-            internal unsafe static Normal3dv glNormal3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3f(Single nx, Single ny, Single nz);
-            internal static Normal3f glNormal3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3fv(Single* v);
-            internal unsafe static Normal3fv glNormal3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3i(Int32 nx, Int32 ny, Int32 nz);
-            internal static Normal3i glNormal3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3iv(Int32* v);
-            internal unsafe static Normal3iv glNormal3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3s(Int16 nx, Int16 ny, Int16 nz);
-            internal static Normal3s glNormal3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3sv(Int16* v);
-            internal unsafe static Normal3sv glNormal3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2d(Double x, Double y);
-            internal static RasterPos2d glRasterPos2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2dv(Double* v);
-            internal unsafe static RasterPos2dv glRasterPos2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2f(Single x, Single y);
-            internal static RasterPos2f glRasterPos2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2fv(Single* v);
-            internal unsafe static RasterPos2fv glRasterPos2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2i(Int32 x, Int32 y);
-            internal static RasterPos2i glRasterPos2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2iv(Int32* v);
-            internal unsafe static RasterPos2iv glRasterPos2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos2s(Int16 x, Int16 y);
-            internal static RasterPos2s glRasterPos2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos2sv(Int16* v);
-            internal unsafe static RasterPos2sv glRasterPos2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3d(Double x, Double y, Double z);
-            internal static RasterPos3d glRasterPos3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3dv(Double* v);
-            internal unsafe static RasterPos3dv glRasterPos3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3f(Single x, Single y, Single z);
-            internal static RasterPos3f glRasterPos3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3fv(Single* v);
-            internal unsafe static RasterPos3fv glRasterPos3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3i(Int32 x, Int32 y, Int32 z);
-            internal static RasterPos3i glRasterPos3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3iv(Int32* v);
-            internal unsafe static RasterPos3iv glRasterPos3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos3s(Int16 x, Int16 y, Int16 z);
-            internal static RasterPos3s glRasterPos3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos3sv(Int16* v);
-            internal unsafe static RasterPos3sv glRasterPos3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4d(Double x, Double y, Double z, Double w);
-            internal static RasterPos4d glRasterPos4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4dv(Double* v);
-            internal unsafe static RasterPos4dv glRasterPos4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4f(Single x, Single y, Single z, Single w);
-            internal static RasterPos4f glRasterPos4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4fv(Single* v);
-            internal unsafe static RasterPos4fv glRasterPos4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static RasterPos4i glRasterPos4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4iv(Int32* v);
-            internal unsafe static RasterPos4iv glRasterPos4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static RasterPos4s glRasterPos4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RasterPos4sv(Int16* v);
-            internal unsafe static RasterPos4sv glRasterPos4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rectd(Double x1, Double y1, Double x2, Double y2);
-            internal static Rectd glRectd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectdv(Double* v1, Double* v2);
-            internal unsafe static Rectdv glRectdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rectf(Single x1, Single y1, Single x2, Single y2);
-            internal static Rectf glRectf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectfv(Single* v1, Single* v2);
-            internal unsafe static Rectfv glRectfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Recti(Int32 x1, Int32 y1, Int32 x2, Int32 y2);
-            internal static Recti glRecti;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectiv(Int32* v1, Int32* v2);
-            internal unsafe static Rectiv glRectiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rects(Int16 x1, Int16 y1, Int16 x2, Int16 y2);
-            internal static Rects glRects;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Rectsv(Int16* v1, Int16* v2);
-            internal unsafe static Rectsv glRectsv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1d(Double s);
-            internal static TexCoord1d glTexCoord1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1dv(Double* v);
-            internal unsafe static TexCoord1dv glTexCoord1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1f(Single s);
-            internal static TexCoord1f glTexCoord1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1fv(Single* v);
-            internal unsafe static TexCoord1fv glTexCoord1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1i(Int32 s);
-            internal static TexCoord1i glTexCoord1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1iv(Int32* v);
-            internal unsafe static TexCoord1iv glTexCoord1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1s(Int16 s);
-            internal static TexCoord1s glTexCoord1s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1sv(Int16* v);
-            internal unsafe static TexCoord1sv glTexCoord1sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2d(Double s, Double t);
-            internal static TexCoord2d glTexCoord2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2dv(Double* v);
-            internal unsafe static TexCoord2dv glTexCoord2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2f(Single s, Single t);
-            internal static TexCoord2f glTexCoord2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fv(Single* v);
-            internal unsafe static TexCoord2fv glTexCoord2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2i(Int32 s, Int32 t);
-            internal static TexCoord2i glTexCoord2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2iv(Int32* v);
-            internal unsafe static TexCoord2iv glTexCoord2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2s(Int16 s, Int16 t);
-            internal static TexCoord2s glTexCoord2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2sv(Int16* v);
-            internal unsafe static TexCoord2sv glTexCoord2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3d(Double s, Double t, Double r);
-            internal static TexCoord3d glTexCoord3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3dv(Double* v);
-            internal unsafe static TexCoord3dv glTexCoord3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3f(Single s, Single t, Single r);
-            internal static TexCoord3f glTexCoord3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3fv(Single* v);
-            internal unsafe static TexCoord3fv glTexCoord3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3i(Int32 s, Int32 t, Int32 r);
-            internal static TexCoord3i glTexCoord3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3iv(Int32* v);
-            internal unsafe static TexCoord3iv glTexCoord3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3s(Int16 s, Int16 t, Int16 r);
-            internal static TexCoord3s glTexCoord3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3sv(Int16* v);
-            internal unsafe static TexCoord3sv glTexCoord3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4d(Double s, Double t, Double r, Double q);
-            internal static TexCoord4d glTexCoord4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4dv(Double* v);
-            internal unsafe static TexCoord4dv glTexCoord4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4f(Single s, Single t, Single r, Single q);
-            internal static TexCoord4f glTexCoord4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4fv(Single* v);
-            internal unsafe static TexCoord4fv glTexCoord4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q);
-            internal static TexCoord4i glTexCoord4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4iv(Int32* v);
-            internal unsafe static TexCoord4iv glTexCoord4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q);
-            internal static TexCoord4s glTexCoord4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4sv(Int16* v);
-            internal unsafe static TexCoord4sv glTexCoord4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2d(Double x, Double y);
-            internal static Vertex2d glVertex2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2dv(Double* v);
-            internal unsafe static Vertex2dv glVertex2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2f(Single x, Single y);
-            internal static Vertex2f glVertex2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2fv(Single* v);
-            internal unsafe static Vertex2fv glVertex2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2i(Int32 x, Int32 y);
-            internal static Vertex2i glVertex2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2iv(Int32* v);
-            internal unsafe static Vertex2iv glVertex2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2s(Int16 x, Int16 y);
-            internal static Vertex2s glVertex2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2sv(Int16* v);
-            internal unsafe static Vertex2sv glVertex2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3d(Double x, Double y, Double z);
-            internal static Vertex3d glVertex3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3dv(Double* v);
-            internal unsafe static Vertex3dv glVertex3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3f(Single x, Single y, Single z);
-            internal static Vertex3f glVertex3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3fv(Single* v);
-            internal unsafe static Vertex3fv glVertex3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3i(Int32 x, Int32 y, Int32 z);
-            internal static Vertex3i glVertex3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3iv(Int32* v);
-            internal unsafe static Vertex3iv glVertex3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3s(Int16 x, Int16 y, Int16 z);
-            internal static Vertex3s glVertex3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3sv(Int16* v);
-            internal unsafe static Vertex3sv glVertex3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4d(Double x, Double y, Double z, Double w);
-            internal static Vertex4d glVertex4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4dv(Double* v);
-            internal unsafe static Vertex4dv glVertex4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4f(Single x, Single y, Single z, Single w);
-            internal static Vertex4f glVertex4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4fv(Single* v);
-            internal unsafe static Vertex4fv glVertex4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4i(Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static Vertex4i glVertex4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4iv(Int32* v);
-            internal unsafe static Vertex4iv glVertex4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4s(Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static Vertex4s glVertex4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4sv(Int16* v);
-            internal unsafe static Vertex4sv glVertex4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ClipPlane(int plane, Double* equation);
-            internal unsafe static ClipPlane glClipPlane;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMaterial(int face, int mode);
-            internal static ColorMaterial glColorMaterial;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CullFace(int mode);
-            internal static CullFace glCullFace;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Fogf(int pname, Single param);
-            internal static Fogf glFogf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Fogfv(int pname, Single* @params);
-            internal unsafe static Fogfv glFogfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Fogi(int pname, Int32 param);
-            internal static Fogi glFogi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Fogiv(int pname, Int32* @params);
-            internal unsafe static Fogiv glFogiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FrontFace(int mode);
-            internal static FrontFace glFrontFace;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Hint(int target, int mode);
-            internal static Hint glHint;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Lightf(int light, int pname, Single param);
-            internal static Lightf glLightf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Lightfv(int light, int pname, Single* @params);
-            internal unsafe static Lightfv glLightfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Lighti(int light, int pname, Int32 param);
-            internal static Lighti glLighti;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Lightiv(int light, int pname, Int32* @params);
-            internal unsafe static Lightiv glLightiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LightModelf(int pname, Single param);
-            internal static LightModelf glLightModelf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LightModelfv(int pname, Single* @params);
-            internal unsafe static LightModelfv glLightModelfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LightModeli(int pname, Int32 param);
-            internal static LightModeli glLightModeli;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LightModeliv(int pname, Int32* @params);
-            internal unsafe static LightModeliv glLightModeliv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LineStipple(Int32 factor, UInt16 pattern);
-            internal static LineStipple glLineStipple;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LineWidth(Single width);
-            internal static LineWidth glLineWidth;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Materialf(int face, int pname, Single param);
-            internal static Materialf glMaterialf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Materialfv(int face, int pname, Single* @params);
-            internal unsafe static Materialfv glMaterialfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Materiali(int face, int pname, Int32 param);
-            internal static Materiali glMateriali;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Materialiv(int face, int pname, Int32* @params);
-            internal unsafe static Materialiv glMaterialiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointSize(Single size);
-            internal static PointSize glPointSize;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PolygonMode(int face, int mode);
-            internal static PolygonMode glPolygonMode;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PolygonStipple(Byte* mask);
-            internal unsafe static PolygonStipple glPolygonStipple;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Scissor(Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static Scissor glScissor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShadeModel(int mode);
-            internal static ShadeModel glShadeModel;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexParameterf(int target, int pname, Single param);
-            internal static TexParameterf glTexParameterf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterfv(int target, int pname, Single* @params);
-            internal unsafe static TexParameterfv glTexParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexParameteri(int target, int pname, Int32 param);
-            internal static TexParameteri glTexParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameteriv(int target, int pname, Int32* @params);
-            internal unsafe static TexParameteriv glTexParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, IntPtr pixels);
-            internal static TexImage1D glTexImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, IntPtr pixels);
-            internal static TexImage2D glTexImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexEnvf(int target, int pname, Single param);
-            internal static TexEnvf glTexEnvf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexEnvfv(int target, int pname, Single* @params);
-            internal unsafe static TexEnvfv glTexEnvfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexEnvi(int target, int pname, Int32 param);
-            internal static TexEnvi glTexEnvi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexEnviv(int target, int pname, Int32* @params);
-            internal unsafe static TexEnviv glTexEnviv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexGend(int coord, int pname, Double param);
-            internal static TexGend glTexGend;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexGendv(int coord, int pname, Double* @params);
-            internal unsafe static TexGendv glTexGendv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexGenf(int coord, int pname, Single param);
-            internal static TexGenf glTexGenf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexGenfv(int coord, int pname, Single* @params);
-            internal unsafe static TexGenfv glTexGenfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexGeni(int coord, int pname, Int32 param);
-            internal static TexGeni glTexGeni;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexGeniv(int coord, int pname, Int32* @params);
-            internal unsafe static TexGeniv glTexGeniv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FeedbackBuffer(Int32 size, int type, [Out] Single* buffer);
-            internal unsafe static FeedbackBuffer glFeedbackBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SelectBuffer(Int32 size, [Out] UInt32* buffer);
-            internal unsafe static SelectBuffer glSelectBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 RenderMode(int mode);
-            internal static RenderMode glRenderMode;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void InitNames();
-            internal static InitNames glInitNames;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LoadName(UInt32 name);
-            internal static LoadName glLoadName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PassThrough(Single token);
-            internal static PassThrough glPassThrough;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopName();
-            internal static PopName glPopName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushName(UInt32 name);
-            internal static PushName glPushName;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawBuffer(int mode);
-            internal static DrawBuffer glDrawBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Clear(int mask);
-            internal static Clear glClear;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearAccum(Single red, Single green, Single blue, Single alpha);
-            internal static ClearAccum glClearAccum;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearIndex(Single c);
-            internal static ClearIndex glClearIndex;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearColor(Single red, Single green, Single blue, Single alpha);
-            internal static ClearColor glClearColor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearStencil(Int32 s);
-            internal static ClearStencil glClearStencil;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearDepth(Double depth);
-            internal static ClearDepth glClearDepth;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilMask(UInt32 mask);
-            internal static StencilMask glStencilMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMask(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            internal static ColorMask glColorMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthMask(Int32 flag);
-            internal static DepthMask glDepthMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexMask(UInt32 mask);
-            internal static IndexMask glIndexMask;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Accum(int op, Single value);
-            internal static Accum glAccum;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Disable(int cap);
-            internal static Disable glDisable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Enable(int cap);
-            internal static Enable glEnable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Finish();
-            internal static Finish glFinish;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Flush();
-            internal static Flush glFlush;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopAttrib();
-            internal static PopAttrib glPopAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushAttrib(int mask);
-            internal static PushAttrib glPushAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map1d(int target, Double u1, Double u2, Int32 stride, Int32 order, Double* points);
-            internal unsafe static Map1d glMap1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map1f(int target, Single u1, Single u2, Int32 stride, Int32 order, Single* points);
-            internal unsafe static Map1f glMap1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double* points);
-            internal unsafe static Map2d glMap2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Map2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single* points);
-            internal unsafe static Map2f glMap2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid1d(Int32 un, Double u1, Double u2);
-            internal static MapGrid1d glMapGrid1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid1f(Int32 un, Single u1, Single u2);
-            internal static MapGrid1f glMapGrid1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2);
-            internal static MapGrid2d glMapGrid2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2);
-            internal static MapGrid2f glMapGrid2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord1d(Double u);
-            internal static EvalCoord1d glEvalCoord1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord1dv(Double* u);
-            internal unsafe static EvalCoord1dv glEvalCoord1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord1f(Single u);
-            internal static EvalCoord1f glEvalCoord1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord1fv(Single* u);
-            internal unsafe static EvalCoord1fv glEvalCoord1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord2d(Double u, Double v);
-            internal static EvalCoord2d glEvalCoord2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord2dv(Double* u);
-            internal unsafe static EvalCoord2dv glEvalCoord2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalCoord2f(Single u, Single v);
-            internal static EvalCoord2f glEvalCoord2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EvalCoord2fv(Single* u);
-            internal unsafe static EvalCoord2fv glEvalCoord2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalMesh1(int mode, Int32 i1, Int32 i2);
-            internal static EvalMesh1 glEvalMesh1;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalPoint1(Int32 i);
-            internal static EvalPoint1 glEvalPoint1;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalMesh2(int mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2);
-            internal static EvalMesh2 glEvalMesh2;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalPoint2(Int32 i, Int32 j);
-            internal static EvalPoint2 glEvalPoint2;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFunc(int func, Single @ref);
-            internal static AlphaFunc glAlphaFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFunc(int sfactor, int dfactor);
-            internal static BlendFunc glBlendFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LogicOp(int opcode);
-            internal static LogicOp glLogicOp;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilFunc(int func, Int32 @ref, UInt32 mask);
-            internal static StencilFunc glStencilFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilOp(int fail, int zfail, int zpass);
-            internal static StencilOp glStencilOp;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthFunc(int func);
-            internal static DepthFunc glDepthFunc;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelZoom(Single xfactor, Single yfactor);
-            internal static PixelZoom glPixelZoom;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransferf(int pname, Single param);
-            internal static PixelTransferf glPixelTransferf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransferi(int pname, Int32 param);
-            internal static PixelTransferi glPixelTransferi;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelStoref(int pname, Single param);
-            internal static PixelStoref glPixelStoref;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelStorei(int pname, Int32 param);
-            internal static PixelStorei glPixelStorei;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelMapfv(int map, Int32 mapsize, Single* values);
-            internal unsafe static PixelMapfv glPixelMapfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelMapuiv(int map, Int32 mapsize, UInt32* values);
-            internal unsafe static PixelMapuiv glPixelMapuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelMapusv(int map, Int32 mapsize, UInt16* values);
-            internal unsafe static PixelMapusv glPixelMapusv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReadBuffer(int mode);
-            internal static ReadBuffer glReadBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, int type);
-            internal static CopyPixels glCopyPixels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [Out] IntPtr pixels);
-            internal static ReadPixels glReadPixels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawPixels(Int32 width, Int32 height, int format, int type, IntPtr pixels);
-            internal static DrawPixels glDrawPixels;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBooleanv(int pname, [Out] Int32* @params);
-            internal unsafe static GetBooleanv glGetBooleanv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetClipPlane(int plane, [Out] Double* equation);
-            internal unsafe static GetClipPlane glGetClipPlane;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetDoublev(int pname, [Out] Double* @params);
-            internal unsafe static GetDoublev glGetDoublev;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate int GetError();
-            internal static GetError glGetError;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFloatv(int pname, [Out] Single* @params);
-            internal unsafe static GetFloatv glGetFloatv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetIntegerv(int pname, [Out] Int32* @params);
-            internal unsafe static GetIntegerv glGetIntegerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLightfv(int light, int pname, [Out] Single* @params);
-            internal unsafe static GetLightfv glGetLightfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLightiv(int light, int pname, [Out] Int32* @params);
-            internal unsafe static GetLightiv glGetLightiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapdv(int target, int query, [Out] Double* v);
-            internal unsafe static GetMapdv glGetMapdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapfv(int target, int query, [Out] Single* v);
-            internal unsafe static GetMapfv glGetMapfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapiv(int target, int query, [Out] Int32* v);
-            internal unsafe static GetMapiv glGetMapiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMaterialfv(int face, int pname, [Out] Single* @params);
-            internal unsafe static GetMaterialfv glGetMaterialfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMaterialiv(int face, int pname, [Out] Int32* @params);
-            internal unsafe static GetMaterialiv glGetMaterialiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelMapfv(int map, [Out] Single* values);
-            internal unsafe static GetPixelMapfv glGetPixelMapfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelMapuiv(int map, [Out] UInt32* values);
-            internal unsafe static GetPixelMapuiv glGetPixelMapuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelMapusv(int map, [Out] UInt16* values);
-            internal unsafe static GetPixelMapusv glGetPixelMapusv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPolygonStipple([Out] Byte* mask);
-            internal unsafe static GetPolygonStipple glGetPolygonStipple;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr GetString(int name);
-            internal static GetString glGetString;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexEnvfv(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetTexEnvfv glGetTexEnvfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexEnviv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetTexEnviv glGetTexEnviv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexGendv(int coord, int pname, [Out] Double* @params);
-            internal unsafe static GetTexGendv glGetTexGendv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexGenfv(int coord, int pname, [Out] Single* @params);
-            internal unsafe static GetTexGenfv glGetTexGenfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexGeniv(int coord, int pname, [Out] Int32* @params);
-            internal unsafe static GetTexGeniv glGetTexGeniv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetTexImage(int target, Int32 level, int format, int type, [Out] IntPtr pixels);
-            internal static GetTexImage glGetTexImage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterfv(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetTexParameterfv glGetTexParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameteriv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetTexParameteriv glGetTexParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexLevelParameterfv(int target, Int32 level, int pname, [Out] Single* @params);
-            internal unsafe static GetTexLevelParameterfv glGetTexLevelParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexLevelParameteriv(int target, Int32 level, int pname, [Out] Int32* @params);
-            internal unsafe static GetTexLevelParameteriv glGetTexLevelParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsEnabled(int cap);
-            internal static IsEnabled glIsEnabled;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsList(UInt32 list);
-            internal static IsList glIsList;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthRange(Double near, Double far);
-            internal static DepthRange glDepthRange;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Frustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            internal static Frustum glFrustum;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LoadIdentity();
-            internal static LoadIdentity glLoadIdentity;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadMatrixf(Single* m);
-            internal unsafe static LoadMatrixf glLoadMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadMatrixd(Double* m);
-            internal unsafe static LoadMatrixd glLoadMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixMode(int mode);
-            internal static MatrixMode glMatrixMode;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultMatrixf(Single* m);
-            internal unsafe static MultMatrixf glMultMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultMatrixd(Double* m);
-            internal unsafe static MultMatrixd glMultMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Ortho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar);
-            internal static Ortho glOrtho;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopMatrix();
-            internal static PopMatrix glPopMatrix;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushMatrix();
-            internal static PushMatrix glPushMatrix;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rotated(Double angle, Double x, Double y, Double z);
-            internal static Rotated glRotated;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Rotatef(Single angle, Single x, Single y, Single z);
-            internal static Rotatef glRotatef;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Scaled(Double x, Double y, Double z);
-            internal static Scaled glScaled;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Scalef(Single x, Single y, Single z);
-            internal static Scalef glScalef;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Translated(Double x, Double y, Double z);
-            internal static Translated glTranslated;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Translatef(Single x, Single y, Single z);
-            internal static Translatef glTranslatef;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Viewport(Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static Viewport glViewport;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ArrayElement(Int32 i);
-            internal static ArrayElement glArrayElement;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static ColorPointer glColorPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableClientState(int array);
-            internal static DisableClientState glDisableClientState;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArrays(int mode, Int32 first, Int32 count);
-            internal static DrawArrays glDrawArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElements(int mode, Int32 count, int type, IntPtr indices);
-            internal static DrawElements glDrawElements;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EdgeFlagPointer(Int32 stride, IntPtr pointer);
-            internal static EdgeFlagPointer glEdgeFlagPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableClientState(int array);
-            internal static EnableClientState glEnableClientState;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetPointerv(int pname, [Out] IntPtr @params);
-            internal static GetPointerv glGetPointerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexPointer(int type, Int32 stride, IntPtr pointer);
-            internal static IndexPointer glIndexPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void InterleavedArrays(int format, Int32 stride, IntPtr pointer);
-            internal static InterleavedArrays glInterleavedArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointer(int type, Int32 stride, IntPtr pointer);
-            internal static NormalPointer glNormalPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static TexCoordPointer glTexCoordPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static VertexPointer glVertexPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PolygonOffset(Single factor, Single units);
-            internal static PolygonOffset glPolygonOffset;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage1D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            internal static CopyTexImage1D glCopyTexImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage2D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            internal static CopyTexImage2D glCopyTexImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            internal static CopyTexSubImage1D glCopyTexSubImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage2D glCopyTexSubImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels);
-            internal static TexSubImage1D glTexSubImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels);
-            internal static TexSubImage2D glTexSubImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 AreTexturesResident(Int32 n, UInt32* textures, [Out] Int32* residences);
-            internal unsafe static AreTexturesResident glAreTexturesResident;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindTexture(int target, UInt32 texture);
-            internal static BindTexture glBindTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteTextures(Int32 n, UInt32* textures);
-            internal unsafe static DeleteTextures glDeleteTextures;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenTextures(Int32 n, [Out] UInt32* textures);
-            internal unsafe static GenTextures glGenTextures;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsTexture(UInt32 texture);
-            internal static IsTexture glIsTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PrioritizeTextures(Int32 n, UInt32* textures, Single* priorities);
-            internal unsafe static PrioritizeTextures glPrioritizeTextures;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Indexub(Byte c);
-            internal static Indexub glIndexub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Indexubv(Byte* c);
-            internal unsafe static Indexubv glIndexubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PopClientAttrib();
-            internal static PopClientAttrib glPopClientAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PushClientAttrib(int mask);
-            internal static PushClientAttrib glPushClientAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendColor(Single red, Single green, Single blue, Single alpha);
-            internal static BlendColor glBlendColor;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquation(int mode);
-            internal static BlendEquation glBlendEquation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices);
-            internal static DrawRangeElements glDrawRangeElements;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorTable(int target, int internalformat, Int32 width, int format, int type, IntPtr table);
-            internal static ColorTable glColorTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameterfv(int target, int pname, Single* @params);
-            internal unsafe static ColorTableParameterfv glColorTableParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameteriv(int target, int pname, Int32* @params);
-            internal unsafe static ColorTableParameteriv glColorTableParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorTable(int target, int internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorTable glCopyColorTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetColorTable(int target, int format, int type, [Out] IntPtr table);
-            internal static GetColorTable glGetColorTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterfv(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetColorTableParameterfv glGetColorTableParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameteriv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetColorTableParameteriv glGetColorTableParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorSubTable(int target, Int32 start, Int32 count, int format, int type, IntPtr data);
-            internal static ColorSubTable glColorSubTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorSubTable(int target, Int32 start, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorSubTable glCopyColorSubTable;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, IntPtr image);
-            internal static ConvolutionFilter1D glConvolutionFilter1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image);
-            internal static ConvolutionFilter2D glConvolutionFilter2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameterf(int target, int pname, Single @params);
-            internal static ConvolutionParameterf glConvolutionParameterf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameterfv(int target, int pname, Single* @params);
-            internal unsafe static ConvolutionParameterfv glConvolutionParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameteri(int target, int pname, Int32 @params);
-            internal static ConvolutionParameteri glConvolutionParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameteriv(int target, int pname, Int32* @params);
-            internal unsafe static ConvolutionParameteriv glConvolutionParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter1D(int target, int internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyConvolutionFilter1D glCopyConvolutionFilter1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter2D(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyConvolutionFilter2D glCopyConvolutionFilter2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetConvolutionFilter(int target, int format, int type, [Out] IntPtr image);
-            internal static GetConvolutionFilter glGetConvolutionFilter;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameterfv(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetConvolutionParameterfv glGetConvolutionParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameteriv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetConvolutionParameteriv glGetConvolutionParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            internal static GetSeparableFilter glGetSeparableFilter;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column);
-            internal static SeparableFilter2D glSeparableFilter2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetHistogram(int target, Int32 reset, int format, int type, [Out] IntPtr values);
-            internal static GetHistogram glGetHistogram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameterfv(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetHistogramParameterfv glGetHistogramParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameteriv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetHistogramParameteriv glGetHistogramParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMinmax(int target, Int32 reset, int format, int type, [Out] IntPtr values);
-            internal static GetMinmax glGetMinmax;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameterfv(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetMinmaxParameterfv glGetMinmaxParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameteriv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetMinmaxParameteriv glGetMinmaxParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Histogram(int target, Int32 width, int internalformat, Int32 sink);
-            internal static Histogram glHistogram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Minmax(int target, int internalformat, Int32 sink);
-            internal static Minmax glMinmax;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetHistogram(int target);
-            internal static ResetHistogram glResetHistogram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetMinmax(int target);
-            internal static ResetMinmax glResetMinmax;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels);
-            internal static TexImage3D glTexImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels);
-            internal static TexSubImage3D glTexSubImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage3D glCopyTexSubImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveTexture(int texture);
-            internal static ActiveTexture glActiveTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientActiveTexture(int texture);
-            internal static ClientActiveTexture glClientActiveTexture;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1d(int target, Double s);
-            internal static MultiTexCoord1d glMultiTexCoord1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1dv(int target, Double* v);
-            internal unsafe static MultiTexCoord1dv glMultiTexCoord1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1f(int target, Single s);
-            internal static MultiTexCoord1f glMultiTexCoord1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1fv(int target, Single* v);
-            internal unsafe static MultiTexCoord1fv glMultiTexCoord1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1i(int target, Int32 s);
-            internal static MultiTexCoord1i glMultiTexCoord1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1iv(int target, Int32* v);
-            internal unsafe static MultiTexCoord1iv glMultiTexCoord1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1s(int target, Int16 s);
-            internal static MultiTexCoord1s glMultiTexCoord1s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1sv(int target, Int16* v);
-            internal unsafe static MultiTexCoord1sv glMultiTexCoord1sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2d(int target, Double s, Double t);
-            internal static MultiTexCoord2d glMultiTexCoord2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2dv(int target, Double* v);
-            internal unsafe static MultiTexCoord2dv glMultiTexCoord2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2f(int target, Single s, Single t);
-            internal static MultiTexCoord2f glMultiTexCoord2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2fv(int target, Single* v);
-            internal unsafe static MultiTexCoord2fv glMultiTexCoord2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2i(int target, Int32 s, Int32 t);
-            internal static MultiTexCoord2i glMultiTexCoord2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2iv(int target, Int32* v);
-            internal unsafe static MultiTexCoord2iv glMultiTexCoord2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2s(int target, Int16 s, Int16 t);
-            internal static MultiTexCoord2s glMultiTexCoord2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2sv(int target, Int16* v);
-            internal unsafe static MultiTexCoord2sv glMultiTexCoord2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3d(int target, Double s, Double t, Double r);
-            internal static MultiTexCoord3d glMultiTexCoord3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3dv(int target, Double* v);
-            internal unsafe static MultiTexCoord3dv glMultiTexCoord3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3f(int target, Single s, Single t, Single r);
-            internal static MultiTexCoord3f glMultiTexCoord3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3fv(int target, Single* v);
-            internal unsafe static MultiTexCoord3fv glMultiTexCoord3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3i(int target, Int32 s, Int32 t, Int32 r);
-            internal static MultiTexCoord3i glMultiTexCoord3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3iv(int target, Int32* v);
-            internal unsafe static MultiTexCoord3iv glMultiTexCoord3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3s(int target, Int16 s, Int16 t, Int16 r);
-            internal static MultiTexCoord3s glMultiTexCoord3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3sv(int target, Int16* v);
-            internal unsafe static MultiTexCoord3sv glMultiTexCoord3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4d(int target, Double s, Double t, Double r, Double q);
-            internal static MultiTexCoord4d glMultiTexCoord4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4dv(int target, Double* v);
-            internal unsafe static MultiTexCoord4dv glMultiTexCoord4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4f(int target, Single s, Single t, Single r, Single q);
-            internal static MultiTexCoord4f glMultiTexCoord4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4fv(int target, Single* v);
-            internal unsafe static MultiTexCoord4fv glMultiTexCoord4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4i(int target, Int32 s, Int32 t, Int32 r, Int32 q);
-            internal static MultiTexCoord4i glMultiTexCoord4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4iv(int target, Int32* v);
-            internal unsafe static MultiTexCoord4iv glMultiTexCoord4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4s(int target, Int16 s, Int16 t, Int16 r, Int16 q);
-            internal static MultiTexCoord4s glMultiTexCoord4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4sv(int target, Int16* v);
-            internal unsafe static MultiTexCoord4sv glMultiTexCoord4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixf(Single* m);
-            internal unsafe static LoadTransposeMatrixf glLoadTransposeMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixd(Double* m);
-            internal unsafe static LoadTransposeMatrixd glLoadTransposeMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixf(Single* m);
-            internal unsafe static MultTransposeMatrixf glMultTransposeMatrixf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixd(Double* m);
-            internal unsafe static MultTransposeMatrixd glMultTransposeMatrixd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleCoverage(Single value, Int32 invert);
-            internal static SampleCoverage glSampleCoverage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage3D glCompressedTexImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage2D glCompressedTexImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage1D glCompressedTexImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage3D glCompressedTexSubImage3D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage2D glCompressedTexSubImage2D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage1D glCompressedTexSubImage1D;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetCompressedTexImage(int target, Int32 level, [Out] IntPtr img);
-            internal static GetCompressedTexImage glGetCompressedTexImage;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha);
-            internal static BlendFuncSeparate glBlendFuncSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordf(Single coord);
-            internal static FogCoordf glFogCoordf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoordfv(Single* coord);
-            internal unsafe static FogCoordfv glFogCoordfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordd(Double coord);
-            internal static FogCoordd glFogCoordd;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoorddv(Double* coord);
-            internal unsafe static FogCoorddv glFogCoorddv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordPointer(int type, Int32 stride, IntPtr pointer);
-            internal static FogCoordPointer glFogCoordPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawArrays(int mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawArrays glMultiDrawArrays;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElements(int mode, Int32* count, int type, IntPtr indices, Int32 primcount);
-            internal unsafe static MultiDrawElements glMultiDrawElements;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterf(int pname, Single param);
-            internal static PointParameterf glPointParameterf;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfv(int pname, Single* @params);
-            internal unsafe static PointParameterfv glPointParameterfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameteri(int pname, Int32 param);
-            internal static PointParameteri glPointParameteri;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameteriv(int pname, Int32* @params);
-            internal unsafe static PointParameteriv glPointParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3b(SByte red, SByte green, SByte blue);
-            internal static SecondaryColor3b glSecondaryColor3b;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3bv(SByte* v);
-            internal unsafe static SecondaryColor3bv glSecondaryColor3bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3d(Double red, Double green, Double blue);
-            internal static SecondaryColor3d glSecondaryColor3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3dv(Double* v);
-            internal unsafe static SecondaryColor3dv glSecondaryColor3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3f(Single red, Single green, Single blue);
-            internal static SecondaryColor3f glSecondaryColor3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3fv(Single* v);
-            internal unsafe static SecondaryColor3fv glSecondaryColor3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3i(Int32 red, Int32 green, Int32 blue);
-            internal static SecondaryColor3i glSecondaryColor3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3iv(Int32* v);
-            internal unsafe static SecondaryColor3iv glSecondaryColor3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3s(Int16 red, Int16 green, Int16 blue);
-            internal static SecondaryColor3s glSecondaryColor3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3sv(Int16* v);
-            internal unsafe static SecondaryColor3sv glSecondaryColor3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3ub(Byte red, Byte green, Byte blue);
-            internal static SecondaryColor3ub glSecondaryColor3ub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3ubv(Byte* v);
-            internal unsafe static SecondaryColor3ubv glSecondaryColor3ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue);
-            internal static SecondaryColor3ui glSecondaryColor3ui;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3uiv(UInt32* v);
-            internal unsafe static SecondaryColor3uiv glSecondaryColor3uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue);
-            internal static SecondaryColor3us glSecondaryColor3us;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3usv(UInt16* v);
-            internal unsafe static SecondaryColor3usv glSecondaryColor3usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static SecondaryColorPointer glSecondaryColorPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2d(Double x, Double y);
-            internal static WindowPos2d glWindowPos2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2dv(Double* v);
-            internal unsafe static WindowPos2dv glWindowPos2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2f(Single x, Single y);
-            internal static WindowPos2f glWindowPos2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2fv(Single* v);
-            internal unsafe static WindowPos2fv glWindowPos2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2i(Int32 x, Int32 y);
-            internal static WindowPos2i glWindowPos2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2iv(Int32* v);
-            internal unsafe static WindowPos2iv glWindowPos2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2s(Int16 x, Int16 y);
-            internal static WindowPos2s glWindowPos2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2sv(Int16* v);
-            internal unsafe static WindowPos2sv glWindowPos2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3d(Double x, Double y, Double z);
-            internal static WindowPos3d glWindowPos3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3dv(Double* v);
-            internal unsafe static WindowPos3dv glWindowPos3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3f(Single x, Single y, Single z);
-            internal static WindowPos3f glWindowPos3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3fv(Single* v);
-            internal unsafe static WindowPos3fv glWindowPos3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3i(Int32 x, Int32 y, Int32 z);
-            internal static WindowPos3i glWindowPos3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3iv(Int32* v);
-            internal unsafe static WindowPos3iv glWindowPos3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3s(Int16 x, Int16 y, Int16 z);
-            internal static WindowPos3s glWindowPos3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3sv(Int16* v);
-            internal unsafe static WindowPos3sv glWindowPos3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenQueries(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenQueries glGenQueries;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteQueries(Int32 n, UInt32* ids);
-            internal unsafe static DeleteQueries glDeleteQueries;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsQuery(UInt32 id);
-            internal static IsQuery glIsQuery;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginQuery(int target, UInt32 id);
-            internal static BeginQuery glBeginQuery;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndQuery(int target);
-            internal static EndQuery glEndQuery;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryiv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetQueryiv glGetQueryiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectiv(UInt32 id, int pname, [Out] Int32* @params);
-            internal unsafe static GetQueryObjectiv glGetQueryObjectiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectuiv(UInt32 id, int pname, [Out] UInt32* @params);
-            internal unsafe static GetQueryObjectuiv glGetQueryObjectuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBuffer(int target, UInt32 buffer);
-            internal static BindBuffer glBindBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteBuffers(Int32 n, UInt32* buffers);
-            internal unsafe static DeleteBuffers glDeleteBuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenBuffers(Int32 n, [Out] UInt32* buffers);
-            internal unsafe static GenBuffers glGenBuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsBuffer(UInt32 buffer);
-            internal static IsBuffer glIsBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferData(int target, IntPtr size, IntPtr data, int usage);
-            internal static BufferData glBufferData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferSubData(int target, IntPtr offset, IntPtr size, IntPtr data);
-            internal static BufferSubData glBufferSubData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferSubData(int target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            internal static GetBufferSubData glGetBufferSubData;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapBuffer(int target, int access);
-            internal unsafe static MapBuffer glMapBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 UnmapBuffer(int target);
-            internal static UnmapBuffer glUnmapBuffer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBufferParameteriv(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetBufferParameteriv glGetBufferParameteriv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferPointerv(int target, int pname, [Out] IntPtr @params);
-            internal static GetBufferPointerv glGetBufferPointerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationSeparate(int modeRGB, int modeAlpha);
-            internal static BlendEquationSeparate glBlendEquationSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DrawBuffers(Int32 n, int* bufs);
-            internal unsafe static DrawBuffers glDrawBuffers;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilOpSeparate(int face, int sfail, int dpfail, int dppass);
-            internal static StencilOpSeparate glStencilOpSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, UInt32 mask);
-            internal static StencilFuncSeparate glStencilFuncSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilMaskSeparate(int face, UInt32 mask);
-            internal static StencilMaskSeparate glStencilMaskSeparate;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AttachShader(UInt32 program, UInt32 shader);
-            internal static AttachShader glAttachShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindAttribLocation(UInt32 program, UInt32 index, System.String name);
-            internal static BindAttribLocation glBindAttribLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompileShader(UInt32 shader);
-            internal static CompileShader glCompileShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateProgram();
-            internal static CreateProgram glCreateProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateShader(int type);
-            internal static CreateShader glCreateShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteProgram(UInt32 program);
-            internal static DeleteProgram glDeleteProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteShader(UInt32 shader);
-            internal static DeleteShader glDeleteShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DetachShader(UInt32 program, UInt32 shader);
-            internal static DetachShader glDetachShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVertexAttribArray(UInt32 index);
-            internal static DisableVertexAttribArray glDisableVertexAttribArray;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVertexAttribArray(UInt32 index);
-            internal static EnableVertexAttribArray glEnableVertexAttribArray;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveAttrib glGetActiveAttrib;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveUniform glGetActiveUniform;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            internal unsafe static GetAttachedShaders glGetAttachedShaders;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetAttribLocation(UInt32 program, System.String name);
-            internal static GetAttribLocation glGetAttribLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramiv(UInt32 program, int pname, [Out] Int32* @params);
-            internal unsafe static GetProgramiv glGetProgramiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            internal unsafe static GetProgramInfoLog glGetProgramInfoLog;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderiv(UInt32 shader, int pname, [Out] Int32* @params);
-            internal unsafe static GetShaderiv glGetShaderiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            internal unsafe static GetShaderInfoLog glGetShaderInfoLog;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32* length, [Out] System.Text.StringBuilder[] source);
-            internal unsafe static GetShaderSource glGetShaderSource;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformLocation(UInt32 program, System.String name);
-            internal static GetUniformLocation glGetUniformLocation;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformfv(UInt32 program, Int32 location, [Out] Single* @params);
-            internal unsafe static GetUniformfv glGetUniformfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformiv(UInt32 program, Int32 location, [Out] Int32* @params);
-            internal unsafe static GetUniformiv glGetUniformiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribdv(UInt32 index, int pname, [Out] Double* @params);
-            internal unsafe static GetVertexAttribdv glGetVertexAttribdv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribfv(UInt32 index, int pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribfv glGetVertexAttribfv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribiv(UInt32 index, int pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribiv glGetVertexAttribiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVertexAttribPointerv(UInt32 index, int pname, [Out] IntPtr pointer);
-            internal static GetVertexAttribPointerv glGetVertexAttribPointerv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsProgram(UInt32 program);
-            internal static IsProgram glIsProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsShader(UInt32 shader);
-            internal static IsShader glIsShader;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LinkProgram(UInt32 program);
-            internal static LinkProgram glLinkProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32* length);
-            internal unsafe static ShaderSource glShaderSource;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UseProgram(UInt32 program);
-            internal static UseProgram glUseProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1f(Int32 location, Single v0);
-            internal static Uniform1f glUniform1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2f(Int32 location, Single v0, Single v1);
-            internal static Uniform2f glUniform2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3f(Int32 location, Single v0, Single v1, Single v2);
-            internal static Uniform3f glUniform3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            internal static Uniform4f glUniform4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1i(Int32 location, Int32 v0);
-            internal static Uniform1i glUniform1i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2i(Int32 location, Int32 v0, Int32 v1);
-            internal static Uniform2i glUniform2i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            internal static Uniform3i glUniform3i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            internal static Uniform4i glUniform4i;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform1fv glUniform1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform2fv glUniform2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform3fv glUniform3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4fv(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform4fv glUniform4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform1iv glUniform1iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform2iv glUniform2iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform3iv glUniform3iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4iv(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform4iv glUniform4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix2fv glUniformMatrix2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix3fv glUniformMatrix3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix4fv glUniformMatrix4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ValidateProgram(UInt32 program);
-            internal static ValidateProgram glValidateProgram;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1d(UInt32 index, Double x);
-            internal static VertexAttrib1d glVertexAttrib1d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib1dv glVertexAttrib1dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1f(UInt32 index, Single x);
-            internal static VertexAttrib1f glVertexAttrib1f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib1fv glVertexAttrib1fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1s(UInt32 index, Int16 x);
-            internal static VertexAttrib1s glVertexAttrib1s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib1sv glVertexAttrib1sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2d(UInt32 index, Double x, Double y);
-            internal static VertexAttrib2d glVertexAttrib2d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib2dv glVertexAttrib2dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2f(UInt32 index, Single x, Single y);
-            internal static VertexAttrib2f glVertexAttrib2f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib2fv glVertexAttrib2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2s(UInt32 index, Int16 x, Int16 y);
-            internal static VertexAttrib2s glVertexAttrib2s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib2sv glVertexAttrib2sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3d(UInt32 index, Double x, Double y, Double z);
-            internal static VertexAttrib3d glVertexAttrib3d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib3dv glVertexAttrib3dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3f(UInt32 index, Single x, Single y, Single z);
-            internal static VertexAttrib3f glVertexAttrib3f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib3fv glVertexAttrib3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z);
-            internal static VertexAttrib3s glVertexAttrib3s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib3sv glVertexAttrib3sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nbv(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4Nbv glVertexAttrib4Nbv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Niv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4Niv glVertexAttrib4Niv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nsv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4Nsv glVertexAttrib4Nsv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            internal static VertexAttrib4Nub glVertexAttrib4Nub;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nubv(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4Nubv glVertexAttrib4Nubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nuiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4Nuiv glVertexAttrib4Nuiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4Nusv(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4Nusv glVertexAttrib4Nusv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4bv(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4bv glVertexAttrib4bv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w);
-            internal static VertexAttrib4d glVertexAttrib4d;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4dv(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib4dv glVertexAttrib4dv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w);
-            internal static VertexAttrib4f glVertexAttrib4f;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4fv(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib4fv glVertexAttrib4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4iv(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4iv glVertexAttrib4iv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexAttrib4s glVertexAttrib4s;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4sv(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4sv glVertexAttrib4sv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ubv(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4ubv glVertexAttrib4ubv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4uiv(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4uiv glVertexAttrib4uiv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4usv(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4usv glVertexAttrib4usv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer);
-            internal static VertexAttribPointer glVertexAttribPointer;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix2x3fv glUniformMatrix2x3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix3x2fv glUniformMatrix3x2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix2x4fv glUniformMatrix2x4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix4x2fv glUniformMatrix4x2fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix3x4fv glUniformMatrix3x4fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix4x3fv glUniformMatrix4x3fv;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveTextureARB(int texture);
-            internal static ActiveTextureARB glActiveTextureARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientActiveTextureARB(int texture);
-            internal static ClientActiveTextureARB glClientActiveTextureARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1dARB(int target, Double s);
-            internal static MultiTexCoord1dARB glMultiTexCoord1dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1dvARB(int target, Double* v);
-            internal unsafe static MultiTexCoord1dvARB glMultiTexCoord1dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1fARB(int target, Single s);
-            internal static MultiTexCoord1fARB glMultiTexCoord1fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1fvARB(int target, Single* v);
-            internal unsafe static MultiTexCoord1fvARB glMultiTexCoord1fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1iARB(int target, Int32 s);
-            internal static MultiTexCoord1iARB glMultiTexCoord1iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1ivARB(int target, Int32* v);
-            internal unsafe static MultiTexCoord1ivARB glMultiTexCoord1ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1sARB(int target, Int16 s);
-            internal static MultiTexCoord1sARB glMultiTexCoord1sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1svARB(int target, Int16* v);
-            internal unsafe static MultiTexCoord1svARB glMultiTexCoord1svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2dARB(int target, Double s, Double t);
-            internal static MultiTexCoord2dARB glMultiTexCoord2dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2dvARB(int target, Double* v);
-            internal unsafe static MultiTexCoord2dvARB glMultiTexCoord2dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2fARB(int target, Single s, Single t);
-            internal static MultiTexCoord2fARB glMultiTexCoord2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2fvARB(int target, Single* v);
-            internal unsafe static MultiTexCoord2fvARB glMultiTexCoord2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2iARB(int target, Int32 s, Int32 t);
-            internal static MultiTexCoord2iARB glMultiTexCoord2iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2ivARB(int target, Int32* v);
-            internal unsafe static MultiTexCoord2ivARB glMultiTexCoord2ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2sARB(int target, Int16 s, Int16 t);
-            internal static MultiTexCoord2sARB glMultiTexCoord2sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2svARB(int target, Int16* v);
-            internal unsafe static MultiTexCoord2svARB glMultiTexCoord2svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3dARB(int target, Double s, Double t, Double r);
-            internal static MultiTexCoord3dARB glMultiTexCoord3dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3dvARB(int target, Double* v);
-            internal unsafe static MultiTexCoord3dvARB glMultiTexCoord3dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3fARB(int target, Single s, Single t, Single r);
-            internal static MultiTexCoord3fARB glMultiTexCoord3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3fvARB(int target, Single* v);
-            internal unsafe static MultiTexCoord3fvARB glMultiTexCoord3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3iARB(int target, Int32 s, Int32 t, Int32 r);
-            internal static MultiTexCoord3iARB glMultiTexCoord3iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3ivARB(int target, Int32* v);
-            internal unsafe static MultiTexCoord3ivARB glMultiTexCoord3ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3sARB(int target, Int16 s, Int16 t, Int16 r);
-            internal static MultiTexCoord3sARB glMultiTexCoord3sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3svARB(int target, Int16* v);
-            internal unsafe static MultiTexCoord3svARB glMultiTexCoord3svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4dARB(int target, Double s, Double t, Double r, Double q);
-            internal static MultiTexCoord4dARB glMultiTexCoord4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4dvARB(int target, Double* v);
-            internal unsafe static MultiTexCoord4dvARB glMultiTexCoord4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4fARB(int target, Single s, Single t, Single r, Single q);
-            internal static MultiTexCoord4fARB glMultiTexCoord4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4fvARB(int target, Single* v);
-            internal unsafe static MultiTexCoord4fvARB glMultiTexCoord4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4iARB(int target, Int32 s, Int32 t, Int32 r, Int32 q);
-            internal static MultiTexCoord4iARB glMultiTexCoord4iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4ivARB(int target, Int32* v);
-            internal unsafe static MultiTexCoord4ivARB glMultiTexCoord4ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4sARB(int target, Int16 s, Int16 t, Int16 r, Int16 q);
-            internal static MultiTexCoord4sARB glMultiTexCoord4sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4svARB(int target, Int16* v);
-            internal unsafe static MultiTexCoord4svARB glMultiTexCoord4svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixfARB(Single* m);
-            internal unsafe static LoadTransposeMatrixfARB glLoadTransposeMatrixfARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadTransposeMatrixdARB(Double* m);
-            internal unsafe static LoadTransposeMatrixdARB glLoadTransposeMatrixdARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixfARB(Single* m);
-            internal unsafe static MultTransposeMatrixfARB glMultTransposeMatrixfARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultTransposeMatrixdARB(Double* m);
-            internal unsafe static MultTransposeMatrixdARB glMultTransposeMatrixdARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleCoverageARB(Single value, Int32 invert);
-            internal static SampleCoverageARB glSampleCoverageARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage3DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage3DARB glCompressedTexImage3DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage2DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage2DARB glCompressedTexImage2DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexImage1DARB(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);
-            internal static CompressedTexImage1DARB glCompressedTexImage1DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage3DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage3DARB glCompressedTexSubImage3DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage2DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage2DARB glCompressedTexSubImage2DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompressedTexSubImage1DARB(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data);
-            internal static CompressedTexSubImage1DARB glCompressedTexSubImage1DARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetCompressedTexImageARB(int target, Int32 level, [Out] IntPtr img);
-            internal static GetCompressedTexImageARB glGetCompressedTexImageARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterfARB(int pname, Single param);
-            internal static PointParameterfARB glPointParameterfARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfvARB(int pname, Single* @params);
-            internal unsafe static PointParameterfvARB glPointParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightbvARB(Int32 size, SByte* weights);
-            internal unsafe static WeightbvARB glWeightbvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightsvARB(Int32 size, Int16* weights);
-            internal unsafe static WeightsvARB glWeightsvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightivARB(Int32 size, Int32* weights);
-            internal unsafe static WeightivARB glWeightivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightfvARB(Int32 size, Single* weights);
-            internal unsafe static WeightfvARB glWeightfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightdvARB(Int32 size, Double* weights);
-            internal unsafe static WeightdvARB glWeightdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightubvARB(Int32 size, Byte* weights);
-            internal unsafe static WeightubvARB glWeightubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightusvARB(Int32 size, UInt16* weights);
-            internal unsafe static WeightusvARB glWeightusvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WeightuivARB(Int32 size, UInt32* weights);
-            internal unsafe static WeightuivARB glWeightuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WeightPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static WeightPointerARB glWeightPointerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexBlendARB(Int32 count);
-            internal static VertexBlendARB glVertexBlendARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CurrentPaletteMatrixARB(Int32 index);
-            internal static CurrentPaletteMatrixARB glCurrentPaletteMatrixARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixIndexubvARB(Int32 size, Byte* indices);
-            internal unsafe static MatrixIndexubvARB glMatrixIndexubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixIndexusvARB(Int32 size, UInt16* indices);
-            internal unsafe static MatrixIndexusvARB glMatrixIndexusvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MatrixIndexuivARB(Int32 size, UInt32* indices);
-            internal unsafe static MatrixIndexuivARB glMatrixIndexuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MatrixIndexPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static MatrixIndexPointerARB glMatrixIndexPointerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2dARB(Double x, Double y);
-            internal static WindowPos2dARB glWindowPos2dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2dvARB(Double* v);
-            internal unsafe static WindowPos2dvARB glWindowPos2dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2fARB(Single x, Single y);
-            internal static WindowPos2fARB glWindowPos2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2fvARB(Single* v);
-            internal unsafe static WindowPos2fvARB glWindowPos2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2iARB(Int32 x, Int32 y);
-            internal static WindowPos2iARB glWindowPos2iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2ivARB(Int32* v);
-            internal unsafe static WindowPos2ivARB glWindowPos2ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2sARB(Int16 x, Int16 y);
-            internal static WindowPos2sARB glWindowPos2sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2svARB(Int16* v);
-            internal unsafe static WindowPos2svARB glWindowPos2svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3dARB(Double x, Double y, Double z);
-            internal static WindowPos3dARB glWindowPos3dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3dvARB(Double* v);
-            internal unsafe static WindowPos3dvARB glWindowPos3dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3fARB(Single x, Single y, Single z);
-            internal static WindowPos3fARB glWindowPos3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3fvARB(Single* v);
-            internal unsafe static WindowPos3fvARB glWindowPos3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3iARB(Int32 x, Int32 y, Int32 z);
-            internal static WindowPos3iARB glWindowPos3iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3ivARB(Int32* v);
-            internal unsafe static WindowPos3ivARB glWindowPos3ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3sARB(Int16 x, Int16 y, Int16 z);
-            internal static WindowPos3sARB glWindowPos3sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3svARB(Int16* v);
-            internal unsafe static WindowPos3svARB glWindowPos3svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1dARB(UInt32 index, Double x);
-            internal static VertexAttrib1dARB glVertexAttrib1dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib1dvARB glVertexAttrib1dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1fARB(UInt32 index, Single x);
-            internal static VertexAttrib1fARB glVertexAttrib1fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib1fvARB glVertexAttrib1fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1sARB(UInt32 index, Int16 x);
-            internal static VertexAttrib1sARB glVertexAttrib1sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib1svARB glVertexAttrib1svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2dARB(UInt32 index, Double x, Double y);
-            internal static VertexAttrib2dARB glVertexAttrib2dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib2dvARB glVertexAttrib2dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2fARB(UInt32 index, Single x, Single y);
-            internal static VertexAttrib2fARB glVertexAttrib2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib2fvARB glVertexAttrib2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2sARB(UInt32 index, Int16 x, Int16 y);
-            internal static VertexAttrib2sARB glVertexAttrib2sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib2svARB glVertexAttrib2svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3dARB(UInt32 index, Double x, Double y, Double z);
-            internal static VertexAttrib3dARB glVertexAttrib3dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib3dvARB glVertexAttrib3dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3fARB(UInt32 index, Single x, Single y, Single z);
-            internal static VertexAttrib3fARB glVertexAttrib3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib3fvARB glVertexAttrib3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z);
-            internal static VertexAttrib3sARB glVertexAttrib3sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib3svARB glVertexAttrib3svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NbvARB(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4NbvARB glVertexAttrib4NbvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NivARB(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4NivARB glVertexAttrib4NivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NsvARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4NsvARB glVertexAttrib4NsvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            internal static VertexAttrib4NubARB glVertexAttrib4NubARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NubvARB(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4NubvARB glVertexAttrib4NubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NuivARB(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4NuivARB glVertexAttrib4NuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4NusvARB(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4NusvARB glVertexAttrib4NusvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4bvARB(UInt32 index, SByte* v);
-            internal unsafe static VertexAttrib4bvARB glVertexAttrib4bvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w);
-            internal static VertexAttrib4dARB glVertexAttrib4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4dvARB(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib4dvARB glVertexAttrib4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w);
-            internal static VertexAttrib4fARB glVertexAttrib4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4fvARB(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib4fvARB glVertexAttrib4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ivARB(UInt32 index, Int32* v);
-            internal unsafe static VertexAttrib4ivARB glVertexAttrib4ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexAttrib4sARB glVertexAttrib4sARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4svARB(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4svARB glVertexAttrib4svARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ubvARB(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4ubvARB glVertexAttrib4ubvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4uivARB(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttrib4uivARB glVertexAttrib4uivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4usvARB(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4usvARB glVertexAttrib4usvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribPointerARB(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer);
-            internal static VertexAttribPointerARB glVertexAttribPointerARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVertexAttribArrayARB(UInt32 index);
-            internal static EnableVertexAttribArrayARB glEnableVertexAttribArrayARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVertexAttribArrayARB(UInt32 index);
-            internal static DisableVertexAttribArrayARB glDisableVertexAttribArrayARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramStringARB(int target, int format, Int32 len, IntPtr @string);
-            internal static ProgramStringARB glProgramStringARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindProgramARB(int target, UInt32 program);
-            internal static BindProgramARB glBindProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteProgramsARB(Int32 n, UInt32* programs);
-            internal unsafe static DeleteProgramsARB glDeleteProgramsARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenProgramsARB(Int32 n, [Out] UInt32* programs);
-            internal unsafe static GenProgramsARB glGenProgramsARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static ProgramEnvParameter4dARB glProgramEnvParameter4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameter4dvARB(int target, UInt32 index, Double* @params);
-            internal unsafe static ProgramEnvParameter4dvARB glProgramEnvParameter4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static ProgramEnvParameter4fARB glProgramEnvParameter4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameter4fvARB(int target, UInt32 index, Single* @params);
-            internal unsafe static ProgramEnvParameter4fvARB glProgramEnvParameter4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static ProgramLocalParameter4dARB glProgramLocalParameter4dARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameter4dvARB(int target, UInt32 index, Double* @params);
-            internal unsafe static ProgramLocalParameter4dvARB glProgramLocalParameter4dvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static ProgramLocalParameter4fARB glProgramLocalParameter4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameter4fvARB(int target, UInt32 index, Single* @params);
-            internal unsafe static ProgramLocalParameter4fvARB glProgramLocalParameter4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterdvARB(int target, UInt32 index, [Out] Double* @params);
-            internal unsafe static GetProgramEnvParameterdvARB glGetProgramEnvParameterdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterfvARB(int target, UInt32 index, [Out] Single* @params);
-            internal unsafe static GetProgramEnvParameterfvARB glGetProgramEnvParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterdvARB(int target, UInt32 index, [Out] Double* @params);
-            internal unsafe static GetProgramLocalParameterdvARB glGetProgramLocalParameterdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterfvARB(int target, UInt32 index, [Out] Single* @params);
-            internal unsafe static GetProgramLocalParameterfvARB glGetProgramLocalParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramivARB(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetProgramivARB glGetProgramivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetProgramStringARB(int target, int pname, [Out] IntPtr @string);
-            internal static GetProgramStringARB glGetProgramStringARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribdvARB(UInt32 index, int pname, [Out] Double* @params);
-            internal unsafe static GetVertexAttribdvARB glGetVertexAttribdvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribfvARB(UInt32 index, int pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribfvARB glGetVertexAttribfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribivARB(UInt32 index, int pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribivARB glGetVertexAttribivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVertexAttribPointervARB(UInt32 index, int pname, [Out] IntPtr pointer);
-            internal static GetVertexAttribPointervARB glGetVertexAttribPointervARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsProgramARB(UInt32 program);
-            internal static IsProgramARB glIsProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferARB(int target, UInt32 buffer);
-            internal static BindBufferARB glBindBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteBuffersARB(Int32 n, UInt32* buffers);
-            internal unsafe static DeleteBuffersARB glDeleteBuffersARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenBuffersARB(Int32 n, [Out] UInt32* buffers);
-            internal unsafe static GenBuffersARB glGenBuffersARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsBufferARB(UInt32 buffer);
-            internal static IsBufferARB glIsBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferDataARB(int target, IntPtr size, IntPtr data, int usage);
-            internal static BufferDataARB glBufferDataARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferSubDataARB(int target, IntPtr offset, IntPtr size, IntPtr data);
-            internal static BufferSubDataARB glBufferSubDataARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferSubDataARB(int target, IntPtr offset, IntPtr size, [Out] IntPtr data);
-            internal static GetBufferSubDataARB glGetBufferSubDataARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapBufferARB(int target, int access);
-            internal unsafe static MapBufferARB glMapBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 UnmapBufferARB(int target);
-            internal static UnmapBufferARB glUnmapBufferARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBufferParameterivARB(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetBufferParameterivARB glGetBufferParameterivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetBufferPointervARB(int target, int pname, [Out] IntPtr @params);
-            internal static GetBufferPointervARB glGetBufferPointervARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenQueriesARB(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenQueriesARB glGenQueriesARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteQueriesARB(Int32 n, UInt32* ids);
-            internal unsafe static DeleteQueriesARB glDeleteQueriesARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsQueryARB(UInt32 id);
-            internal static IsQueryARB glIsQueryARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginQueryARB(int target, UInt32 id);
-            internal static BeginQueryARB glBeginQueryARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndQueryARB(int target);
-            internal static EndQueryARB glEndQueryARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryivARB(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetQueryivARB glGetQueryivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectivARB(UInt32 id, int pname, [Out] Int32* @params);
-            internal unsafe static GetQueryObjectivARB glGetQueryObjectivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectuivARB(UInt32 id, int pname, [Out] UInt32* @params);
-            internal unsafe static GetQueryObjectuivARB glGetQueryObjectuivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteObjectARB(UInt32 obj);
-            internal static DeleteObjectARB glDeleteObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetHandleARB(int pname);
-            internal static GetHandleARB glGetHandleARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DetachObjectARB(UInt32 containerObj, UInt32 attachedObj);
-            internal static DetachObjectARB glDetachObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateShaderObjectARB(int shaderType);
-            internal static CreateShaderObjectARB glCreateShaderObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, Int32* length);
-            internal unsafe static ShaderSourceARB glShaderSourceARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CompileShaderARB(UInt32 shaderObj);
-            internal static CompileShaderARB glCompileShaderARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 CreateProgramObjectARB();
-            internal static CreateProgramObjectARB glCreateProgramObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AttachObjectARB(UInt32 containerObj, UInt32 obj);
-            internal static AttachObjectARB glAttachObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LinkProgramARB(UInt32 programObj);
-            internal static LinkProgramARB glLinkProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UseProgramObjectARB(UInt32 programObj);
-            internal static UseProgramObjectARB glUseProgramObjectARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ValidateProgramARB(UInt32 programObj);
-            internal static ValidateProgramARB glValidateProgramARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1fARB(Int32 location, Single v0);
-            internal static Uniform1fARB glUniform1fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2fARB(Int32 location, Single v0, Single v1);
-            internal static Uniform2fARB glUniform2fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3fARB(Int32 location, Single v0, Single v1, Single v2);
-            internal static Uniform3fARB glUniform3fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3);
-            internal static Uniform4fARB glUniform4fARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1iARB(Int32 location, Int32 v0);
-            internal static Uniform1iARB glUniform1iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2iARB(Int32 location, Int32 v0, Int32 v1);
-            internal static Uniform2iARB glUniform2iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2);
-            internal static Uniform3iARB glUniform3iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);
-            internal static Uniform4iARB glUniform4iARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform1fvARB glUniform1fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform2fvARB glUniform2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform3fvARB glUniform3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4fvARB(Int32 location, Int32 count, Single* value);
-            internal unsafe static Uniform4fvARB glUniform4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform1ivARB glUniform1ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform2ivARB glUniform2ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform3ivARB glUniform3ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4ivARB(Int32 location, Int32 count, Int32* value);
-            internal unsafe static Uniform4ivARB glUniform4ivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix2fvARB glUniformMatrix2fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix3fvARB glUniformMatrix3fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void UniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, Single* value);
-            internal unsafe static UniformMatrix4fvARB glUniformMatrix4fvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectParameterfvARB(UInt32 obj, int pname, [Out] Single* @params);
-            internal unsafe static GetObjectParameterfvARB glGetObjectParameterfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectParameterivARB(UInt32 obj, int pname, [Out] Int32* @params);
-            internal unsafe static GetObjectParameterivARB glGetObjectParameterivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder infoLog);
-            internal unsafe static GetInfoLogARB glGetInfoLogARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32* count, [Out] UInt32* obj);
-            internal unsafe static GetAttachedObjectsARB glGetAttachedObjectsARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformLocationARB(UInt32 programObj, System.String name);
-            internal static GetUniformLocationARB glGetUniformLocationARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveUniformARB glGetActiveUniformARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single* @params);
-            internal unsafe static GetUniformfvARB glGetUniformfvARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32* @params);
-            internal unsafe static GetUniformivARB glGetUniformivARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32* length, [Out] System.Text.StringBuilder[] source);
-            internal unsafe static GetShaderSourceARB glGetShaderSourceARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindAttribLocationARB(UInt32 programObj, UInt32 index, System.String name);
-            internal static BindAttribLocationARB glBindAttribLocationARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveAttribARB glGetActiveAttribARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetAttribLocationARB(UInt32 programObj, System.String name);
-            internal static GetAttribLocationARB glGetAttribLocationARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DrawBuffersARB(Int32 n, int* bufs);
-            internal unsafe static DrawBuffersARB glDrawBuffersARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClampColorARB(int target, int clamp);
-            internal static ClampColorARB glClampColorARB;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendColorEXT(Single red, Single green, Single blue, Single alpha);
-            internal static BlendColorEXT glBlendColorEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PolygonOffsetEXT(Single factor, Single bias);
-            internal static PolygonOffsetEXT glPolygonOffsetEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage3DEXT(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels);
-            internal static TexImage3DEXT glTexImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels);
-            internal static TexSubImage3DEXT glTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexFilterFuncSGIS(int target, int filter, [Out] Single* weights);
-            internal unsafe static GetTexFilterFuncSGIS glGetTexFilterFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexFilterFuncSGIS(int target, int filter, Int32 n, Single* weights);
-            internal unsafe static TexFilterFuncSGIS glTexFilterFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels);
-            internal static TexSubImage1DEXT glTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels);
-            internal static TexSubImage2DEXT glTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage1DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border);
-            internal static CopyTexImage1DEXT glCopyTexImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexImage2DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);
-            internal static CopyTexImage2DEXT glCopyTexImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);
-            internal static CopyTexSubImage1DEXT glCopyTexSubImage1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage2DEXT glCopyTexSubImage2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyTexSubImage3DEXT glCopyTexSubImage3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetHistogramEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values);
-            internal static GetHistogramEXT glGetHistogramEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameterfvEXT(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetHistogramParameterfvEXT glGetHistogramParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetHistogramParameterivEXT(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetHistogramParameterivEXT glGetHistogramParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMinmaxEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values);
-            internal static GetMinmaxEXT glGetMinmaxEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameterfvEXT(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetMinmaxParameterfvEXT glGetMinmaxParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMinmaxParameterivEXT(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetMinmaxParameterivEXT glGetMinmaxParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void HistogramEXT(int target, Int32 width, int internalformat, Int32 sink);
-            internal static HistogramEXT glHistogramEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MinmaxEXT(int target, int internalformat, Int32 sink);
-            internal static MinmaxEXT glMinmaxEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetHistogramEXT(int target);
-            internal static ResetHistogramEXT glResetHistogramEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResetMinmaxEXT(int target);
-            internal static ResetMinmaxEXT glResetMinmaxEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter1DEXT(int target, int internalformat, Int32 width, int format, int type, IntPtr image);
-            internal static ConvolutionFilter1DEXT glConvolutionFilter1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image);
-            internal static ConvolutionFilter2DEXT glConvolutionFilter2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameterfEXT(int target, int pname, Single @params);
-            internal static ConvolutionParameterfEXT glConvolutionParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameterfvEXT(int target, int pname, Single* @params);
-            internal unsafe static ConvolutionParameterfvEXT glConvolutionParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ConvolutionParameteriEXT(int target, int pname, Int32 @params);
-            internal static ConvolutionParameteriEXT glConvolutionParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ConvolutionParameterivEXT(int target, int pname, Int32* @params);
-            internal unsafe static ConvolutionParameterivEXT glConvolutionParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter1DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyConvolutionFilter1DEXT glCopyConvolutionFilter1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyConvolutionFilter2DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height);
-            internal static CopyConvolutionFilter2DEXT glCopyConvolutionFilter2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetConvolutionFilterEXT(int target, int format, int type, [Out] IntPtr image);
-            internal static GetConvolutionFilterEXT glGetConvolutionFilterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameterfvEXT(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetConvolutionParameterfvEXT glGetConvolutionParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetConvolutionParameterivEXT(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetConvolutionParameterivEXT glGetConvolutionParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span);
-            internal static GetSeparableFilterEXT glGetSeparableFilterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column);
-            internal static SeparableFilter2DEXT glSeparableFilter2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorTableSGI(int target, int internalformat, Int32 width, int format, int type, IntPtr table);
-            internal static ColorTableSGI glColorTableSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameterfvSGI(int target, int pname, Single* @params);
-            internal unsafe static ColorTableParameterfvSGI glColorTableParameterfvSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ColorTableParameterivSGI(int target, int pname, Int32* @params);
-            internal unsafe static ColorTableParameterivSGI glColorTableParameterivSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorTableSGI(int target, int internalformat, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorTableSGI glCopyColorTableSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetColorTableSGI(int target, int format, int type, [Out] IntPtr table);
-            internal static GetColorTableSGI glGetColorTableSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterfvSGI(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetColorTableParameterfvSGI glGetColorTableParameterfvSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterivSGI(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetColorTableParameterivSGI glGetColorTableParameterivSGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTexGenSGIX(int mode);
-            internal static PixelTexGenSGIX glPixelTexGenSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTexGenParameteriSGIS(int pname, Int32 param);
-            internal static PixelTexGenParameteriSGIS glPixelTexGenParameteriSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTexGenParameterivSGIS(int pname, Int32* @params);
-            internal unsafe static PixelTexGenParameterivSGIS glPixelTexGenParameterivSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTexGenParameterfSGIS(int pname, Single param);
-            internal static PixelTexGenParameterfSGIS glPixelTexGenParameterfSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTexGenParameterfvSGIS(int pname, Single* @params);
-            internal unsafe static PixelTexGenParameterfvSGIS glPixelTexGenParameterfvSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelTexGenParameterivSGIS(int pname, [Out] Int32* @params);
-            internal unsafe static GetPixelTexGenParameterivSGIS glGetPixelTexGenParameterivSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetPixelTexGenParameterfvSGIS(int pname, [Out] Single* @params);
-            internal unsafe static GetPixelTexGenParameterfvSGIS glGetPixelTexGenParameterfvSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexImage4DSGIS(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, int format, int type, IntPtr pixels);
-            internal static TexImage4DSGIS glTexImage4DSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexSubImage4DSGIS(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, int format, int type, IntPtr pixels);
-            internal static TexSubImage4DSGIS glTexSubImage4DSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 AreTexturesResidentEXT(Int32 n, UInt32* textures, [Out] Int32* residences);
-            internal unsafe static AreTexturesResidentEXT glAreTexturesResidentEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindTextureEXT(int target, UInt32 texture);
-            internal static BindTextureEXT glBindTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteTexturesEXT(Int32 n, UInt32* textures);
-            internal unsafe static DeleteTexturesEXT glDeleteTexturesEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenTexturesEXT(Int32 n, [Out] UInt32* textures);
-            internal unsafe static GenTexturesEXT glGenTexturesEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsTextureEXT(UInt32 texture);
-            internal static IsTextureEXT glIsTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PrioritizeTexturesEXT(Int32 n, UInt32* textures, Single* priorities);
-            internal unsafe static PrioritizeTexturesEXT glPrioritizeTexturesEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DetailTexFuncSGIS(int target, Int32 n, Single* points);
-            internal unsafe static DetailTexFuncSGIS glDetailTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetDetailTexFuncSGIS(int target, [Out] Single* points);
-            internal unsafe static GetDetailTexFuncSGIS glGetDetailTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SharpenTexFuncSGIS(int target, Int32 n, Single* points);
-            internal unsafe static SharpenTexFuncSGIS glSharpenTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetSharpenTexFuncSGIS(int target, [Out] Single* points);
-            internal unsafe static GetSharpenTexFuncSGIS glGetSharpenTexFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMaskSGIS(Single value, Int32 invert);
-            internal static SampleMaskSGIS glSampleMaskSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SamplePatternSGIS(int pattern);
-            internal static SamplePatternSGIS glSamplePatternSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ArrayElementEXT(Int32 i);
-            internal static ArrayElementEXT glArrayElementEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static ColorPointerEXT glColorPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArraysEXT(int mode, Int32 first, Int32 count);
-            internal static DrawArraysEXT glDrawArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EdgeFlagPointerEXT(Int32 stride, Int32 count, Int32* pointer);
-            internal unsafe static EdgeFlagPointerEXT glEdgeFlagPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetPointervEXT(int pname, [Out] IntPtr @params);
-            internal static GetPointervEXT glGetPointervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static IndexPointerEXT glIndexPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static NormalPointerEXT glNormalPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static TexCoordPointerEXT glTexCoordPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer);
-            internal static VertexPointerEXT glVertexPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationEXT(int mode);
-            internal static BlendEquationEXT glBlendEquationEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SpriteParameterfSGIX(int pname, Single param);
-            internal static SpriteParameterfSGIX glSpriteParameterfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SpriteParameterfvSGIX(int pname, Single* @params);
-            internal unsafe static SpriteParameterfvSGIX glSpriteParameterfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SpriteParameteriSGIX(int pname, Int32 param);
-            internal static SpriteParameteriSGIX glSpriteParameteriSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SpriteParameterivSGIX(int pname, Int32* @params);
-            internal unsafe static SpriteParameterivSGIX glSpriteParameterivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterfEXT(int pname, Single param);
-            internal static PointParameterfEXT glPointParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfvEXT(int pname, Single* @params);
-            internal unsafe static PointParameterfvEXT glPointParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameterfSGIS(int pname, Single param);
-            internal static PointParameterfSGIS glPointParameterfSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterfvSGIS(int pname, Single* @params);
-            internal unsafe static PointParameterfvSGIS glPointParameterfvSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetInstrumentsSGIX();
-            internal static GetInstrumentsSGIX glGetInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void InstrumentsBufferSGIX(Int32 size, [Out] Int32* buffer);
-            internal unsafe static InstrumentsBufferSGIX glInstrumentsBufferSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 PollInstrumentsSGIX([Out] Int32* marker_p);
-            internal unsafe static PollInstrumentsSGIX glPollInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReadInstrumentsSGIX(Int32 marker);
-            internal static ReadInstrumentsSGIX glReadInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StartInstrumentsSGIX();
-            internal static StartInstrumentsSGIX glStartInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StopInstrumentsSGIX(Int32 marker);
-            internal static StopInstrumentsSGIX glStopInstrumentsSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FrameZoomSGIX(Int32 factor);
-            internal static FrameZoomSGIX glFrameZoomSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TagSampleBufferSGIX();
-            internal static TagSampleBufferSGIX glTagSampleBufferSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double* points);
-            internal unsafe static DeformationMap3dSGIX glDeformationMap3dSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single* points);
-            internal unsafe static DeformationMap3fSGIX glDeformationMap3fSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeformSGIX(int mask);
-            internal static DeformSGIX glDeformSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LoadIdentityDeformationMapSGIX(int mask);
-            internal static LoadIdentityDeformationMapSGIX glLoadIdentityDeformationMapSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReferencePlaneSGIX(Double* equation);
-            internal unsafe static ReferencePlaneSGIX glReferencePlaneSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushRasterSGIX();
-            internal static FlushRasterSGIX glFlushRasterSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogFuncSGIS(Int32 n, Single* points);
-            internal unsafe static FogFuncSGIS glFogFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFogFuncSGIS([Out] Single* points);
-            internal unsafe static GetFogFuncSGIS glGetFogFuncSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ImageTransformParameteriHP(int target, int pname, Int32 param);
-            internal static ImageTransformParameteriHP glImageTransformParameteriHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ImageTransformParameterfHP(int target, int pname, Single param);
-            internal static ImageTransformParameterfHP glImageTransformParameterfHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ImageTransformParameterivHP(int target, int pname, Int32* @params);
-            internal unsafe static ImageTransformParameterivHP glImageTransformParameterivHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ImageTransformParameterfvHP(int target, int pname, Single* @params);
-            internal unsafe static ImageTransformParameterfvHP glImageTransformParameterfvHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetImageTransformParameterivHP(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetImageTransformParameterivHP glGetImageTransformParameterivHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetImageTransformParameterfvHP(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetImageTransformParameterfvHP glGetImageTransformParameterfvHP;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorSubTableEXT(int target, Int32 start, Int32 count, int format, int type, IntPtr data);
-            internal static ColorSubTableEXT glColorSubTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CopyColorSubTableEXT(int target, Int32 start, Int32 x, Int32 y, Int32 width);
-            internal static CopyColorSubTableEXT glCopyColorSubTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void HintPGI(int target, Int32 mode);
-            internal static HintPGI glHintPGI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorTableEXT(int target, int internalFormat, Int32 width, int format, int type, IntPtr table);
-            internal static ColorTableEXT glColorTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetColorTableEXT(int target, int format, int type, [Out] IntPtr data);
-            internal static GetColorTableEXT glGetColorTableEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterivEXT(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetColorTableParameterivEXT glGetColorTableParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetColorTableParameterfvEXT(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetColorTableParameterfvEXT glGetColorTableParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetListParameterfvSGIX(UInt32 list, int pname, [Out] Single* @params);
-            internal unsafe static GetListParameterfvSGIX glGetListParameterfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetListParameterivSGIX(UInt32 list, int pname, [Out] Int32* @params);
-            internal unsafe static GetListParameterivSGIX glGetListParameterivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ListParameterfSGIX(UInt32 list, int pname, Single param);
-            internal static ListParameterfSGIX glListParameterfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ListParameterfvSGIX(UInt32 list, int pname, Single* @params);
-            internal unsafe static ListParameterfvSGIX glListParameterfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ListParameteriSGIX(UInt32 list, int pname, Int32 param);
-            internal static ListParameteriSGIX glListParameteriSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ListParameterivSGIX(UInt32 list, int pname, Int32* @params);
-            internal unsafe static ListParameterivSGIX glListParameterivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexMaterialEXT(int face, int mode);
-            internal static IndexMaterialEXT glIndexMaterialEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexFuncEXT(int func, Single @ref);
-            internal static IndexFuncEXT glIndexFuncEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LockArraysEXT(Int32 first, Int32 count);
-            internal static LockArraysEXT glLockArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UnlockArraysEXT();
-            internal static UnlockArraysEXT glUnlockArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CullParameterdvEXT(int pname, [Out] Double* @params);
-            internal unsafe static CullParameterdvEXT glCullParameterdvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CullParameterfvEXT(int pname, [Out] Single* @params);
-            internal unsafe static CullParameterfvEXT glCullParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentColorMaterialSGIX(int face, int mode);
-            internal static FragmentColorMaterialSGIX glFragmentColorMaterialSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightfSGIX(int light, int pname, Single param);
-            internal static FragmentLightfSGIX glFragmentLightfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightfvSGIX(int light, int pname, Single* @params);
-            internal unsafe static FragmentLightfvSGIX glFragmentLightfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightiSGIX(int light, int pname, Int32 param);
-            internal static FragmentLightiSGIX glFragmentLightiSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightivSGIX(int light, int pname, Int32* @params);
-            internal unsafe static FragmentLightivSGIX glFragmentLightivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightModelfSGIX(int pname, Single param);
-            internal static FragmentLightModelfSGIX glFragmentLightModelfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightModelfvSGIX(int pname, Single* @params);
-            internal unsafe static FragmentLightModelfvSGIX glFragmentLightModelfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentLightModeliSGIX(int pname, Int32 param);
-            internal static FragmentLightModeliSGIX glFragmentLightModeliSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentLightModelivSGIX(int pname, Int32* @params);
-            internal unsafe static FragmentLightModelivSGIX glFragmentLightModelivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentMaterialfSGIX(int face, int pname, Single param);
-            internal static FragmentMaterialfSGIX glFragmentMaterialfSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentMaterialfvSGIX(int face, int pname, Single* @params);
-            internal unsafe static FragmentMaterialfvSGIX glFragmentMaterialfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FragmentMaterialiSGIX(int face, int pname, Int32 param);
-            internal static FragmentMaterialiSGIX glFragmentMaterialiSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FragmentMaterialivSGIX(int face, int pname, Int32* @params);
-            internal unsafe static FragmentMaterialivSGIX glFragmentMaterialivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentLightfvSGIX(int light, int pname, [Out] Single* @params);
-            internal unsafe static GetFragmentLightfvSGIX glGetFragmentLightfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentLightivSGIX(int light, int pname, [Out] Int32* @params);
-            internal unsafe static GetFragmentLightivSGIX glGetFragmentLightivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentMaterialfvSGIX(int face, int pname, [Out] Single* @params);
-            internal unsafe static GetFragmentMaterialfvSGIX glGetFragmentMaterialfvSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFragmentMaterialivSGIX(int face, int pname, [Out] Int32* @params);
-            internal unsafe static GetFragmentMaterialivSGIX glGetFragmentMaterialivSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void LightEnviSGIX(int pname, Int32 param);
-            internal static LightEnviSGIX glLightEnviSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementsEXT(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices);
-            internal static DrawRangeElementsEXT glDrawRangeElementsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ApplyTextureEXT(int mode);
-            internal static ApplyTextureEXT glApplyTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureLightEXT(int pname);
-            internal static TextureLightEXT glTextureLightEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureMaterialEXT(int face, int mode);
-            internal static TextureMaterialEXT glTextureMaterialEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AsyncMarkerSGIX(UInt32 marker);
-            internal static AsyncMarkerSGIX glAsyncMarkerSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 FinishAsyncSGIX([Out] UInt32* markerp);
-            internal unsafe static FinishAsyncSGIX glFinishAsyncSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 PollAsyncSGIX([Out] UInt32* markerp);
-            internal unsafe static PollAsyncSGIX glPollAsyncSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenAsyncMarkersSGIX(Int32 range);
-            internal static GenAsyncMarkersSGIX glGenAsyncMarkersSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteAsyncMarkersSGIX(UInt32 marker, Int32 range);
-            internal static DeleteAsyncMarkersSGIX glDeleteAsyncMarkersSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsAsyncMarkerSGIX(UInt32 marker);
-            internal static IsAsyncMarkerSGIX glIsAsyncMarkerSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointervINTEL(Int32 size, int type, IntPtr pointer);
-            internal static VertexPointervINTEL glVertexPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointervINTEL(int type, IntPtr pointer);
-            internal static NormalPointervINTEL glNormalPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointervINTEL(Int32 size, int type, IntPtr pointer);
-            internal static ColorPointervINTEL glColorPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointervINTEL(Int32 size, int type, IntPtr pointer);
-            internal static TexCoordPointervINTEL glTexCoordPointervINTEL;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransformParameteriEXT(int target, int pname, Int32 param);
-            internal static PixelTransformParameteriEXT glPixelTransformParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelTransformParameterfEXT(int target, int pname, Single param);
-            internal static PixelTransformParameterfEXT glPixelTransformParameterfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTransformParameterivEXT(int target, int pname, Int32* @params);
-            internal unsafe static PixelTransformParameterivEXT glPixelTransformParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PixelTransformParameterfvEXT(int target, int pname, Single* @params);
-            internal unsafe static PixelTransformParameterfvEXT glPixelTransformParameterfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3bEXT(SByte red, SByte green, SByte blue);
-            internal static SecondaryColor3bEXT glSecondaryColor3bEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3bvEXT(SByte* v);
-            internal unsafe static SecondaryColor3bvEXT glSecondaryColor3bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3dEXT(Double red, Double green, Double blue);
-            internal static SecondaryColor3dEXT glSecondaryColor3dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3dvEXT(Double* v);
-            internal unsafe static SecondaryColor3dvEXT glSecondaryColor3dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3fEXT(Single red, Single green, Single blue);
-            internal static SecondaryColor3fEXT glSecondaryColor3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3fvEXT(Single* v);
-            internal unsafe static SecondaryColor3fvEXT glSecondaryColor3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue);
-            internal static SecondaryColor3iEXT glSecondaryColor3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3ivEXT(Int32* v);
-            internal unsafe static SecondaryColor3ivEXT glSecondaryColor3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue);
-            internal static SecondaryColor3sEXT glSecondaryColor3sEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3svEXT(Int16* v);
-            internal unsafe static SecondaryColor3svEXT glSecondaryColor3svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3ubEXT(Byte red, Byte green, Byte blue);
-            internal static SecondaryColor3ubEXT glSecondaryColor3ubEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3ubvEXT(Byte* v);
-            internal unsafe static SecondaryColor3ubvEXT glSecondaryColor3ubvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue);
-            internal static SecondaryColor3uiEXT glSecondaryColor3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3uivEXT(UInt32* v);
-            internal unsafe static SecondaryColor3uivEXT glSecondaryColor3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue);
-            internal static SecondaryColor3usEXT glSecondaryColor3usEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3usvEXT(UInt16* v);
-            internal unsafe static SecondaryColor3usvEXT glSecondaryColor3usvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColorPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static SecondaryColorPointerEXT glSecondaryColorPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureNormalEXT(int mode);
-            internal static TextureNormalEXT glTextureNormalEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawArraysEXT(int mode, [Out] Int32* first, [Out] Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawArraysEXT glMultiDrawArraysEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElementsEXT(int mode, Int32* count, int type, IntPtr indices, Int32 primcount);
-            internal unsafe static MultiDrawElementsEXT glMultiDrawElementsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordfEXT(Single coord);
-            internal static FogCoordfEXT glFogCoordfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoordfvEXT(Single* coord);
-            internal unsafe static FogCoordfvEXT glFogCoordfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoorddEXT(Double coord);
-            internal static FogCoorddEXT glFogCoorddEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoorddvEXT(Double* coord);
-            internal unsafe static FogCoorddvEXT glFogCoorddvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordPointerEXT(int type, Int32 stride, IntPtr pointer);
-            internal static FogCoordPointerEXT glFogCoordPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3bEXT(SByte tx, SByte ty, SByte tz);
-            internal static Tangent3bEXT glTangent3bEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3bvEXT(SByte* v);
-            internal unsafe static Tangent3bvEXT glTangent3bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3dEXT(Double tx, Double ty, Double tz);
-            internal static Tangent3dEXT glTangent3dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3dvEXT(Double* v);
-            internal unsafe static Tangent3dvEXT glTangent3dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3fEXT(Single tx, Single ty, Single tz);
-            internal static Tangent3fEXT glTangent3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3fvEXT(Single* v);
-            internal unsafe static Tangent3fvEXT glTangent3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3iEXT(Int32 tx, Int32 ty, Int32 tz);
-            internal static Tangent3iEXT glTangent3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3ivEXT(Int32* v);
-            internal unsafe static Tangent3ivEXT glTangent3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Tangent3sEXT(Int16 tx, Int16 ty, Int16 tz);
-            internal static Tangent3sEXT glTangent3sEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Tangent3svEXT(Int16* v);
-            internal unsafe static Tangent3svEXT glTangent3svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3bEXT(SByte bx, SByte by, SByte bz);
-            internal static Binormal3bEXT glBinormal3bEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3bvEXT(SByte* v);
-            internal unsafe static Binormal3bvEXT glBinormal3bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3dEXT(Double bx, Double by, Double bz);
-            internal static Binormal3dEXT glBinormal3dEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3dvEXT(Double* v);
-            internal unsafe static Binormal3dvEXT glBinormal3dvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3fEXT(Single bx, Single by, Single bz);
-            internal static Binormal3fEXT glBinormal3fEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3fvEXT(Single* v);
-            internal unsafe static Binormal3fvEXT glBinormal3fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3iEXT(Int32 bx, Int32 by, Int32 bz);
-            internal static Binormal3iEXT glBinormal3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3ivEXT(Int32* v);
-            internal unsafe static Binormal3ivEXT glBinormal3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Binormal3sEXT(Int16 bx, Int16 by, Int16 bz);
-            internal static Binormal3sEXT glBinormal3sEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Binormal3svEXT(Int16* v);
-            internal unsafe static Binormal3svEXT glBinormal3svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TangentPointerEXT(int type, Int32 stride, IntPtr pointer);
-            internal static TangentPointerEXT glTangentPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BinormalPointerEXT(int type, Int32 stride, IntPtr pointer);
-            internal static BinormalPointerEXT glBinormalPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishTextureSUNX();
-            internal static FinishTextureSUNX glFinishTextureSUNX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorbSUN(SByte factor);
-            internal static GlobalAlphaFactorbSUN glGlobalAlphaFactorbSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorsSUN(Int16 factor);
-            internal static GlobalAlphaFactorsSUN glGlobalAlphaFactorsSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactoriSUN(Int32 factor);
-            internal static GlobalAlphaFactoriSUN glGlobalAlphaFactoriSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorfSUN(Single factor);
-            internal static GlobalAlphaFactorfSUN glGlobalAlphaFactorfSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactordSUN(Double factor);
-            internal static GlobalAlphaFactordSUN glGlobalAlphaFactordSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorubSUN(Byte factor);
-            internal static GlobalAlphaFactorubSUN glGlobalAlphaFactorubSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactorusSUN(UInt16 factor);
-            internal static GlobalAlphaFactorusSUN glGlobalAlphaFactorusSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GlobalAlphaFactoruiSUN(UInt32 factor);
-            internal static GlobalAlphaFactoruiSUN glGlobalAlphaFactoruiSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiSUN(UInt32 code);
-            internal static ReplacementCodeuiSUN glReplacementCodeuiSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeusSUN(UInt16 code);
-            internal static ReplacementCodeusSUN glReplacementCodeusSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeubSUN(Byte code);
-            internal static ReplacementCodeubSUN glReplacementCodeubSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuivSUN(UInt32* code);
-            internal unsafe static ReplacementCodeuivSUN glReplacementCodeuivSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeusvSUN(UInt16* code);
-            internal unsafe static ReplacementCodeusvSUN glReplacementCodeusvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeubvSUN(Byte* code);
-            internal unsafe static ReplacementCodeubvSUN glReplacementCodeubvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodePointerSUN(int type, Int32 stride, IntPtr pointer);
-            internal static ReplacementCodePointerSUN glReplacementCodePointerSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y);
-            internal static Color4ubVertex2fSUN glColor4ubVertex2fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4ubVertex2fvSUN(Byte* c, Single* v);
-            internal unsafe static Color4ubVertex2fvSUN glColor4ubVertex2fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            internal static Color4ubVertex3fSUN glColor4ubVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4ubVertex3fvSUN(Byte* c, Single* v);
-            internal unsafe static Color4ubVertex3fvSUN glColor4ubVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z);
-            internal static Color3fVertex3fSUN glColor3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3fVertex3fvSUN(Single* c, Single* v);
-            internal unsafe static Color3fVertex3fvSUN glColor3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static Normal3fVertex3fSUN glNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3fVertex3fvSUN(Single* n, Single* v);
-            internal unsafe static Normal3fVertex3fvSUN glNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static Color4fNormal3fVertex3fSUN glColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4fNormal3fVertex3fvSUN(Single* c, Single* n, Single* v);
-            internal unsafe static Color4fNormal3fVertex3fvSUN glColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z);
-            internal static TexCoord2fVertex3fSUN glTexCoord2fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fVertex3fvSUN(Single* tc, Single* v);
-            internal unsafe static TexCoord2fVertex3fvSUN glTexCoord2fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w);
-            internal static TexCoord4fVertex4fSUN glTexCoord4fVertex4fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4fVertex4fvSUN(Single* tc, Single* v);
-            internal unsafe static TexCoord4fVertex4fvSUN glTexCoord4fVertex4fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            internal static TexCoord2fColor4ubVertex3fSUN glTexCoord2fColor4ubVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fColor4ubVertex3fvSUN(Single* tc, Byte* c, Single* v);
-            internal unsafe static TexCoord2fColor4ubVertex3fvSUN glTexCoord2fColor4ubVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z);
-            internal static TexCoord2fColor3fVertex3fSUN glTexCoord2fColor3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fColor3fVertex3fvSUN(Single* tc, Single* c, Single* v);
-            internal unsafe static TexCoord2fColor3fVertex3fvSUN glTexCoord2fColor3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static TexCoord2fNormal3fVertex3fSUN glTexCoord2fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fNormal3fVertex3fvSUN(Single* tc, Single* n, Single* v);
-            internal unsafe static TexCoord2fNormal3fVertex3fvSUN glTexCoord2fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static TexCoord2fColor4fNormal3fVertex3fSUN glTexCoord2fColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2fColor4fNormal3fVertex3fvSUN(Single* tc, Single* c, Single* n, Single* v);
-            internal unsafe static TexCoord2fColor4fNormal3fVertex3fvSUN glTexCoord2fColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w);
-            internal static TexCoord4fColor4fNormal3fVertex4fSUN glTexCoord4fColor4fNormal3fVertex4fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4fColor4fNormal3fVertex4fvSUN(Single* tc, Single* c, Single* n, Single* v);
-            internal unsafe static TexCoord4fColor4fNormal3fVertex4fvSUN glTexCoord4fColor4fNormal3fVertex4fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z);
-            internal static ReplacementCodeuiVertex3fSUN glReplacementCodeuiVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiVertex3fvSUN(UInt32* rc, Single* v);
-            internal unsafe static ReplacementCodeuiVertex3fvSUN glReplacementCodeuiVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z);
-            internal static ReplacementCodeuiColor4ubVertex3fSUN glReplacementCodeuiColor4ubVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiColor4ubVertex3fvSUN(UInt32* rc, Byte* c, Single* v);
-            internal unsafe static ReplacementCodeuiColor4ubVertex3fvSUN glReplacementCodeuiColor4ubVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z);
-            internal static ReplacementCodeuiColor3fVertex3fSUN glReplacementCodeuiColor3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiColor3fVertex3fvSUN(UInt32* rc, Single* c, Single* v);
-            internal unsafe static ReplacementCodeuiColor3fVertex3fvSUN glReplacementCodeuiColor3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiNormal3fVertex3fSUN glReplacementCodeuiNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiNormal3fVertex3fvSUN(UInt32* rc, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiNormal3fVertex3fvSUN glReplacementCodeuiNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiColor4fNormal3fVertex3fSUN glReplacementCodeuiColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* c, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiColor4fNormal3fVertex3fvSUN glReplacementCodeuiColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z);
-            internal static ReplacementCodeuiTexCoord2fVertex3fSUN glReplacementCodeuiTexCoord2fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32* rc, Single* tc, Single* v);
-            internal unsafe static ReplacementCodeuiTexCoord2fVertex3fvSUN glReplacementCodeuiTexCoord2fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z);
-            internal static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32* rc, Single* tc, Single* c, Single* n, Single* v);
-            internal unsafe static ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha);
-            internal static BlendFuncSeparateEXT glBlendFuncSeparateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha);
-            internal static BlendFuncSeparateINGR glBlendFuncSeparateINGR;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexWeightfEXT(Single weight);
-            internal static VertexWeightfEXT glVertexWeightfEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexWeightfvEXT(Single* weight);
-            internal unsafe static VertexWeightfvEXT glVertexWeightfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexWeightPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static VertexWeightPointerEXT glVertexWeightPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushVertexArrayRangeNV();
-            internal static FlushVertexArrayRangeNV glFlushVertexArrayRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexArrayRangeNV(Int32 length, IntPtr pointer);
-            internal static VertexArrayRangeNV glVertexArrayRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CombinerParameterfvNV(int pname, Single* @params);
-            internal unsafe static CombinerParameterfvNV glCombinerParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerParameterfNV(int pname, Single param);
-            internal static CombinerParameterfNV glCombinerParameterfNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CombinerParameterivNV(int pname, Int32* @params);
-            internal unsafe static CombinerParameterivNV glCombinerParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerParameteriNV(int pname, Int32 param);
-            internal static CombinerParameteriNV glCombinerParameteriNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage);
-            internal static CombinerInputNV glCombinerInputNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void CombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, Int32 abDotProduct, Int32 cdDotProduct, Int32 muxSum);
-            internal static CombinerOutputNV glCombinerOutputNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinalCombinerInputNV(int variable, int input, int mapping, int componentUsage);
-            internal static FinalCombinerInputNV glFinalCombinerInputNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] Single* @params);
-            internal unsafe static GetCombinerInputParameterfvNV glGetCombinerInputParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] Int32* @params);
-            internal unsafe static GetCombinerInputParameterivNV glGetCombinerInputParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] Single* @params);
-            internal unsafe static GetCombinerOutputParameterfvNV glGetCombinerOutputParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] Int32* @params);
-            internal unsafe static GetCombinerOutputParameterivNV glGetCombinerOutputParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] Single* @params);
-            internal unsafe static GetFinalCombinerInputParameterfvNV glGetFinalCombinerInputParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFinalCombinerInputParameterivNV(int variable, int pname, [Out] Int32* @params);
-            internal unsafe static GetFinalCombinerInputParameterivNV glGetFinalCombinerInputParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ResizeBuffersMESA();
-            internal static ResizeBuffersMESA glResizeBuffersMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2dMESA(Double x, Double y);
-            internal static WindowPos2dMESA glWindowPos2dMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2dvMESA(Double* v);
-            internal unsafe static WindowPos2dvMESA glWindowPos2dvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2fMESA(Single x, Single y);
-            internal static WindowPos2fMESA glWindowPos2fMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2fvMESA(Single* v);
-            internal unsafe static WindowPos2fvMESA glWindowPos2fvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2iMESA(Int32 x, Int32 y);
-            internal static WindowPos2iMESA glWindowPos2iMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2ivMESA(Int32* v);
-            internal unsafe static WindowPos2ivMESA glWindowPos2ivMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos2sMESA(Int16 x, Int16 y);
-            internal static WindowPos2sMESA glWindowPos2sMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos2svMESA(Int16* v);
-            internal unsafe static WindowPos2svMESA glWindowPos2svMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3dMESA(Double x, Double y, Double z);
-            internal static WindowPos3dMESA glWindowPos3dMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3dvMESA(Double* v);
-            internal unsafe static WindowPos3dvMESA glWindowPos3dvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3fMESA(Single x, Single y, Single z);
-            internal static WindowPos3fMESA glWindowPos3fMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3fvMESA(Single* v);
-            internal unsafe static WindowPos3fvMESA glWindowPos3fvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3iMESA(Int32 x, Int32 y, Int32 z);
-            internal static WindowPos3iMESA glWindowPos3iMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3ivMESA(Int32* v);
-            internal unsafe static WindowPos3ivMESA glWindowPos3ivMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos3sMESA(Int16 x, Int16 y, Int16 z);
-            internal static WindowPos3sMESA glWindowPos3sMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos3svMESA(Int16* v);
-            internal unsafe static WindowPos3svMESA glWindowPos3svMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4dMESA(Double x, Double y, Double z, Double w);
-            internal static WindowPos4dMESA glWindowPos4dMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4dvMESA(Double* v);
-            internal unsafe static WindowPos4dvMESA glWindowPos4dvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4fMESA(Single x, Single y, Single z, Single w);
-            internal static WindowPos4fMESA glWindowPos4fMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4fvMESA(Single* v);
-            internal unsafe static WindowPos4fvMESA glWindowPos4fvMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static WindowPos4iMESA glWindowPos4iMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4ivMESA(Int32* v);
-            internal unsafe static WindowPos4ivMESA glWindowPos4ivMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static WindowPos4sMESA glWindowPos4sMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void WindowPos4svMESA(Int16* v);
-            internal unsafe static WindowPos4svMESA glWindowPos4svMESA;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiModeDrawArraysIBM(int* mode, Int32* first, Int32* count, Int32 primcount, Int32 modestride);
-            internal unsafe static MultiModeDrawArraysIBM glMultiModeDrawArraysIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiModeDrawElementsIBM(int* mode, Int32* count, int type, IntPtr indices, Int32 primcount, Int32 modestride);
-            internal unsafe static MultiModeDrawElementsIBM glMultiModeDrawElementsIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static ColorPointerListIBM glColorPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static SecondaryColorPointerListIBM glSecondaryColorPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void EdgeFlagPointerListIBM(Int32 stride, Int32* pointer, Int32 ptrstride);
-            internal unsafe static EdgeFlagPointerListIBM glEdgeFlagPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static FogCoordPointerListIBM glFogCoordPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IndexPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static IndexPointerListIBM glIndexPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static NormalPointerListIBM glNormalPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoordPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static TexCoordPointerListIBM glTexCoordPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride);
-            internal static VertexPointerListIBM glVertexPointerListIBM;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TbufferMask3DFX(UInt32 mask);
-            internal static TbufferMask3DFX glTbufferMask3DFX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMaskEXT(Single value, Int32 invert);
-            internal static SampleMaskEXT glSampleMaskEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SamplePatternEXT(int pattern);
-            internal static SamplePatternEXT glSamplePatternEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TextureColorMaskSGIS(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            internal static TextureColorMaskSGIS glTextureColorMaskSGIS;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void IglooInterfaceSGIX(int pname, IntPtr @params);
-            internal static IglooInterfaceSGIX glIglooInterfaceSGIX;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFencesNV(Int32 n, UInt32* fences);
-            internal unsafe static DeleteFencesNV glDeleteFencesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFencesNV(Int32 n, [Out] UInt32* fences);
-            internal unsafe static GenFencesNV glGenFencesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsFenceNV(UInt32 fence);
-            internal static IsFenceNV glIsFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 TestFenceNV(UInt32 fence);
-            internal static TestFenceNV glTestFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFenceivNV(UInt32 fence, int pname, [Out] Int32* @params);
-            internal unsafe static GetFenceivNV glGetFenceivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishFenceNV(UInt32 fence);
-            internal static FinishFenceNV glFinishFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetFenceNV(UInt32 fence, int condition);
-            internal static SetFenceNV glSetFenceNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, IntPtr points);
-            internal static MapControlPointsNV glMapControlPointsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapParameterivNV(int target, int pname, Int32* @params);
-            internal unsafe static MapParameterivNV glMapParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MapParameterfvNV(int target, int pname, Single* @params);
-            internal unsafe static MapParameterfvNV glMapParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [Out] IntPtr points);
-            internal static GetMapControlPointsNV glGetMapControlPointsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapParameterivNV(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetMapParameterivNV glGetMapParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapParameterfvNV(int target, int pname, [Out] Single* @params);
-            internal unsafe static GetMapParameterfvNV glGetMapParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] Int32* @params);
-            internal unsafe static GetMapAttribParameterivNV glGetMapAttribParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] Single* @params);
-            internal unsafe static GetMapAttribParameterfvNV glGetMapAttribParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EvalMapsNV(int target, int mode);
-            internal static EvalMapsNV glEvalMapsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void CombinerStageParameterfvNV(int stage, int pname, Single* @params);
-            internal unsafe static CombinerStageParameterfvNV glCombinerStageParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetCombinerStageParameterfvNV(int stage, int pname, [Out] Single* @params);
-            internal unsafe static GetCombinerStageParameterfvNV glGetCombinerStageParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate Int32 AreProgramsResidentNV(Int32 n, UInt32* programs, [Out] Int32* residences);
-            internal unsafe static AreProgramsResidentNV glAreProgramsResidentNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindProgramNV(int target, UInt32 id);
-            internal static BindProgramNV glBindProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteProgramsNV(Int32 n, UInt32* programs);
-            internal unsafe static DeleteProgramsNV glDeleteProgramsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ExecuteProgramNV(int target, UInt32 id, Single* @params);
-            internal unsafe static ExecuteProgramNV glExecuteProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenProgramsNV(Int32 n, [Out] UInt32* programs);
-            internal unsafe static GenProgramsNV glGenProgramsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] Double* @params);
-            internal unsafe static GetProgramParameterdvNV glGetProgramParameterdvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] Single* @params);
-            internal unsafe static GetProgramParameterfvNV glGetProgramParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramivNV(UInt32 id, int pname, [Out] Int32* @params);
-            internal unsafe static GetProgramivNV glGetProgramivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramStringNV(UInt32 id, int pname, [Out] Byte* program);
-            internal unsafe static GetProgramStringNV glGetProgramStringNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] Int32* @params);
-            internal unsafe static GetTrackMatrixivNV glGetTrackMatrixivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribdvNV(UInt32 index, int pname, [Out] Double* @params);
-            internal unsafe static GetVertexAttribdvNV glGetVertexAttribdvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribfvNV(UInt32 index, int pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribfvNV glGetVertexAttribfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribivNV(UInt32 index, int pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribivNV glGetVertexAttribivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVertexAttribPointervNV(UInt32 index, int pname, [Out] IntPtr pointer);
-            internal static GetVertexAttribPointervNV glGetVertexAttribPointervNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsProgramNV(UInt32 id);
-            internal static IsProgramNV glIsProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void LoadProgramNV(int target, UInt32 id, Int32 len, Byte* program);
-            internal unsafe static LoadProgramNV glLoadProgramNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameter4dNV(int target, UInt32 index, Double x, Double y, Double z, Double w);
-            internal static ProgramParameter4dNV glProgramParameter4dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameter4dvNV(int target, UInt32 index, Double* v);
-            internal unsafe static ProgramParameter4dvNV glProgramParameter4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameter4fNV(int target, UInt32 index, Single x, Single y, Single z, Single w);
-            internal static ProgramParameter4fNV glProgramParameter4fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameter4fvNV(int target, UInt32 index, Single* v);
-            internal unsafe static ProgramParameter4fvNV glProgramParameter4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameters4dvNV(int target, UInt32 index, UInt32 count, Double* v);
-            internal unsafe static ProgramParameters4dvNV glProgramParameters4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramParameters4fvNV(int target, UInt32 index, UInt32 count, Single* v);
-            internal unsafe static ProgramParameters4fvNV glProgramParameters4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void RequestResidentProgramsNV(Int32 n, UInt32* programs);
-            internal unsafe static RequestResidentProgramsNV glRequestResidentProgramsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TrackMatrixNV(int target, UInt32 address, int matrix, int transform);
-            internal static TrackMatrixNV glTrackMatrixNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribPointerNV(UInt32 index, Int32 fsize, int type, Int32 stride, IntPtr pointer);
-            internal static VertexAttribPointerNV glVertexAttribPointerNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1dNV(UInt32 index, Double x);
-            internal static VertexAttrib1dNV glVertexAttrib1dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib1dvNV glVertexAttrib1dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1fNV(UInt32 index, Single x);
-            internal static VertexAttrib1fNV glVertexAttrib1fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib1fvNV glVertexAttrib1fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1sNV(UInt32 index, Int16 x);
-            internal static VertexAttrib1sNV glVertexAttrib1sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib1svNV glVertexAttrib1svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2dNV(UInt32 index, Double x, Double y);
-            internal static VertexAttrib2dNV glVertexAttrib2dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib2dvNV glVertexAttrib2dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2fNV(UInt32 index, Single x, Single y);
-            internal static VertexAttrib2fNV glVertexAttrib2fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib2fvNV glVertexAttrib2fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2sNV(UInt32 index, Int16 x, Int16 y);
-            internal static VertexAttrib2sNV glVertexAttrib2sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib2svNV glVertexAttrib2svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3dNV(UInt32 index, Double x, Double y, Double z);
-            internal static VertexAttrib3dNV glVertexAttrib3dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib3dvNV glVertexAttrib3dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3fNV(UInt32 index, Single x, Single y, Single z);
-            internal static VertexAttrib3fNV glVertexAttrib3fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib3fvNV glVertexAttrib3fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z);
-            internal static VertexAttrib3sNV glVertexAttrib3sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib3svNV glVertexAttrib3svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w);
-            internal static VertexAttrib4dNV glVertexAttrib4dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4dvNV(UInt32 index, Double* v);
-            internal unsafe static VertexAttrib4dvNV glVertexAttrib4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w);
-            internal static VertexAttrib4fNV glVertexAttrib4fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4fvNV(UInt32 index, Single* v);
-            internal unsafe static VertexAttrib4fvNV glVertexAttrib4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexAttrib4sNV glVertexAttrib4sNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4svNV(UInt32 index, Int16* v);
-            internal unsafe static VertexAttrib4svNV glVertexAttrib4svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w);
-            internal static VertexAttrib4ubNV glVertexAttrib4ubNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4ubvNV(UInt32 index, Byte* v);
-            internal unsafe static VertexAttrib4ubvNV glVertexAttrib4ubvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs1dvNV glVertexAttribs1dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs1fvNV glVertexAttribs1fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs1svNV glVertexAttribs1svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs2dvNV glVertexAttribs2dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs2fvNV glVertexAttribs2fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs2svNV glVertexAttribs2svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs3dvNV glVertexAttribs3dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs3fvNV glVertexAttribs3fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs3svNV glVertexAttribs3svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4dvNV(UInt32 index, Int32 count, Double* v);
-            internal unsafe static VertexAttribs4dvNV glVertexAttribs4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4fvNV(UInt32 index, Int32 count, Single* v);
-            internal unsafe static VertexAttribs4fvNV glVertexAttribs4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4svNV(UInt32 index, Int32 count, Int16* v);
-            internal unsafe static VertexAttribs4svNV glVertexAttribs4svNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4ubvNV(UInt32 index, Int32 count, Byte* v);
-            internal unsafe static VertexAttribs4ubvNV glVertexAttribs4ubvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexBumpParameterivATI(int pname, Int32* param);
-            internal unsafe static TexBumpParameterivATI glTexBumpParameterivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexBumpParameterfvATI(int pname, Single* param);
-            internal unsafe static TexBumpParameterfvATI glTexBumpParameterfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexBumpParameterivATI(int pname, [Out] Int32* param);
-            internal unsafe static GetTexBumpParameterivATI glGetTexBumpParameterivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexBumpParameterfvATI(int pname, [Out] Single* param);
-            internal unsafe static GetTexBumpParameterfvATI glGetTexBumpParameterfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenFragmentShadersATI(UInt32 range);
-            internal static GenFragmentShadersATI glGenFragmentShadersATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFragmentShaderATI(UInt32 id);
-            internal static BindFragmentShaderATI glBindFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteFragmentShaderATI(UInt32 id);
-            internal static DeleteFragmentShaderATI glDeleteFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginFragmentShaderATI();
-            internal static BeginFragmentShaderATI glBeginFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndFragmentShaderATI();
-            internal static EndFragmentShaderATI glEndFragmentShaderATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PassTexCoordATI(UInt32 dst, UInt32 coord, int swizzle);
-            internal static PassTexCoordATI glPassTexCoordATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SampleMapATI(UInt32 dst, UInt32 interp, int swizzle);
-            internal static SampleMapATI glSampleMapATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);
-            internal static ColorFragmentOp1ATI glColorFragmentOp1ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);
-            internal static ColorFragmentOp2ATI glColorFragmentOp2ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);
-            internal static ColorFragmentOp3ATI glColorFragmentOp3ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);
-            internal static AlphaFragmentOp1ATI glAlphaFragmentOp1ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);
-            internal static AlphaFragmentOp2ATI glAlphaFragmentOp2ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void AlphaFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);
-            internal static AlphaFragmentOp3ATI glAlphaFragmentOp3ATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SetFragmentShaderConstantATI(UInt32 dst, Single* value);
-            internal unsafe static SetFragmentShaderConstantATI glSetFragmentShaderConstantATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PNTrianglesiATI(int pname, Int32 param);
-            internal static PNTrianglesiATI glPNTrianglesiATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PNTrianglesfATI(int pname, Single param);
-            internal static PNTrianglesfATI glPNTrianglesfATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 NewObjectBufferATI(Int32 size, IntPtr pointer, int usage);
-            internal static NewObjectBufferATI glNewObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsObjectBufferATI(UInt32 buffer);
-            internal static IsObjectBufferATI glIsObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, int preserve);
-            internal static UpdateObjectBufferATI glUpdateObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectBufferfvATI(UInt32 buffer, int pname, [Out] Single* @params);
-            internal unsafe static GetObjectBufferfvATI glGetObjectBufferfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetObjectBufferivATI(UInt32 buffer, int pname, [Out] Int32* @params);
-            internal unsafe static GetObjectBufferivATI glGetObjectBufferivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FreeObjectBufferATI(UInt32 buffer);
-            internal static FreeObjectBufferATI glFreeObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ArrayObjectATI(int array, Int32 size, int type, Int32 stride, UInt32 buffer, UInt32 offset);
-            internal static ArrayObjectATI glArrayObjectATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetArrayObjectfvATI(int array, int pname, [Out] Single* @params);
-            internal unsafe static GetArrayObjectfvATI glGetArrayObjectfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetArrayObjectivATI(int array, int pname, [Out] Int32* @params);
-            internal unsafe static GetArrayObjectivATI glGetArrayObjectivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VariantArrayObjectATI(UInt32 id, int type, Int32 stride, UInt32 buffer, UInt32 offset);
-            internal static VariantArrayObjectATI glVariantArrayObjectATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] Single* @params);
-            internal unsafe static GetVariantArrayObjectfvATI glGetVariantArrayObjectfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantArrayObjectivATI(UInt32 id, int pname, [Out] Int32* @params);
-            internal unsafe static GetVariantArrayObjectivATI glGetVariantArrayObjectivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginVertexShaderEXT();
-            internal static BeginVertexShaderEXT glBeginVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndVertexShaderEXT();
-            internal static EndVertexShaderEXT glEndVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindVertexShaderEXT(UInt32 id);
-            internal static BindVertexShaderEXT glBindVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenVertexShadersEXT(UInt32 range);
-            internal static GenVertexShadersEXT glGenVertexShadersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DeleteVertexShaderEXT(UInt32 id);
-            internal static DeleteVertexShaderEXT glDeleteVertexShaderEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShaderOp1EXT(int op, UInt32 res, UInt32 arg1);
-            internal static ShaderOp1EXT glShaderOp1EXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShaderOp2EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2);
-            internal static ShaderOp2EXT glShaderOp2EXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ShaderOp3EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3);
-            internal static ShaderOp3EXT glShaderOp3EXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SwizzleEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW);
-            internal static SwizzleEXT glSwizzleEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void WriteMaskEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW);
-            internal static WriteMaskEXT glWriteMaskEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void InsertComponentEXT(UInt32 res, UInt32 src, UInt32 num);
-            internal static InsertComponentEXT glInsertComponentEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num);
-            internal static ExtractComponentEXT glExtractComponentEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GenSymbolsEXT(int datatype, int storagetype, int range, UInt32 components);
-            internal static GenSymbolsEXT glGenSymbolsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetInvariantEXT(UInt32 id, int type, IntPtr addr);
-            internal static SetInvariantEXT glSetInvariantEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetLocalConstantEXT(UInt32 id, int type, IntPtr addr);
-            internal static SetLocalConstantEXT glSetLocalConstantEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantbvEXT(UInt32 id, SByte* addr);
-            internal unsafe static VariantbvEXT glVariantbvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantsvEXT(UInt32 id, Int16* addr);
-            internal unsafe static VariantsvEXT glVariantsvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantivEXT(UInt32 id, Int32* addr);
-            internal unsafe static VariantivEXT glVariantivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantfvEXT(UInt32 id, Single* addr);
-            internal unsafe static VariantfvEXT glVariantfvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantdvEXT(UInt32 id, Double* addr);
-            internal unsafe static VariantdvEXT glVariantdvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantubvEXT(UInt32 id, Byte* addr);
-            internal unsafe static VariantubvEXT glVariantubvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantusvEXT(UInt32 id, UInt16* addr);
-            internal unsafe static VariantusvEXT glVariantusvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VariantuivEXT(UInt32 id, UInt32* addr);
-            internal unsafe static VariantuivEXT glVariantuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VariantPointerEXT(UInt32 id, int type, UInt32 stride, IntPtr addr);
-            internal static VariantPointerEXT glVariantPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableVariantClientStateEXT(UInt32 id);
-            internal static EnableVariantClientStateEXT glEnableVariantClientStateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableVariantClientStateEXT(UInt32 id);
-            internal static DisableVariantClientStateEXT glDisableVariantClientStateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindLightParameterEXT(int light, int value);
-            internal static BindLightParameterEXT glBindLightParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindMaterialParameterEXT(int face, int value);
-            internal static BindMaterialParameterEXT glBindMaterialParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindTexGenParameterEXT(int unit, int coord, int value);
-            internal static BindTexGenParameterEXT glBindTexGenParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindTextureUnitParameterEXT(int unit, int value);
-            internal static BindTextureUnitParameterEXT glBindTextureUnitParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 BindParameterEXT(int value);
-            internal static BindParameterEXT glBindParameterEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsVariantEnabledEXT(UInt32 id, int cap);
-            internal static IsVariantEnabledEXT glIsVariantEnabledEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantBooleanvEXT(UInt32 id, int value, [Out] Int32* data);
-            internal unsafe static GetVariantBooleanvEXT glGetVariantBooleanvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantIntegervEXT(UInt32 id, int value, [Out] Int32* data);
-            internal unsafe static GetVariantIntegervEXT glGetVariantIntegervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVariantFloatvEXT(UInt32 id, int value, [Out] Single* data);
-            internal unsafe static GetVariantFloatvEXT glGetVariantFloatvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GetVariantPointervEXT(UInt32 id, int value, [Out] IntPtr data);
-            internal static GetVariantPointervEXT glGetVariantPointervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInvariantBooleanvEXT(UInt32 id, int value, [Out] Int32* data);
-            internal unsafe static GetInvariantBooleanvEXT glGetInvariantBooleanvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInvariantIntegervEXT(UInt32 id, int value, [Out] Int32* data);
-            internal unsafe static GetInvariantIntegervEXT glGetInvariantIntegervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetInvariantFloatvEXT(UInt32 id, int value, [Out] Single* data);
-            internal unsafe static GetInvariantFloatvEXT glGetInvariantFloatvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] Int32* data);
-            internal unsafe static GetLocalConstantBooleanvEXT glGetLocalConstantBooleanvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLocalConstantIntegervEXT(UInt32 id, int value, [Out] Int32* data);
-            internal unsafe static GetLocalConstantIntegervEXT glGetLocalConstantIntegervEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetLocalConstantFloatvEXT(UInt32 id, int value, [Out] Single* data);
-            internal unsafe static GetLocalConstantFloatvEXT glGetLocalConstantFloatvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1sATI(int stream, Int16 x);
-            internal static VertexStream1sATI glVertexStream1sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1svATI(int stream, Int16* coords);
-            internal unsafe static VertexStream1svATI glVertexStream1svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1iATI(int stream, Int32 x);
-            internal static VertexStream1iATI glVertexStream1iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1ivATI(int stream, Int32* coords);
-            internal unsafe static VertexStream1ivATI glVertexStream1ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1fATI(int stream, Single x);
-            internal static VertexStream1fATI glVertexStream1fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1fvATI(int stream, Single* coords);
-            internal unsafe static VertexStream1fvATI glVertexStream1fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream1dATI(int stream, Double x);
-            internal static VertexStream1dATI glVertexStream1dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream1dvATI(int stream, Double* coords);
-            internal unsafe static VertexStream1dvATI glVertexStream1dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2sATI(int stream, Int16 x, Int16 y);
-            internal static VertexStream2sATI glVertexStream2sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2svATI(int stream, Int16* coords);
-            internal unsafe static VertexStream2svATI glVertexStream2svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2iATI(int stream, Int32 x, Int32 y);
-            internal static VertexStream2iATI glVertexStream2iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2ivATI(int stream, Int32* coords);
-            internal unsafe static VertexStream2ivATI glVertexStream2ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2fATI(int stream, Single x, Single y);
-            internal static VertexStream2fATI glVertexStream2fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2fvATI(int stream, Single* coords);
-            internal unsafe static VertexStream2fvATI glVertexStream2fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream2dATI(int stream, Double x, Double y);
-            internal static VertexStream2dATI glVertexStream2dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream2dvATI(int stream, Double* coords);
-            internal unsafe static VertexStream2dvATI glVertexStream2dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3sATI(int stream, Int16 x, Int16 y, Int16 z);
-            internal static VertexStream3sATI glVertexStream3sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3svATI(int stream, Int16* coords);
-            internal unsafe static VertexStream3svATI glVertexStream3svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3iATI(int stream, Int32 x, Int32 y, Int32 z);
-            internal static VertexStream3iATI glVertexStream3iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3ivATI(int stream, Int32* coords);
-            internal unsafe static VertexStream3ivATI glVertexStream3ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3fATI(int stream, Single x, Single y, Single z);
-            internal static VertexStream3fATI glVertexStream3fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3fvATI(int stream, Single* coords);
-            internal unsafe static VertexStream3fvATI glVertexStream3fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream3dATI(int stream, Double x, Double y, Double z);
-            internal static VertexStream3dATI glVertexStream3dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream3dvATI(int stream, Double* coords);
-            internal unsafe static VertexStream3dvATI glVertexStream3dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4sATI(int stream, Int16 x, Int16 y, Int16 z, Int16 w);
-            internal static VertexStream4sATI glVertexStream4sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4svATI(int stream, Int16* coords);
-            internal unsafe static VertexStream4svATI glVertexStream4svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4iATI(int stream, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static VertexStream4iATI glVertexStream4iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4ivATI(int stream, Int32* coords);
-            internal unsafe static VertexStream4ivATI glVertexStream4ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4fATI(int stream, Single x, Single y, Single z, Single w);
-            internal static VertexStream4fATI glVertexStream4fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4fvATI(int stream, Single* coords);
-            internal unsafe static VertexStream4fvATI glVertexStream4fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexStream4dATI(int stream, Double x, Double y, Double z, Double w);
-            internal static VertexStream4dATI glVertexStream4dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexStream4dvATI(int stream, Double* coords);
-            internal unsafe static VertexStream4dvATI glVertexStream4dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3bATI(int stream, SByte nx, SByte ny, SByte nz);
-            internal static NormalStream3bATI glNormalStream3bATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3bvATI(int stream, SByte* coords);
-            internal unsafe static NormalStream3bvATI glNormalStream3bvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3sATI(int stream, Int16 nx, Int16 ny, Int16 nz);
-            internal static NormalStream3sATI glNormalStream3sATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3svATI(int stream, Int16* coords);
-            internal unsafe static NormalStream3svATI glNormalStream3svATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3iATI(int stream, Int32 nx, Int32 ny, Int32 nz);
-            internal static NormalStream3iATI glNormalStream3iATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3ivATI(int stream, Int32* coords);
-            internal unsafe static NormalStream3ivATI glNormalStream3ivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3fATI(int stream, Single nx, Single ny, Single nz);
-            internal static NormalStream3fATI glNormalStream3fATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3fvATI(int stream, Single* coords);
-            internal unsafe static NormalStream3fvATI glNormalStream3fvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void NormalStream3dATI(int stream, Double nx, Double ny, Double nz);
-            internal static NormalStream3dATI glNormalStream3dATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void NormalStream3dvATI(int stream, Double* coords);
-            internal unsafe static NormalStream3dvATI glNormalStream3dvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClientActiveVertexStreamATI(int stream);
-            internal static ClientActiveVertexStreamATI glClientActiveVertexStreamATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexBlendEnviATI(int pname, Int32 param);
-            internal static VertexBlendEnviATI glVertexBlendEnviATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexBlendEnvfATI(int pname, Single param);
-            internal static VertexBlendEnvfATI glVertexBlendEnvfATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ElementPointerATI(int type, IntPtr pointer);
-            internal static ElementPointerATI glElementPointerATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementArrayATI(int mode, Int32 count);
-            internal static DrawElementArrayATI glDrawElementArrayATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementArrayATI(int mode, UInt32 start, UInt32 end, Int32 count);
-            internal static DrawRangeElementArrayATI glDrawRangeElementArrayATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawMeshArraysSUN(int mode, Int32 first, Int32 count, Int32 width);
-            internal static DrawMeshArraysSUN glDrawMeshArraysSUN;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenOcclusionQueriesNV(Int32 n, [Out] UInt32* ids);
-            internal unsafe static GenOcclusionQueriesNV glGenOcclusionQueriesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteOcclusionQueriesNV(Int32 n, UInt32* ids);
-            internal unsafe static DeleteOcclusionQueriesNV glDeleteOcclusionQueriesNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsOcclusionQueryNV(UInt32 id);
-            internal static IsOcclusionQueryNV glIsOcclusionQueryNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginOcclusionQueryNV(UInt32 id);
-            internal static BeginOcclusionQueryNV glBeginOcclusionQueryNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndOcclusionQueryNV();
-            internal static EndOcclusionQueryNV glEndOcclusionQueryNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetOcclusionQueryivNV(UInt32 id, int pname, [Out] Int32* @params);
-            internal unsafe static GetOcclusionQueryivNV glGetOcclusionQueryivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetOcclusionQueryuivNV(UInt32 id, int pname, [Out] UInt32* @params);
-            internal unsafe static GetOcclusionQueryuivNV glGetOcclusionQueryuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PointParameteriNV(int pname, Int32 param);
-            internal static PointParameteriNV glPointParameteriNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void PointParameterivNV(int pname, Int32* @params);
-            internal unsafe static PointParameterivNV glPointParameterivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveStencilFaceEXT(int face);
-            internal static ActiveStencilFaceEXT glActiveStencilFaceEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ElementPointerAPPLE(int type, IntPtr pointer);
-            internal static ElementPointerAPPLE glElementPointerAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementArrayAPPLE(int mode, Int32 first, Int32 count);
-            internal static DrawElementArrayAPPLE glDrawElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32 first, Int32 count);
-            internal static DrawRangeElementArrayAPPLE glDrawRangeElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawElementArrayAPPLE(int mode, Int32* first, Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawElementArrayAPPLE glMultiDrawElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32* first, Int32* count, Int32 primcount);
-            internal unsafe static MultiDrawRangeElementArrayAPPLE glMultiDrawRangeElementArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFencesAPPLE(Int32 n, [Out] UInt32* fences);
-            internal unsafe static GenFencesAPPLE glGenFencesAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFencesAPPLE(Int32 n, UInt32* fences);
-            internal unsafe static DeleteFencesAPPLE glDeleteFencesAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SetFenceAPPLE(UInt32 fence);
-            internal static SetFenceAPPLE glSetFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsFenceAPPLE(UInt32 fence);
-            internal static IsFenceAPPLE glIsFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 TestFenceAPPLE(UInt32 fence);
-            internal static TestFenceAPPLE glTestFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishFenceAPPLE(UInt32 fence);
-            internal static FinishFenceAPPLE glFinishFenceAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 TestObjectAPPLE(int @object, UInt32 name);
-            internal static TestObjectAPPLE glTestObjectAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FinishObjectAPPLE(int @object, Int32 name);
-            internal static FinishObjectAPPLE glFinishObjectAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindVertexArrayAPPLE(UInt32 array);
-            internal static BindVertexArrayAPPLE glBindVertexArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteVertexArraysAPPLE(Int32 n, UInt32* arrays);
-            internal unsafe static DeleteVertexArraysAPPLE glDeleteVertexArraysAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenVertexArraysAPPLE(Int32 n, [Out] UInt32* arrays);
-            internal unsafe static GenVertexArraysAPPLE glGenVertexArraysAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsVertexArrayAPPLE(UInt32 array);
-            internal static IsVertexArrayAPPLE glIsVertexArrayAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer);
-            internal static VertexArrayRangeAPPLE glVertexArrayRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer);
-            internal static FlushVertexArrayRangeAPPLE glFlushVertexArrayRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexArrayParameteriAPPLE(int pname, Int32 param);
-            internal static VertexArrayParameteriAPPLE glVertexArrayParameteriAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DrawBuffersATI(Int32 n, int* bufs);
-            internal unsafe static DrawBuffersATI glDrawBuffersATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte* name, Single x, Single y, Single z, Single w);
-            internal unsafe static ProgramNamedParameter4fNV glProgramNamedParameter4fNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte* name, Double x, Double y, Double z, Double w);
-            internal unsafe static ProgramNamedParameter4dNV glProgramNamedParameter4dNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte* name, Single* v);
-            internal unsafe static ProgramNamedParameter4fvNV glProgramNamedParameter4fvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte* name, Double* v);
-            internal unsafe static ProgramNamedParameter4dvNV glProgramNamedParameter4dvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte* name, [Out] Single* @params);
-            internal unsafe static GetProgramNamedParameterfvNV glGetProgramNamedParameterfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte* name, [Out] Double* @params);
-            internal unsafe static GetProgramNamedParameterdvNV glGetProgramNamedParameterdvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex2hNV(UInt16 x, UInt16 y);
-            internal static Vertex2hNV glVertex2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex2hvNV(UInt16* v);
-            internal unsafe static Vertex2hvNV glVertex2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex3hNV(UInt16 x, UInt16 y, UInt16 z);
-            internal static Vertex3hNV glVertex3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex3hvNV(UInt16* v);
-            internal unsafe static Vertex3hvNV glVertex3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Vertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w);
-            internal static Vertex4hNV glVertex4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Vertex4hvNV(UInt16* v);
-            internal unsafe static Vertex4hvNV glVertex4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Normal3hNV(UInt16 nx, UInt16 ny, UInt16 nz);
-            internal static Normal3hNV glNormal3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Normal3hvNV(UInt16* v);
-            internal unsafe static Normal3hvNV glNormal3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color3hNV(UInt16 red, UInt16 green, UInt16 blue);
-            internal static Color3hNV glColor3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color3hvNV(UInt16* v);
-            internal unsafe static Color3hvNV glColor3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Color4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);
-            internal static Color4hNV glColor4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Color4hvNV(UInt16* v);
-            internal unsafe static Color4hvNV glColor4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord1hNV(UInt16 s);
-            internal static TexCoord1hNV glTexCoord1hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord1hvNV(UInt16* v);
-            internal unsafe static TexCoord1hvNV glTexCoord1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord2hNV(UInt16 s, UInt16 t);
-            internal static TexCoord2hNV glTexCoord2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord2hvNV(UInt16* v);
-            internal unsafe static TexCoord2hvNV glTexCoord2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord3hNV(UInt16 s, UInt16 t, UInt16 r);
-            internal static TexCoord3hNV glTexCoord3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord3hvNV(UInt16* v);
-            internal unsafe static TexCoord3hvNV glTexCoord3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q);
-            internal static TexCoord4hNV glTexCoord4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexCoord4hvNV(UInt16* v);
-            internal unsafe static TexCoord4hvNV glTexCoord4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord1hNV(int target, UInt16 s);
-            internal static MultiTexCoord1hNV glMultiTexCoord1hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord1hvNV(int target, UInt16* v);
-            internal unsafe static MultiTexCoord1hvNV glMultiTexCoord1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord2hNV(int target, UInt16 s, UInt16 t);
-            internal static MultiTexCoord2hNV glMultiTexCoord2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord2hvNV(int target, UInt16* v);
-            internal unsafe static MultiTexCoord2hvNV glMultiTexCoord2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r);
-            internal static MultiTexCoord3hNV glMultiTexCoord3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord3hvNV(int target, UInt16* v);
-            internal unsafe static MultiTexCoord3hvNV glMultiTexCoord3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void MultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q);
-            internal static MultiTexCoord4hNV glMultiTexCoord4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void MultiTexCoord4hvNV(int target, UInt16* v);
-            internal unsafe static MultiTexCoord4hvNV glMultiTexCoord4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FogCoordhNV(UInt16 fog);
-            internal static FogCoordhNV glFogCoordhNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void FogCoordhvNV(UInt16* fog);
-            internal unsafe static FogCoordhvNV glFogCoordhvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void SecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue);
-            internal static SecondaryColor3hNV glSecondaryColor3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void SecondaryColor3hvNV(UInt16* v);
-            internal unsafe static SecondaryColor3hvNV glSecondaryColor3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexWeighthNV(UInt16 weight);
-            internal static VertexWeighthNV glVertexWeighthNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexWeighthvNV(UInt16* weight);
-            internal unsafe static VertexWeighthvNV glVertexWeighthvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib1hNV(UInt32 index, UInt16 x);
-            internal static VertexAttrib1hNV glVertexAttrib1hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib1hvNV(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib1hvNV glVertexAttrib1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib2hNV(UInt32 index, UInt16 x, UInt16 y);
-            internal static VertexAttrib2hNV glVertexAttrib2hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib2hvNV(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib2hvNV glVertexAttrib2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib3hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z);
-            internal static VertexAttrib3hNV glVertexAttrib3hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib3hvNV(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib3hvNV glVertexAttrib3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttrib4hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w);
-            internal static VertexAttrib4hNV glVertexAttrib4hNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttrib4hvNV(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttrib4hvNV glVertexAttrib4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs1hvNV(UInt32 index, Int32 n, UInt16* v);
-            internal unsafe static VertexAttribs1hvNV glVertexAttribs1hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs2hvNV(UInt32 index, Int32 n, UInt16* v);
-            internal unsafe static VertexAttribs2hvNV glVertexAttribs2hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs3hvNV(UInt32 index, Int32 n, UInt16* v);
-            internal unsafe static VertexAttribs3hvNV glVertexAttribs3hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribs4hvNV(UInt32 index, Int32 n, UInt16* v);
-            internal unsafe static VertexAttribs4hvNV glVertexAttribs4hvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PixelDataRangeNV(int target, Int32 length, [Out] IntPtr pointer);
-            internal static PixelDataRangeNV glPixelDataRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushPixelDataRangeNV(int target);
-            internal static FlushPixelDataRangeNV glFlushPixelDataRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PrimitiveRestartNV();
-            internal static PrimitiveRestartNV glPrimitiveRestartNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void PrimitiveRestartIndexNV(UInt32 index);
-            internal static PrimitiveRestartIndexNV glPrimitiveRestartIndexNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate IntPtr MapObjectBufferATI(UInt32 buffer);
-            internal unsafe static MapObjectBufferATI glMapObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UnmapObjectBufferATI(UInt32 buffer);
-            internal static UnmapObjectBufferATI glUnmapObjectBufferATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilOpSeparateATI(int face, int sfail, int dpfail, int dppass);
-            internal static StencilOpSeparateATI glStencilOpSeparateATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilFuncSeparateATI(int frontfunc, int backfunc, Int32 @ref, UInt32 mask);
-            internal static StencilFuncSeparateATI glStencilFuncSeparateATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribArrayObjectATI(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, UInt32 buffer, UInt32 offset);
-            internal static VertexAttribArrayObjectATI glVertexAttribArrayObjectATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] Single* @params);
-            internal unsafe static GetVertexAttribArrayObjectfvATI glGetVertexAttribArrayObjectfvATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribArrayObjectivATI glGetVertexAttribArrayObjectivATI;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthBoundsEXT(Double zmin, Double zmax);
-            internal static DepthBoundsEXT glDepthBoundsEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlendEquationSeparateEXT(int modeRGB, int modeAlpha);
-            internal static BlendEquationSeparateEXT glBlendEquationSeparateEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsRenderbufferEXT(UInt32 renderbuffer);
-            internal static IsRenderbufferEXT glIsRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindRenderbufferEXT(int target, UInt32 renderbuffer);
-            internal static BindRenderbufferEXT glBindRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteRenderbuffersEXT(Int32 n, UInt32* renderbuffers);
-            internal unsafe static DeleteRenderbuffersEXT glDeleteRenderbuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenRenderbuffersEXT(Int32 n, [Out] UInt32* renderbuffers);
-            internal unsafe static GenRenderbuffersEXT glGenRenderbuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageEXT(int target, int internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageEXT glRenderbufferStorageEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetRenderbufferParameterivEXT(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetRenderbufferParameterivEXT glGetRenderbufferParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsFramebufferEXT(UInt32 framebuffer);
-            internal static IsFramebufferEXT glIsFramebufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFramebufferEXT(int target, UInt32 framebuffer);
-            internal static BindFramebufferEXT glBindFramebufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void DeleteFramebuffersEXT(Int32 n, UInt32* framebuffers);
-            internal unsafe static DeleteFramebuffersEXT glDeleteFramebuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GenFramebuffersEXT(Int32 n, [Out] UInt32* framebuffers);
-            internal unsafe static GenFramebuffersEXT glGenFramebuffersEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate int CheckFramebufferStatusEXT(int target);
-            internal static CheckFramebufferStatusEXT glCheckFramebufferStatusEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture1DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level);
-            internal static FramebufferTexture1DEXT glFramebufferTexture1DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture2DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level);
-            internal static FramebufferTexture2DEXT glFramebufferTexture2DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTexture3DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level, Int32 zoffset);
-            internal static FramebufferTexture3DEXT glFramebufferTexture3DEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, UInt32 renderbuffer);
-            internal static FramebufferRenderbufferEXT glFramebufferRenderbufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] Int32* @params);
-            internal unsafe static GetFramebufferAttachmentParameterivEXT glGetFramebufferAttachmentParameterivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void GenerateMipmapEXT(int target);
-            internal static GenerateMipmapEXT glGenerateMipmapEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StringMarkerGREMEDY(Int32 len, IntPtr @string);
-            internal static StringMarkerGREMEDY glStringMarkerGREMEDY;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void StencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag);
-            internal static StencilClearTagEXT glStencilClearTagEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, int mask, int filter);
-            internal static BlitFramebufferEXT glBlitFramebufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageMultisampleEXT(int target, Int32 samples, int internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageMultisampleEXT glRenderbufferStorageMultisampleEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjecti64vEXT(UInt32 id, int pname, [Out] Int64* @params);
-            internal unsafe static GetQueryObjecti64vEXT glGetQueryObjecti64vEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetQueryObjectui64vEXT(UInt32 id, int pname, [Out] UInt64* @params);
-            internal unsafe static GetQueryObjectui64vEXT glGetQueryObjectui64vEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static ProgramEnvParameters4fvEXT glProgramEnvParameters4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static ProgramLocalParameters4fvEXT glProgramLocalParameters4fvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BufferParameteriAPPLE(int target, int pname, Int32 param);
-            internal static BufferParameteriAPPLE glBufferParameteriAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FlushMappedBufferRangeAPPLE(int target, IntPtr offset, IntPtr size);
-            internal static FlushMappedBufferRangeAPPLE glFlushMappedBufferRangeAPPLE;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static ProgramLocalParameterI4iNV glProgramLocalParameterI4iNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameterI4ivNV(int target, UInt32 index, Int32* @params);
-            internal unsafe static ProgramLocalParameterI4ivNV glProgramLocalParameterI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static ProgramLocalParametersI4ivNV glProgramLocalParametersI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramLocalParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static ProgramLocalParameterI4uiNV glProgramLocalParameterI4uiNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParameterI4uivNV(int target, UInt32 index, UInt32* @params);
-            internal unsafe static ProgramLocalParameterI4uivNV glProgramLocalParameterI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static ProgramLocalParametersI4uivNV glProgramLocalParametersI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static ProgramEnvParameterI4iNV glProgramEnvParameterI4iNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameterI4ivNV(int target, UInt32 index, Int32* @params);
-            internal unsafe static ProgramEnvParameterI4ivNV glProgramEnvParameterI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static ProgramEnvParametersI4ivNV glProgramEnvParametersI4ivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramEnvParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static ProgramEnvParameterI4uiNV glProgramEnvParameterI4uiNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParameterI4uivNV(int target, UInt32 index, UInt32* @params);
-            internal unsafe static ProgramEnvParameterI4uivNV glProgramEnvParameterI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static ProgramEnvParametersI4uivNV glProgramEnvParametersI4uivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterIivNV(int target, UInt32 index, [Out] Int32* @params);
-            internal unsafe static GetProgramLocalParameterIivNV glGetProgramLocalParameterIivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] UInt32* @params);
-            internal unsafe static GetProgramLocalParameterIuivNV glGetProgramLocalParameterIuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterIivNV(int target, UInt32 index, [Out] Int32* @params);
-            internal unsafe static GetProgramEnvParameterIivNV glGetProgramEnvParameterIivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] UInt32* @params);
-            internal unsafe static GetProgramEnvParameterIuivNV glGetProgramEnvParameterIuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramVertexLimitNV(int target, Int32 limit);
-            internal static ProgramVertexLimitNV glProgramVertexLimitNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureEXT(int target, int attachment, UInt32 texture, Int32 level);
-            internal static FramebufferTextureEXT glFramebufferTextureEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureLayerEXT(int target, int attachment, UInt32 texture, Int32 level, Int32 layer);
-            internal static FramebufferTextureLayerEXT glFramebufferTextureLayerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void FramebufferTextureFaceEXT(int target, int attachment, UInt32 texture, Int32 level, int face);
-            internal static FramebufferTextureFaceEXT glFramebufferTextureFaceEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ProgramParameteriEXT(UInt32 program, int pname, Int32 value);
-            internal static ProgramParameteriEXT glProgramParameteriEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI1iEXT(UInt32 index, Int32 x);
-            internal static VertexAttribI1iEXT glVertexAttribI1iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y);
-            internal static VertexAttribI2iEXT glVertexAttribI2iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z);
-            internal static VertexAttribI3iEXT glVertexAttribI3iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);
-            internal static VertexAttribI4iEXT glVertexAttribI4iEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI1uiEXT(UInt32 index, UInt32 x);
-            internal static VertexAttribI1uiEXT glVertexAttribI1uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y);
-            internal static VertexAttribI2uiEXT glVertexAttribI2uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z);
-            internal static VertexAttribI3uiEXT glVertexAttribI3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);
-            internal static VertexAttribI4uiEXT glVertexAttribI4uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI1ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI1ivEXT glVertexAttribI1ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI2ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI2ivEXT glVertexAttribI2ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI3ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI3ivEXT glVertexAttribI3ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4ivEXT(UInt32 index, Int32* v);
-            internal unsafe static VertexAttribI4ivEXT glVertexAttribI4ivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI1uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI1uivEXT glVertexAttribI1uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI2uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI2uivEXT glVertexAttribI2uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI3uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI3uivEXT glVertexAttribI3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4uivEXT(UInt32 index, UInt32* v);
-            internal unsafe static VertexAttribI4uivEXT glVertexAttribI4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4bvEXT(UInt32 index, SByte* v);
-            internal unsafe static VertexAttribI4bvEXT glVertexAttribI4bvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4svEXT(UInt32 index, Int16* v);
-            internal unsafe static VertexAttribI4svEXT glVertexAttribI4svEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4ubvEXT(UInt32 index, Byte* v);
-            internal unsafe static VertexAttribI4ubvEXT glVertexAttribI4ubvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void VertexAttribI4usvEXT(UInt32 index, UInt16* v);
-            internal unsafe static VertexAttribI4usvEXT glVertexAttribI4usvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void VertexAttribIPointerEXT(UInt32 index, Int32 size, int type, Int32 stride, IntPtr pointer);
-            internal static VertexAttribIPointerEXT glVertexAttribIPointerEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribIivEXT(UInt32 index, int pname, [Out] Int32* @params);
-            internal unsafe static GetVertexAttribIivEXT glGetVertexAttribIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetVertexAttribIuivEXT(UInt32 index, int pname, [Out] UInt32* @params);
-            internal unsafe static GetVertexAttribIuivEXT glGetVertexAttribIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32* @params);
-            internal unsafe static GetUniformuivEXT glGetUniformuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindFragDataLocationEXT(UInt32 program, UInt32 color, System.String name);
-            internal static BindFragDataLocationEXT glBindFragDataLocationEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetFragDataLocationEXT(UInt32 program, System.String name);
-            internal static GetFragDataLocationEXT glGetFragDataLocationEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform1uiEXT(Int32 location, UInt32 v0);
-            internal static Uniform1uiEXT glUniform1uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1);
-            internal static Uniform2uiEXT glUniform2uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);
-            internal static Uniform3uiEXT glUniform3uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void Uniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);
-            internal static Uniform4uiEXT glUniform4uiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform1uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform1uivEXT glUniform1uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform2uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform2uivEXT glUniform2uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform3uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform3uivEXT glUniform3uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void Uniform4uivEXT(Int32 location, Int32 count, UInt32* value);
-            internal unsafe static Uniform4uivEXT glUniform4uivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawArraysInstancedEXT(int mode, Int32 start, Int32 count, Int32 primcount);
-            internal static DrawArraysInstancedEXT glDrawArraysInstancedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DrawElementsInstancedEXT(int mode, Int32 count, int type, IntPtr indices, Int32 primcount);
-            internal static DrawElementsInstancedEXT glDrawElementsInstancedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void TexBufferEXT(int target, int internalformat, UInt32 buffer);
-            internal static TexBufferEXT glTexBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthRangedNV(Double zNear, Double zFar);
-            internal static DepthRangedNV glDepthRangedNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearDepthdNV(Double depth);
-            internal static ClearDepthdNV glClearDepthdNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DepthBoundsdNV(Double zmin, Double zmax);
-            internal static DepthBoundsdNV glDepthBoundsdNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void RenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height);
-            internal static RenderbufferStorageMultisampleCoverageNV glRenderbufferStorageMultisampleCoverageNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, Single* @params);
-            internal unsafe static ProgramBufferParametersfvNV glProgramBufferParametersfvNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, Int32* @params);
-            internal unsafe static ProgramBufferParametersIivNV glProgramBufferParametersIivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void ProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32* @params);
-            internal unsafe static ProgramBufferParametersIuivNV glProgramBufferParametersIuivNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ColorMaskIndexedEXT(UInt32 index, Int32 r, Int32 g, Int32 b, Int32 a);
-            internal static ColorMaskIndexedEXT glColorMaskIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetBooleanIndexedvEXT(int target, UInt32 index, [Out] Int32* data);
-            internal unsafe static GetBooleanIndexedvEXT glGetBooleanIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetIntegerIndexedvEXT(int target, UInt32 index, [Out] Int32* data);
-            internal unsafe static GetIntegerIndexedvEXT glGetIntegerIndexedvEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EnableIndexedEXT(int target, UInt32 index);
-            internal static EnableIndexedEXT glEnableIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void DisableIndexedEXT(int target, UInt32 index);
-            internal static DisableIndexedEXT glDisableIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 IsEnabledIndexedEXT(int target, UInt32 index);
-            internal static IsEnabledIndexedEXT glIsEnabledIndexedEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BeginTransformFeedbackNV(int primitiveMode);
-            internal static BeginTransformFeedbackNV glBeginTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void EndTransformFeedbackNV();
-            internal static EndTransformFeedbackNV glEndTransformFeedbackNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TransformFeedbackAttribsNV(UInt32 count, Int32* attribs, int bufferMode);
-            internal unsafe static TransformFeedbackAttribsNV glTransformFeedbackAttribsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);
-            internal static BindBufferRangeNV glBindBufferRangeNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset);
-            internal static BindBufferOffsetNV glBindBufferOffsetNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void BindBufferBaseNV(int target, UInt32 index, UInt32 buffer);
-            internal static BindBufferBaseNV glBindBufferBaseNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TransformFeedbackVaryingsNV(UInt32 program, Int32 count, Int32* locations, int bufferMode);
-            internal unsafe static TransformFeedbackVaryingsNV glTransformFeedbackVaryingsNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ActiveVaryingNV(UInt32 program, System.String name);
-            internal static ActiveVaryingNV glActiveVaryingNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetVaryingLocationNV(UInt32 program, System.String name);
-            internal static GetVaryingLocationNV glGetVaryingLocationNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32* length, [Out] Int32* size, [Out] int* type, [Out] System.Text.StringBuilder name);
-            internal unsafe static GetActiveVaryingNV glGetActiveVaryingNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32* location);
-            internal unsafe static GetTransformFeedbackVaryingNV glGetTransformFeedbackVaryingNV;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void UniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer);
-            internal static UniformBufferEXT glUniformBufferEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate Int32 GetUniformBufferSizeEXT(UInt32 program, Int32 location);
-            internal static GetUniformBufferSizeEXT glGetUniformBufferSizeEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate IntPtr GetUniformOffsetEXT(UInt32 program, Int32 location);
-            internal static GetUniformOffsetEXT glGetUniformOffsetEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterIivEXT(int target, int pname, Int32* @params);
-            internal unsafe static TexParameterIivEXT glTexParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void TexParameterIuivEXT(int target, int pname, UInt32* @params);
-            internal unsafe static TexParameterIuivEXT glTexParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterIivEXT(int target, int pname, [Out] Int32* @params);
-            internal unsafe static GetTexParameterIivEXT glGetTexParameterIivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal unsafe delegate void GetTexParameterIuivEXT(int target, int pname, [Out] UInt32* @params);
-            internal unsafe static GetTexParameterIuivEXT glGetTexParameterIuivEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha);
-            internal static ClearColorIiEXT glClearColorIiEXT;
-            [System.Security.SuppressUnmanagedCodeSecurity()]
-            internal delegate void ClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);
-            internal static ClearColorIuiEXT glClearColorIuiEXT;
-        }
-    }
-    #pragma warning restore 0649
-}
diff --git a/Source/Compatibility/Tao/OpenGl/GLEnums.cs b/Source/Compatibility/Tao/OpenGl/GLEnums.cs
deleted file mode 100644 (file)
index ee0d667..0000000
+++ /dev/null
@@ -1,3027 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace Tao.OpenGl
-{
-
-#pragma warning disable 3019
-#pragma warning disable 1591
-
-    public static partial class Gl
-    {
-        public const int GL_TEXTURE_BLUE_SIZE = ((int)0x805E);
-        public const int GL_MATRIX_INDEX_ARRAY_ARB = ((int)0x8844);
-        public const int GL_BLEND_DST_RGB = ((int)0x80C8);
-        public const int GL_DONT_CARE = ((int)0x1100);
-        public const int GL_OP_FRAC_EXT = ((int)0x8789);
-        public const int GL_SOURCE0_RGB = ((int)0x8580);
-        public const int GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = ((int)0x880E);
-        public const int GL_POLYGON_TOKEN = ((int)0x0703);
-        public const int GL_VARIABLE_C_NV = ((int)0x8525);
-        public const int GL_TRIANGLE_FAN = ((int)0x0006);
-        public const int GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = ((int)0x87F1);
-        public const int GL_TEXTURE2 = ((int)0x84C2);
-        public const int GL_VERTEX_ARRAY_STRIDE = ((int)0x807C);
-        public const int GL_SWIZZLE_STRQ_ATI = ((int)0x897A);
-        public const int GL_ALPHA_MIN_SGIX = ((int)0x8320);
-        public const int GL_CULL_FACE = ((int)0x0B44);
-        public const int GL_FLOAT_MAT2 = ((int)0x8B5A);
-        public const int GL_MATRIX7_ARB = ((int)0x88C7);
-        public const int GL_POST_CONVOLUTION_GREEN_SCALE = ((int)0x801D);
-        public const int GL_UNSIGNED_INT_SAMPLER_1D_EXT = ((int)0x8DD1);
-        public const int GL_PIXEL_MAP_S_TO_S = ((int)0x0C71);
-        public const int GL_DOT3_RGBA_EXT = ((int)0x8741);
-        public const int GL_OP_FLOOR_EXT = ((int)0x878F);
-        public const int GL_LINE_WIDTH = ((int)0x0B21);
-        public const int GL_ATTRIB_ARRAY_POINTER_NV = ((int)0x8645);
-        public const int GL_SUBTRACT_ARB = ((int)0x84E7);
-        public const int GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = ((int)0x8909);
-        public const int GL_BUFFER_MAPPED_ARB = ((int)0x88BC);
-        public const int GL_LOWER_LEFT = ((int)0x8CA1);
-        public const int GL_MODELVIEW10_ARB = ((int)0x872A);
-        public const int GL_POINT_SIZE_MAX_ARB = ((int)0x8127);
-        public const int GL_TEXTURE3 = ((int)0x84C3);
-        public const int GL_MAX_4D_TEXTURE_SIZE_SGIS = ((int)0x8138);
-        public const int GL_SPRITE_OBJECT_ALIGNED_SGIX = ((int)0x814D);
-        public const int GL_OP_LOG_BASE_2_EXT = ((int)0x8792);
-        public const int GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = ((int)0x8178);
-        public const int GL_MATRIX3_ARB = ((int)0x88C3);
-        public const int GL_SRC2_RGB = ((int)GL_SOURCE2_RGB);
-        public const int GL_UPPER_LEFT = ((int)0x8CA2);
-        public const int GL_LINE_STRIP = ((int)0x0003);
-        public const int GL_SECONDARY_COLOR_NV = ((int)0x852D);
-        public const int GL_Y_EXT = ((int)0x87D6);
-        public const int GL_ARRAY_BUFFER_BINDING = ((int)0x8894);
-        public const int GL_MAX_PROGRAM_LOOP_DEPTH_NV = ((int)0x88F7);
-        public const int GL_EVAL_VERTEX_ATTRIB1_NV = ((int)0x86C7);
-        public const int GL_MODELVIEW27_ARB = ((int)0x873B);
-        public const int GL_SRGB8_ALPHA8_EXT = ((int)0x8C43);
-        public const int GL_CONSTANT_EXT = ((int)0x8576);
-        public const int GL_TEXTURE_CONSTANT_DATA_SUNX = ((int)0x81D6);
-        public const int GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = ((int)0x8162);
-        public const int GL_TEXTURE0 = ((int)0x84C0);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = ((int)0x8CD2);
-        public const int GL_REPLACEMENT_CODE_SUN = ((int)0x81D8);
-        public const int GL_STENCIL_INDEX = ((int)0x1901);
-        public const int GL_WRITE_ONLY = ((int)0x88B9);
-        public const int GL_DUAL_LUMINANCE_ALPHA4_SGIS = ((int)0x811C);
-        public const int GL_CLIP_NEAR_HINT_PGI = ((int)0x1A220);
-        public const int GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = ((int)0x88F4);
-        public const int GL_UNSIGNED_SHORT_8_8_APPLE = ((int)0x85BA);
-        public const int GL_T2F_IUI_V3F_EXT = ((int)0x81B2);
-        public const int GL_INTERLACE_OML = ((int)0x8980);
-        public const int GL_DRAW_BUFFER2_ARB = ((int)0x8827);
-        public const int GL_REG_23_ATI = ((int)0x8938);
-        public const int GL_CLAMP_TO_EDGE_SGIS = ((int)0x812F);
-        public const int GL_POINT_SIZE_MIN_ARB = ((int)0x8126);
-        public const int GL_CURRENT_INDEX = ((int)0x0B01);
-        public const int GL_POST_CONVOLUTION_BLUE_BIAS_EXT = ((int)0x8022);
-        public const int GL_TEXTURE_WRAP_Q_SGIS = ((int)0x8137);
-        public const int GL_POINT_SIZE_MAX_EXT = ((int)0x8127);
-        public const int GL_MAP1_COLOR_4 = ((int)0x0D90);
-        public const int GL_STATIC_READ = ((int)0x88E5);
-        public const int GL_PASS_THROUGH_TOKEN = ((int)0x0700);
-        public const int GL_TEXTURE1 = ((int)0x84C1);
-        public const int GL_PERTURB_EXT = ((int)0x85AE);
-        public const int GL_DRAW_BUFFER0_ARB = ((int)0x8825);
-        public const int GL_ALPHA_TEST = ((int)0x0BC0);
-        public const int GL_STENCIL_FUNC = ((int)0x0B92);
-        public const int GL_DOT3_RGB_EXT = ((int)0x8740);
-        public const int GL_INDEX_ARRAY_TYPE_EXT = ((int)0x8085);
-        public const int GL_STENCIL_FAIL = ((int)0x0B94);
-        public const int GL_SCREEN_COORDINATES_REND = ((int)0x8490);
-        public const int GL_RGBA4 = ((int)0x8056);
-        public const int GL_MATRIX7_NV = ((int)0x8637);
-        public const int GL_POST_COLOR_MATRIX_RED_SCALE = ((int)0x80B4);
-        public const int GL_INDEX_ARRAY_TYPE = ((int)0x8085);
-        public const int GL_PIXEL_SUBSAMPLE_4242_SGIX = ((int)0x85A4);
-        public const int GL_STENCIL_CLEAR_TAG_VALUE_EXT = ((int)0x88F3);
-        public const int GL_TEXTURE_STACK_DEPTH = ((int)0x0BA5);
-        public const int GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = ((int)0x845C);
-        public const int GL_SOURCE0_ALPHA = ((int)0x8588);
-        public const int GL_LUMINANCE12_ALPHA12 = ((int)0x8047);
-        public const int GL_MAP2_VERTEX_ATTRIB9_4_NV = ((int)0x8679);
-        public const int GL_DEPTH_COMPONENT24_ARB = ((int)0x81A6);
-        public const int GL_ACTIVE_UNIFORMS = ((int)0x8B86);
-        public const int GL_GREEN_BITS = ((int)0x0D53);
-        public const int GL_TEXTURE6 = ((int)0x84C6);
-        public const int GL_TEXTURE_LEQUAL_R_SGIX = ((int)0x819C);
-        public const int GL_ALPHA_TEST_REF = ((int)0x0BC2);
-        public const int GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = ((int)0x801F);
-        public const int GL_SECONDARY_COLOR_ARRAY_LIST_IBM = ((int)103077);
-        public const int GL_STREAM_READ_ARB = ((int)0x88E1);
-        public const int GL_UNSIGNED_BYTE = ((int)0x1401);
-        public const int GL_X_EXT = ((int)0x87D5);
-        public const int GL_GREEN_BIAS = ((int)0x0D19);
-        public const int GL_UNSIGNED_SHORT_4_4_4_4 = ((int)0x8033);
-        public const int GL_ALLOW_DRAW_OBJ_HINT_PGI = ((int)0x1A20E);
-        public const int GL_MODELVIEW0_ARB = ((int)0x1700);
-        public const int GL_MODULATE_SUBTRACT_ATI = ((int)0x8746);
-        public const int GL_ARRAY_OBJECT_OFFSET_ATI = ((int)0x8767);
-        public const int GL_UNPACK_CMYK_HINT_EXT = ((int)0x800F);
-        public const int GL_EDGE_FLAG_ARRAY_EXT = ((int)0x8079);
-        public const int GL_POST_CONVOLUTION_BLUE_SCALE_EXT = ((int)0x801E);
-        public const int GL_LO_BIAS_NV = ((int)0x8715);
-        public const int GL_ALPHA_SCALE = ((int)0x0D1C);
-        public const int GL_VARIANT_ARRAY_TYPE_EXT = ((int)0x87E7);
-        public const int GL_VERTEX_PRECLIP_HINT_SGIX = ((int)0x83EF);
-        public const int GL_TEXTURE7 = ((int)0x84C7);
-        public const int GL_TEXTURE_WRAP_R_EXT = ((int)0x8072);
-        public const int GL_TEXTURE18_ARB = ((int)0x84D2);
-        public const int GL_SOURCE1_RGB_ARB = ((int)0x8581);
-        public const int GL_VARIABLE_E_NV = ((int)0x8527);
-        public const int GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = ((int)0x8B87);
-        public const int GL_MAP1_VERTEX_ATTRIB15_4_NV = ((int)0x866F);
-        public const int GL_MAX_3D_TEXTURE_SIZE = ((int)0x8073);
-        public const int GL_PROGRAM_ADDRESS_REGISTERS_ARB = ((int)0x88B0);
-        public const int GL_QUAD_INTENSITY8_SGIS = ((int)0x8123);
-        public const int GL_CURRENT_WEIGHT_ARB = ((int)0x86A8);
-        public const int GL_OP_DOT4_EXT = ((int)0x8785);
-        public const int GL_TEXTURE_RESIDENT_EXT = ((int)0x8067);
-        public const int GL_ALPHA12 = ((int)0x803D);
-        public const int GL_INSTRUMENT_MEASUREMENTS_SGIX = ((int)0x8181);
-        public const int GL_EQUAL = ((int)0x0202);
-        public const int GL_MAP2_INDEX = ((int)0x0DB1);
-        public const int GL_SOURCE1_ALPHA = ((int)0x8589);
-        public const int GL_PIXEL_PACK_BUFFER_BINDING_EXT = ((int)0x88ED);
-        public const int GL_FRAGMENT_PROGRAM_BINDING_NV = ((int)0x8873);
-        public const int GL_OP_SUB_EXT = ((int)0x8796);
-        public const int GL_BUMP_ROT_MATRIX_SIZE_ATI = ((int)0x8776);
-        public const int GL_UNPACK_IMAGE_HEIGHT = ((int)0x806E);
-        public const int GL_RESAMPLE_DECIMATE_SGIX = ((int)0x8430);
-        public const int GL_COLOR_TABLE = ((int)0x80D0);
-        public const int GL_DEPTH = ((int)0x1801);
-        public const int GL_SHADER_CONSISTENT_NV = ((int)0x86DD);
-        public const int GL_UNSIGNED_BYTE_2_3_3_REV = ((int)0x8362);
-        public const int GL_OFFSET_HILO_TEXTURE_2D_NV = ((int)0x8854);
-        public const int GL_FLOAT_R16_NV = ((int)0x8884);
-        public const int GL_MATRIX1_ARB = ((int)0x88C1);
-        public const int GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = ((int)0x817C);
-        public const int GL_VERTEX_ATTRIB_ARRAY_TYPE = ((int)0x8625);
-        public const int GL_FOG_COORDINATE_EXT = ((int)0x8451);
-        public const int GL_LINES_ADJACENCY_EXT = ((int)0x000A);
-        public const int GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = ((int)0x8311);
-        public const int GL_TEXTURE_1D_ARRAY_EXT = ((int)0x8C18);
-        public const int GL_COMBINER_INPUT_NV = ((int)0x8542);
-        public const int GL_UNSIGNED_SHORT_8_8_MESA = ((int)0x85BA);
-        public const int GL_TEXTURE_LUMINANCE_SIZE_EXT = ((int)0x8060);
-        public const int GL_DRAW_BUFFER2_ATI = ((int)0x8827);
-        public const int GL_STENCIL_BACK_FAIL = ((int)0x8801);
-        public const int GL_RGB_S3TC = ((int)0x83A0);
-        public const int GL_TEXTURE5 = ((int)0x84C5);
-        public const int GL_FLOAT_VEC4_ARB = ((int)0x8B52);
-        public const int GL_VERTEX_ARRAY = ((int)0x8074);
-        public const int GL_FUNC_SUBTRACT = ((int)0x800A);
-        public const int GL_REPLACE_OLDEST_SUN = ((int)0x0003);
-        public const int GL_4X_BIT_ATI = ((int)0x00000002);
-        public const int GL_PER_STAGE_CONSTANTS_NV = ((int)0x8535);
-        public const int GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F5);
-        public const int GL_RGBA16 = ((int)0x805B);
-        public const int GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = ((int)0x8187);
-        public const int GL_STORAGE_CACHED_APPLE = ((int)0x85BE);
-        public const int GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = ((int)0x8184);
-        public const int GL_SRGB_ALPHA_EXT = ((int)0x8C42);
-        public const int GL_CONSTANT_COLOR0_NV = ((int)0x852A);
-        public const int GL_EVAL_VERTEX_ATTRIB0_NV = ((int)0x86C6);
-        public const int GL_COMBINE_ALPHA_ARB = ((int)0x8572);
-        public const int GL_MATRIX31_ARB = ((int)0x88DF);
-        public const int GL_LINE_STIPPLE_REPEAT = ((int)0x0B26);
-        public const int GL_ACTIVE_VERTEX_UNITS_ARB = ((int)0x86A5);
-        public const int GL_INDEX_SHIFT = ((int)0x0D12);
-        public const int GL_FOG_OFFSET_SGIX = ((int)0x8198);
-        public const int GL_GEOMETRY_VERTICES_OUT_EXT = ((int)0x8DDA);
-        public const int GL_DETAIL_TEXTURE_LEVEL_SGIS = ((int)0x809A);
-        public const int GL_SAMPLE_ALPHA_TO_ONE_EXT = ((int)0x809F);
-        public const int GL_TEXTURE13_ARB = ((int)0x84CD);
-        public const int GL_TEXTURE_3D = ((int)0x806F);
-        public const int GL_TEXTURE_2D = ((int)0x0DE1);
-        public const int GL_SIGNED_NEGATE_NV = ((int)0x853D);
-        public const int GL_DEPTH_CLAMP_NV = ((int)0x864F);
-        public const int GL_COLOR_TABLE_WIDTH_SGI = ((int)0x80D9);
-        public const int GL_RENDERBUFFER_EXT = ((int)0x8D41);
-        public const int GL_VERTEX_ATTRIB_ARRAY_STRIDE = ((int)0x8624);
-        public const int GL_TEXTURE14 = ((int)0x84CE);
-        public const int GL_TEXTURE17 = ((int)0x84D1);
-        public const int GL_TEXTURE16 = ((int)0x84D0);
-        public const int GL_TEXTURE11 = ((int)0x84CB);
-        public const int GL_TEXTURE10 = ((int)0x84CA);
-        public const int GL_R5_G6_B5_A8_ICC_SGIX = ((int)0x8467);
-        public const int GL_COMPRESSED_LUMINANCE_ALPHA_ARB = ((int)0x84EB);
-        public const int GL_RGBA16_EXT = ((int)0x805B);
-        public const int GL_MAX_MODELVIEW_STACK_DEPTH = ((int)0x0D36);
-        public const int GL_COLOR_ATTACHMENT4_EXT = ((int)0x8CE4);
-        public const int GL_TEXTURE19 = ((int)0x84D3);
-        public const int GL_TEXTURE18 = ((int)0x84D2);
-        public const int GL_PRIMITIVE_ID_NV = ((int)0x8C7C);
-        public const int GL_QUERY_RESULT = ((int)0x8866);
-        public const int GL_DRAW_BUFFER3_ARB = ((int)0x8828);
-        public const int GL_UNSIGNED_SHORT_5_6_5_REV = ((int)0x8364);
-        public const int GL_COMPRESSED_RGB_FXT1_3DFX = ((int)0x86B0);
-        public const int GL_OBJECT_POINT_SGIS = ((int)0x81F5);
-        public const int GL_TEXTURE_COLOR_WRITEMASK_SGIS = ((int)0x81EF);
-        public const int GL_COLOR_MATERIAL_PARAMETER = ((int)0x0B56);
-        public const int GL_FRAGMENT_PROGRAM_ARB = ((int)0x8804);
-        public const int GL_FOG_START = ((int)0x0B63);
-        public const int GL_COLOR_TABLE_FORMAT_SGI = ((int)0x80D8);
-        public const int GL_CLIP_PLANE3 = ((int)0x3003);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = ((int)0x8CD7);
-        public const int GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = ((int)0x88AB);
-        public const int GL_ENABLE_BIT = ((int)0x00002000);
-        public const int GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = ((int)0x83F3);
-        public const int GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = ((int)0x88FD);
-        public const int GL_PIXEL_MAP_I_TO_I_SIZE = ((int)0x0CB0);
-        public const int GL_FLOAT_MAT3x2 = ((int)0x8B67);
-        public const int GL_DSDT_MAG_VIB_NV = ((int)0x86F7);
-        public const int GL_SECONDARY_COLOR_ARRAY_STRIDE = ((int)0x845C);
-        public const int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = ((int)0x8C8A);
-        public const int GL_SRGB8_ALPHA8 = ((int)0x8C43);
-        public const int GL_COMPRESSED_RGBA_FXT1_3DFX = ((int)0x86B1);
-        public const int GL_INFO_LOG_LENGTH = ((int)0x8B84);
-        public const int GL_VECTOR_EXT = ((int)0x87BF);
-        public const int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = ((int)0x8DD8);
-        public const int GL_FOG_COORD_SRC = ((int)GL_FOG_COORDINATE_SOURCE);
-        public const int GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = ((int)0x8DD6);
-        public const int GL_MAD_ATI = ((int)0x8968);
-        public const int GL_REG_26_ATI = ((int)0x893B);
-        public const int GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = ((int)0x840B);
-        public const int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = ((int)0x886A);
-        public const int GL_TEXTURE_MAG_SIZE_NV = ((int)0x871F);
-        public const int GL_DYNAMIC_READ_ARB = ((int)0x88E9);
-        public const int GL_OUTPUT_TEXTURE_COORD31_EXT = ((int)0x87BC);
-        public const int GL_DEPENDENT_GB_TEXTURE_2D_NV = ((int)0x86EA);
-        public const int GL_DRAW_BUFFER7_ARB = ((int)0x882C);
-        public const int GL_TEXTURE10_ARB = ((int)0x84CA);
-        public const int GL_PIXEL_MAP_G_TO_G = ((int)0x0C77);
-        public const int GL_VALIDATE_STATUS = ((int)0x8B83);
-        public const int GL_DOT3_RGBA_ARB = ((int)0x86AF);
-        public const int GL_PROXY_TEXTURE_CUBE_MAP = ((int)0x851B);
-        public const int GL_MAGNITUDE_BIAS_NV = ((int)0x8718);
-        public const int GL_ALPHA_MAX_SGIX = ((int)0x8321);
-        public const int GL_MATRIX19_ARB = ((int)0x88D3);
-        public const int GL_ONE_MINUS_CONSTANT_COLOR_EXT = ((int)0x8002);
-        public const int GL_DELETE_STATUS = ((int)0x8B80);
-        public const int GL_SHADER_OPERATION_NV = ((int)0x86DF);
-        public const int GL_R1UI_C4UB_V3F_SUN = ((int)0x85C5);
-        public const int GL_MAX_DRAW_BUFFERS_ARB = ((int)0x8824);
-        public const int GL_PROGRAM_TARGET_NV = ((int)0x8646);
-        public const int GL_NUM_INSTRUCTIONS_PER_PASS_ATI = ((int)0x8971);
-        public const int GL_STATIC_COPY = ((int)0x88E6);
-        public const int GL_SEPARABLE_2D = ((int)0x8012);
-        public const int GL_STENCIL_INDEX4_EXT = ((int)0x8D47);
-        public const int GL_OUTPUT_TEXTURE_COORD24_EXT = ((int)0x87B5);
-        public const int GL_BLUE_BIT_ATI = ((int)0x00000004);
-        public const int GL_BLEND_EQUATION_RGB = ((int)GL_BLEND_EQUATION);
-        public const int GL_COLOR_TABLE_RED_SIZE = ((int)0x80DA);
-        public const int GL_LINEAR = ((int)0x2601);
-        public const int GL_MAX_VIEWPORT_DIMS = ((int)0x0D3A);
-        public const int GL_BOOL = ((int)0x8B56);
-        public const int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = ((int)0x80D4);
-        public const int GL_MAX_ELEMENTS_VERTICES_EXT = ((int)0x80E8);
-        public const int GL_MAX_ASYNC_TEX_IMAGE_SGIX = ((int)0x835F);
-        public const int GL_DS_BIAS_NV = ((int)0x8716);
-        public const int GL_DETAIL_TEXTURE_2D_BINDING_SGIS = ((int)0x8096);
-        public const int GL_DEPENDENT_AR_TEXTURE_2D_NV = ((int)0x86E9);
-        public const int GL_FOG_COORDINATE_ARRAY_LIST_IBM = ((int)103076);
-        public const int GL_COLOR_ATTACHMENT0_EXT = ((int)0x8CE0);
-        public const int GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = ((int)0x8336);
-        public const int GL_STENCIL_BACK_FUNC_ATI = ((int)0x8800);
-        public const int GL_ACCUM_GREEN_BITS = ((int)0x0D59);
-        public const int GL_ATTACHED_SHADERS = ((int)0x8B85);
-        public const int GL_VERTEX_ARRAY_EXT = ((int)0x8074);
-        public const int GL_INDEX_BITS = ((int)0x0D51);
-        public const int GL_SOURCE1_RGB = ((int)0x8581);
-        public const int GL_CURRENT_SECONDARY_COLOR = ((int)0x8459);
-        public const int GL_MAX_ELEMENTS_INDICES_EXT = ((int)0x80E9);
-        public const int GL_MIRROR_CLAMP_TO_BORDER_EXT = ((int)0x8912);
-        public const int GL_CONSTANT_COLOR1_NV = ((int)0x852B);
-        public const int GL_DUAL_LUMINANCE12_SGIS = ((int)0x8116);
-        public const int GL_MAX_CUBE_MAP_TEXTURE_SIZE = ((int)0x851C);
-        public const int GL_INTENSITY16I_EXT = ((int)0x8D8B);
-        public const int GL_BUFFER_USAGE_ARB = ((int)0x8765);
-        public const int GL_SAMPLE_BUFFERS = ((int)0x80A8);
-        public const int GL_EVAL_VERTEX_ATTRIB3_NV = ((int)0x86C9);
-        public const int GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = ((int)0x83F1);
-        public const int GL_MATRIX29_ARB = ((int)0x88DD);
-        public const int GL_R11F_G11F_B10F_EXT = ((int)0x8C3A);
-        public const int GL_DRAW_BUFFER13 = ((int)0x8832);
-        public const int GL_DRAW_BUFFER12 = ((int)0x8831);
-        public const int GL_DRAW_BUFFER11 = ((int)0x8830);
-        public const int GL_DRAW_BUFFER10 = ((int)0x882F);
-        public const int GL_IUI_N3F_V3F_EXT = ((int)0x81B0);
-        public const int GL_CONSERVE_MEMORY_HINT_PGI = ((int)0x1A1FD);
-        public const int GL_DRAW_BUFFER15 = ((int)0x8834);
-        public const int GL_COLOR_MATRIX_STACK_DEPTH = ((int)0x80B2);
-        public const int GL_VIBRANCE_SCALE_NV = ((int)0x8713);
-        public const int GL_COMPRESSED_TEXTURE_FORMATS_ARB = ((int)0x86A3);
-        public const int GL_FORMAT_SUBSAMPLE_244_244_OML = ((int)0x8983);
-        public const int GL_UNPACK_SKIP_IMAGES_EXT = ((int)0x806D);
-        public const int GL_FLOAT_R32_NV = ((int)0x8885);
-        public const int GL_TEXTURE_COORD_ARRAY_EXT = ((int)0x8078);
-        public const int GL_SHADING_LANGUAGE_VERSION = ((int)0x8B8C);
-        public const int GL_SATURATE_BIT_ATI = ((int)0x00000040);
-        public const int GL_LIST_INDEX = ((int)0x0B33);
-        public const int GL_CONST_EYE_NV = ((int)0x86E5);
-        public const int GL_BLEND_SRC_ALPHA = ((int)0x80CB);
-        public const int GL_POINT_FADE_THRESHOLD_SIZE_EXT = ((int)0x8128);
-        public const int GL_TEXTURE_WRAP_R = ((int)0x8072);
-        public const int GL_OUTPUT_COLOR0_EXT = ((int)0x879B);
-        public const int GL_FUNC_REVERSE_SUBTRACT = ((int)0x800B);
-        public const int GL_INDEX_LOGIC_OP = ((int)0x0BF1);
-        public const int GL_BUFFER_ACCESS_ARB = ((int)0x88BB);
-        public const int GL_SHARED_TEXTURE_PALETTE_EXT = ((int)0x81FB);
-        public const int GL_TEXTURE_ALPHA_SIZE = ((int)0x805F);
-        public const int GL_ARRAY_OBJECT_BUFFER_ATI = ((int)0x8766);
-        public const int GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = ((int)0x888F);
-        public const int GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = ((int)0x8403);
-        public const int GL_1PASS_EXT = ((int)0x80A1);
-        public const int GL_CON_29_ATI = ((int)0x895E);
-        public const int GL_RGBA_SIGNED_COMPONENTS_EXT = ((int)0x8C3C);
-        public const int GL_CLAMP_FRAGMENT_COLOR_ARB = ((int)0x891B);
-        public const int GL_AMBIENT = ((int)0x1200);
-        public const int GL_TEXTURE_DEFORMATION_BIT_SGIX = ((int)0x00000001);
-        public const int GL_STACK_OVERFLOW = ((int)0x0503);
-        public const int GL_CLIP_PLANE2 = ((int)0x3002);
-        public const int GL_LOAD = ((int)0x0101);
-        public const int GL_BINORMAL_ARRAY_STRIDE_EXT = ((int)0x8441);
-        public const int GL_DSDT_NV = ((int)0x86F5);
-        public const int GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = ((int)0x87D2);
-        public const int GL_SMOOTH_LINE_WIDTH_GRANULARITY = ((int)0x0B23);
-        public const int GL_COLOR_ARRAY_LIST_STRIDE_IBM = ((int)103082);
-        public const int GL_OBJECT_VALIDATE_STATUS_ARB = ((int)0x8B83);
-        public const int GL_GREEN_MIN_CLAMP_INGR = ((int)0x8561);
-        public const int GL_MAX_COLOR_ATTACHMENTS_EXT = ((int)0x8CDF);
-        public const int GL_SECONDARY_COLOR_ARRAY_TYPE = ((int)0x845B);
-        public const int GL_SOURCE0_ALPHA_ARB = ((int)0x8588);
-        public const int GL_MAP2_TEXTURE_COORD_1 = ((int)0x0DB3);
-        public const int GL_POINT = ((int)0x1B00);
-        public const int GL_REG_16_ATI = ((int)0x8931);
-        public const int GL_GENERIC_ATTRIB_NV = ((int)0x8C7D);
-        public const int GL_EYE_PLANE_ABSOLUTE_NV = ((int)0x855C);
-        public const int GL_STREAM_DRAW = ((int)0x88E0);
-        public const int GL_ASYNC_READ_PIXELS_SGIX = ((int)0x835E);
-        public const int GL_FRAMEZOOM_FACTOR_SGIX = ((int)0x818C);
-        public const int GL_SAMPLER_2D_SHADOW = ((int)0x8B62);
-        public const int GL_T2F_V3F = ((int)0x2A27);
-        public const int GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = ((int)0x880C);
-        public const int GL_RGB32I_EXT = ((int)0x8D83);
-        public const int GL_WEIGHT_ARRAY_TYPE_ARB = ((int)0x86A9);
-        public const int GL_STATIC_READ_ARB = ((int)0x88E5);
-        public const int GL_VERTEX_ARRAY_RANGE_POINTER_NV = ((int)0x8521);
-        public const int GL_LINE_STIPPLE_PATTERN = ((int)0x0B25);
-        public const int GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = ((int)0x81A9);
-        public const int GL_NUM_GENERAL_COMBINERS_NV = ((int)0x854E);
-        public const int GL_SAMPLE_BUFFERS_ARB = ((int)0x80A8);
-        public const int GL_PACK_IMAGE_HEIGHT_EXT = ((int)0x806C);
-        public const int GL_SPRITE_EYE_ALIGNED_SGIX = ((int)0x814E);
-        public const int GL_TEXTURE_APPLICATION_MODE_EXT = ((int)0x834F);
-        public const int GL_POINTS = ((int)0x0000);
-        public const int GL_ONE_EXT = ((int)0x87DE);
-        public const int GL_TEXTURE_BINDING_CUBE_MAP_EXT = ((int)0x8514);
-        public const int GL_TRANSFORM_BIT = ((int)0x00001000);
-        public const int GL_SRC1_ALPHA = ((int)GL_SOURCE1_ALPHA);
-        public const int GL_INVARIANT_VALUE_EXT = ((int)0x87EA);
-        public const int GL_FRAGMENT_NORMAL_EXT = ((int)0x834A);
-        public const int GL_4PASS_1_EXT = ((int)0x80A5);
-        public const int GL_LINEAR_MIPMAP_LINEAR = ((int)0x2703);
-        public const int GL_DEPTH_TEXTURE_MODE_ARB = ((int)0x884B);
-        public const int GL_SAMPLE_BUFFERS_3DFX = ((int)0x86B3);
-        public const int GL_OBJECT_DELETE_STATUS_ARB = ((int)0x8B80);
-        public const int GL_VERTEX_PROGRAM_ARB = ((int)0x8620);
-        public const int GL_RGBA12 = ((int)0x805A);
-        public const int GL_TEXTURE1_ARB = ((int)0x84C1);
-        public const int GL_W_EXT = ((int)0x87D8);
-        public const int GL_MODELVIEW3_ARB = ((int)0x8723);
-        public const int GL_EVAL_VERTEX_ATTRIB7_NV = ((int)0x86CD);
-        public const int GL_EDGE_FLAG_ARRAY_LIST_IBM = ((int)103075);
-        public const int GL_BUFFER_MAPPED = ((int)0x88BC);
-        public const int GL_DOMAIN = ((int)0x0A02);
-        public const int GL_FRAGMENT_DEPTH_EXT = ((int)0x8452);
-        public const int GL_LEQUAL = ((int)0x0203);
-        public const int GL_RENDERBUFFER_DEPTH_SIZE_EXT = ((int)0x8D54);
-        public const int GL_4PASS_2_EXT = ((int)0x80A6);
-        public const int GL_TEXTURE19_ARB = ((int)0x84D3);
-        public const int GL_FRONT_LEFT = ((int)0x0400);
-        public const int GL_COLOR4_BIT_PGI = ((int)0x00020000);
-        public const int GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = ((int)0x8624);
-        public const int GL_SMOOTH_POINT_SIZE_GRANULARITY = ((int)0x0B13);
-        public const int GL_INTENSITY4 = ((int)0x804A);
-        public const int GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = ((int)0x8520);
-        public const int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = ((int)0x8C2B);
-        public const int GL_TRANSPOSE_CURRENT_MATRIX_ARB = ((int)0x88B7);
-        public const int GL_EVAL_VERTEX_ATTRIB13_NV = ((int)0x86D3);
-        public const int GL_OP_ROUND_EXT = ((int)0x8790);
-        public const int GL_VARIANT_ARRAY_EXT = ((int)0x87E8);
-        public const int GL_VIBRANCE_BIAS_NV = ((int)0x8719);
-        public const int GL_WRITE_ONLY_ARB = ((int)0x88B9);
-        public const int GL_REFERENCE_PLANE_EQUATION_SGIX = ((int)0x817E);
-        public const int GL_MAX_SPOT_EXPONENT_NV = ((int)0x8505);
-        public const int GL_POSITION = ((int)0x1203);
-        public const int GL_DOT_PRODUCT_DEPTH_REPLACE_NV = ((int)0x86ED);
-        public const int GL_TRANSPOSE_TEXTURE_MATRIX_ARB = ((int)0x84E5);
-        public const int GL_PROGRAM_STRING_ARB = ((int)0x8628);
-        public const int GL_EVAL_VERTEX_ATTRIB2_NV = ((int)0x86C8);
-        public const int GL_PN_TRIANGLES_ATI = ((int)0x87F0);
-        public const int GL_T4F_C4F_N3F_V4F = ((int)0x2A2D);
-        public const int GL_TEXTURE_BINDING_RECTANGLE_NV = ((int)0x84F6);
-        public const int GL_VERTEX_ARRAY_SIZE_EXT = ((int)0x807A);
-        public const int GL_CLIENT_PIXEL_STORE_BIT = ((int)0x00000001);
-        public const int GL_SCALE_BY_ONE_HALF_NV = ((int)0x8540);
-        public const int GL_IUI_V3F_EXT = ((int)0x81AE);
-        public const int GL_LUMINANCE16UI_EXT = ((int)0x8D7A);
-        public const int GL_VARIANT_VALUE_EXT = ((int)0x87E4);
-        public const int GL_SRC0_RGB = ((int)GL_SOURCE0_RGB);
-        public const int GL_POST_CONVOLUTION_GREEN_BIAS = ((int)0x8021);
-        public const int GL_POLYGON_STIPPLE = ((int)0x0B42);
-        public const int GL_INT_VEC3_ARB = ((int)0x8B54);
-        public const int GL_TEXTURE_COORD_ARRAY_POINTER_EXT = ((int)0x8092);
-        public const int GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = ((int)0x88EF);
-        public const int GL_BUFFER_SIZE = ((int)0x8764);
-        public const int GL_MAX_TEXTURE_LOD_BIAS = ((int)0x84FD);
-        public const int GL_OFFSET_TEXTURE_MATRIX_NV = ((int)0x86E1);
-        public const int GL_ALPHA_FLOAT16_ATI = ((int)0x881C);
-        public const int GL_MATRIX14_ARB = ((int)0x88CE);
-        public const int GL_POST_COLOR_MATRIX_RED_SCALE_SGI = ((int)0x80B4);
-        public const int GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = ((int)0x88B2);
-        public const int GL_STATIC_ATI = ((int)0x8760);
-        public const int GL_ALPHA4_EXT = ((int)0x803B);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = ((int)0x8518);
-        public const int GL_INDEX_ARRAY_POINTER = ((int)0x8091);
-        public const int GL_TEXTURE_2D_STACK_MESAX = ((int)0x875A);
-        public const int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = ((int)0x889B);
-        public const int GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = ((int)0x8312);
-        public const int GL_CND_ATI = ((int)0x896A);
-        public const int GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = ((int)0x8DBA);
-        public const int GL_LIGHT_MODEL_TWO_SIDE = ((int)0x0B52);
-        public const int GL_TEXTURE_FLOAT_COMPONENTS_NV = ((int)0x888C);
-        public const int GL_NEGATIVE_W_EXT = ((int)0x87DC);
-        public const int GL_DRAW_BUFFER6_ATI = ((int)0x882B);
-        public const int GL_PIXEL_UNPACK_BUFFER_BINDING = ((int)0x88EF);
-        public const int GL_POINT_FADE_THRESHOLD_SIZE_SGIS = ((int)0x8128);
-        public const int GL_POINT_SPRITE_COORD_ORIGIN = ((int)0x8CA0);
-        public const int GL_LINE_TOKEN = ((int)0x0702);
-        public const int GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = ((int)0x864E);
-        public const int GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = ((int)0x850D);
-        public const int GL_OP_MADD_EXT = ((int)0x8788);
-        public const int GL_SIGNED_RGB8_NV = ((int)0x86FF);
-        public const int GL_SECONDARY_COLOR_ARRAY_SIZE = ((int)0x845A);
-        public const int GL_CLIP_PLANE5 = ((int)0x3005);
-        public const int GL_MAX_ELEMENTS_INDICES = ((int)0x80E9);
-        public const int GL_LINE_STRIP_ADJACENCY_EXT = ((int)0x000B);
-        public const int GL_422_REV_EXT = ((int)0x80CD);
-        public const int GL_INT_VEC4_ARB = ((int)0x8B55);
-        public const int GL_YCBCR_422_APPLE = ((int)0x85B9);
-        public const int GL_SIGNED_HILO16_NV = ((int)0x86FA);
-        public const int GL_TEXTURE_ENV = ((int)0x2300);
-        public const int GL_RGB9_E5_EXT = ((int)0x8C3D);
-        public const int GL_UNPACK_CONSTANT_DATA_SUNX = ((int)0x81D5);
-        public const int GL_TEXTURE_PRIORITY = ((int)0x8066);
-        public const int GL_CON_16_ATI = ((int)0x8951);
-        public const int GL_INDEX_WRITEMASK = ((int)0x0C21);
-        public const int GL_SAMPLES = ((int)0x80A9);
-        public const int GL_SIGNED_LUMINANCE8_NV = ((int)0x8702);
-        public const int GL_NORMAL_ARRAY_COUNT_EXT = ((int)0x8080);
-        public const int GL_DUAL_TEXTURE_SELECT_SGIS = ((int)0x8124);
-        public const int GL_DRAW_BUFFER9 = ((int)0x882E);
-        public const int GL_OPERAND1_ALPHA_EXT = ((int)0x8599);
-        public const int GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = ((int)0x8835);
-        public const int GL_COMPARE_R_TO_TEXTURE = ((int)0x884E);
-        public const int GL_UNSIGNED_BYTE_3_3_2 = ((int)0x8032);
-        public const int GL_MAX_ASYNC_HISTOGRAM_SGIX = ((int)0x832D);
-        public const int GL_OPERAND0_RGB = ((int)0x8590);
-        public const int GL_COLOR_ARRAY_STRIDE = ((int)0x8083);
-        public const int GL_INTERLACE_SGIX = ((int)0x8094);
-        public const int GL_CONVOLUTION_FILTER_SCALE_EXT = ((int)0x8014);
-        public const int GL_REG_14_ATI = ((int)0x892F);
-        public const int GL_FLOAT_VEC4 = ((int)0x8B52);
-        public const int GL_SAMPLER_2D_RECT_SHADOW_ARB = ((int)0x8B64);
-        public const int GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = ((int)0x8366);
-        public const int GL_PROGRAM_PARAMETERS_ARB = ((int)0x88A8);
-        public const int GL_ALWAYS_SOFT_HINT_PGI = ((int)0x1A20D);
-        public const int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = ((int)0x8B9B);
-        public const int GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = ((int)0x8B4A);
-        public const int GL_DRAW_BUFFER8 = ((int)0x882D);
-        public const int GL_TEXTURE31_ARB = ((int)0x84DF);
-        public const int GL_SRGB_ALPHA = ((int)0x8C42);
-        public const int GL_INCR = ((int)0x1E02);
-        public const int GL_TEXTURE12_ARB = ((int)0x84CC);
-        public const int GL_DEPTH_ATTACHMENT_EXT = ((int)0x8D00);
-        public const int GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = ((int)0x85C3);
-        public const int GL_CLAMP_TO_BORDER = ((int)0x812D);
-        public const int GL_T2F_IUI_N3F_V2F_EXT = ((int)0x81B3);
-        public const int GL_PIXEL_MAP_S_TO_S_SIZE = ((int)0x0CB1);
-        public const int GL_ORDER = ((int)0x0A01);
-        public const int GL_MODELVIEW_PROJECTION_NV = ((int)0x8629);
-        public const int GL_R1UI_T2F_C4F_N3F_V3F_SUN = ((int)0x85CB);
-        public const int GL_RESAMPLE_ZERO_FILL_OML = ((int)0x8987);
-        public const int GL_SAMPLES_PASSED = ((int)0x8914);
-        public const int GL_LUMINANCE6_ALPHA2 = ((int)0x8044);
-        public const int GL_POST_COLOR_MATRIX_ALPHA_SCALE = ((int)0x80B7);
-        public const int GL_FRAGMENT_COLOR_MATERIAL_SGIX = ((int)0x8401);
-        public const int GL_TRANSFORM_FEEDBACK_VARYINGS_NV = ((int)0x8C83);
-        public const int GL_PROGRAM_ATTRIB_COMPONENTS_NV = ((int)0x8906);
-        public const int GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = ((int)0x8B89);
-        public const int GL_MULTISAMPLE_3DFX = ((int)0x86B2);
-        public const int GL_REG_4_ATI = ((int)0x8925);
-        public const int GL_DRAW_BUFFER7 = ((int)0x882C);
-        public const int GL_EDGE_FLAG = ((int)0x0B43);
-        public const int GL_NORMAL_ARRAY_BUFFER_BINDING = ((int)0x8897);
-        public const int GL_DEPTH24_STENCIL8_EXT = ((int)0x88F0);
-        public const int GL_MULTISAMPLE_FILTER_HINT_NV = ((int)0x8534);
-        public const int GL_REG_19_ATI = ((int)0x8934);
-        public const int GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = ((int)0x8908);
-        public const int GL_TEXTURE_DEPTH_TYPE_ARB = ((int)0x8C16);
-        public const int GL_INVALID_VALUE = ((int)0x0501);
-        public const int GL_OPERAND1_RGB = ((int)0x8591);
-        public const int GL_TEXCOORD3_BIT_PGI = ((int)0x40000000);
-        public const int GL_LUMINANCE16_ALPHA16 = ((int)0x8048);
-        public const int GL_LUMINANCE_FLOAT32_ATI = ((int)0x8818);
-        public const int GL_VERTEX_PROGRAM_TWO_SIDE = ((int)0x8643);
-        public const int GL_OR = ((int)0x1507);
-        public const int GL_ALL_COMPLETED_NV = ((int)0x84F2);
-        public const int GL_REG_5_ATI = ((int)0x8926);
-        public const int GL_COLOR_ARRAY_BUFFER_BINDING = ((int)0x8898);
-        public const int GL_NEGATE_BIT_ATI = ((int)0x00000004);
-        public const int GL_DRAW_BUFFER6 = ((int)0x882B);
-        public const int GL_EVAL_VERTEX_ATTRIB5_NV = ((int)0x86CB);
-        public const int GL_NATIVE_GRAPHICS_HANDLE_PGI = ((int)0x1A202);
-        public const int GL_TEXTURE_BINDING_BUFFER_EXT = ((int)0x8C2C);
-        public const int GL_BUFFER_SERIALIZED_MODIFY_APPLE = ((int)0x8A12);
-        public const int GL_UNSIGNED_INT_2_10_10_10_REV_EXT = ((int)0x8368);
-        public const int GL_RGB5 = ((int)0x8050);
-        public const int GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = ((int)0x8337);
-        public const int GL_COMBINER_MUX_SUM_NV = ((int)0x8547);
-        public const int GL_OUTPUT_TEXTURE_COORD8_EXT = ((int)0x87A5);
-        public const int GL_CURRENT_VERTEX_ATTRIB = ((int)0x8626);
-        public const int GL_TRANSPOSE_PROJECTION_MATRIX = ((int)0x84E4);
-        public const int GL_MAT_DIFFUSE_BIT_PGI = ((int)0x00400000);
-        public const int GL_DRAW_FRAMEBUFFER_BINDING_EXT = ((int)0x8CAA);
-        public const int GL_PACK_RESAMPLE_OML = ((int)0x8984);
-        public const int GL_ALPHA_MIN_CLAMP_INGR = ((int)0x8563);
-        public const int GL_DOUBLE_EXT = ((int)0x140A);
-        public const int GL_LIGHT_MODEL_COLOR_CONTROL_EXT = ((int)0x81F8);
-        public const int GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = ((int)0x8455);
-        public const int GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = ((int)103085);
-        public const int GL_NORMAL_ARRAY = ((int)0x8075);
-        public const int GL_SOURCE3_ALPHA_NV = ((int)0x858B);
-        public const int GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = ((int)0x870D);
-        public const int GL_HISTOGRAM_LUMINANCE_SIZE = ((int)0x802C);
-        public const int GL_SIGNED_RGBA8_NV = ((int)0x86FC);
-        public const int GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = ((int)0x8533);
-        public const int GL_UNPACK_SKIP_ROWS = ((int)0x0CF3);
-        public const int GL_POLYGON_OFFSET_FACTOR = ((int)0x8038);
-        public const int GL_HISTOGRAM_WIDTH_EXT = ((int)0x8026);
-        public const int GL_DEPTH_COMPONENT32F_NV = ((int)0x8DAB);
-        public const int GL_MAP_ATTRIB_U_ORDER_NV = ((int)0x86C3);
-        public const int GL_OUTPUT_TEXTURE_COORD15_EXT = ((int)0x87AC);
-        public const int GL_COLOR_TABLE_BLUE_SIZE = ((int)0x80DC);
-        public const int GL_INTENSITY32UI_EXT = ((int)0x8D73);
-        public const int GL_CON_4_ATI = ((int)0x8945);
-        public const int GL_CLAMP = ((int)0x2900);
-        public const int GL_4PASS_0_EXT = ((int)0x80A4);
-        public const int GL_POST_CONVOLUTION_ALPHA_SCALE = ((int)0x801F);
-        public const int GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = ((int)0x809C);
-        public const int GL_TEXTURE_COMPONENTS = ((int)0x1003);
-        public const int GL_VERTEX4_BIT_PGI = ((int)0x00000008);
-        public const int GL_NORMAL_MAP_NV = ((int)0x8511);
-        public const int GL_INT_SAMPLER_1D_ARRAY_EXT = ((int)0x8DCE);
-        public const int GL_DRAW_BUFFER4 = ((int)0x8829);
-        public const int GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = ((int)0x8510);
-        public const int GL_8X_BIT_ATI = ((int)0x00000004);
-        public const int GL_REG_24_ATI = ((int)0x8939);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = ((int)0x8CD1);
-        public const int GL_DUAL_LUMINANCE16_SGIS = ((int)0x8117);
-        public const int GL_MODELVIEW30_ARB = ((int)0x873E);
-        public const int GL_TEXTURE_INTENSITY_SIZE = ((int)0x8061);
-        public const int GL_RGBA_S3TC = ((int)0x83A2);
-        public const int GL_INTENSITY_FLOAT32_ATI = ((int)0x8817);
-        public const int GL_BLEND_COLOR = ((int)0x8005);
-        public const int GL_COMPRESSED_LUMINANCE = ((int)0x84EA);
-        public const int GL_TABLE_TOO_LARGE = ((int)0x8031);
-        public const int GL_MAP2_VERTEX_ATTRIB8_4_NV = ((int)0x8678);
-        public const int GL_UNIFORM_BUFFER_EXT = ((int)0x8DEE);
-        public const int GL_FLOAT_MAT3_ARB = ((int)0x8B5B);
-        public const int GL_HALF_BIT_ATI = ((int)0x00000008);
-        public const int GL_LINEAR_MIPMAP_NEAREST = ((int)0x2701);
-        public const int GL_MAP1_GRID_SEGMENTS = ((int)0x0DD1);
-        public const int GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = ((int)0x8DA0);
-        public const int GL_OBJECT_INFO_LOG_LENGTH_ARB = ((int)0x8B84);
-        public const int GL_PIXEL_CUBIC_WEIGHT_EXT = ((int)0x8333);
-        public const int GL_COMBINER0_NV = ((int)0x8550);
-        public const int GL_COMBINER1_NV = ((int)0x8551);
-        public const int GL_DRAW_BUFFER3 = ((int)0x8828);
-        public const int GL_MODELVIEW11_ARB = ((int)0x872B);
-        public const int GL_CURRENT_PROGRAM = ((int)0x8B8D);
-        public const int GL_COMPRESSED_RGBA = ((int)0x84EE);
-        public const int GL_PREVIOUS_TEXTURE_INPUT_NV = ((int)0x86E4);
-        public const int GL_TEXTURE_CUBE_MAP = ((int)0x8513);
-        public const int GL_MATRIX2_ARB = ((int)0x88C2);
-        public const int GL_TEXTURE4_ARB = ((int)0x84C4);
-        public const int GL_INDEX_ARRAY_LIST_STRIDE_IBM = ((int)103083);
-        public const int GL_UNSIGNED_SHORT_1_5_5_5_REV = ((int)0x8366);
-        public const int GL_GEQUAL = ((int)0x0206);
-        public const int GL_MULT = ((int)0x0103);
-        public const int GL_RED_BIAS = ((int)0x0D15);
-        public const int GL_INTENSITY8 = ((int)0x804B);
-        public const int GL_REG_1_ATI = ((int)0x8922);
-        public const int GL_INT = ((int)0x1404);
-        public const int GL_TEXTURE28_ARB = ((int)0x84DC);
-        public const int GL_INDEX_ARRAY_STRIDE_EXT = ((int)0x8086);
-        public const int GL_HISTOGRAM_ALPHA_SIZE = ((int)0x802B);
-        public const int GL_PACK_LSB_FIRST = ((int)0x0D01);
-        public const int GL_COLOR_ARRAY_POINTER = ((int)0x8090);
-        public const int GL_MAX_ELEMENTS_VERTICES = ((int)0x80E8);
-        public const int GL_COMBINER_CD_OUTPUT_NV = ((int)0x854B);
-        public const int GL_UNPACK_SKIP_VOLUMES_SGIS = ((int)0x8132);
-        public const int GL_DYNAMIC_DRAW = ((int)0x88E8);
-        public const int GL_INSTRUMENT_BUFFER_POINTER_SGIX = ((int)0x8180);
-        public const int GL_2PASS_0_SGIS = ((int)0x80A2);
-        public const int GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = ((int)0x851E);
-        public const int GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = ((int)0x88B6);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = ((int)0x8515);
-        public const int GL_OUTPUT_TEXTURE_COORD4_EXT = ((int)0x87A1);
-        public const int GL_LUMINANCE_FLOAT16_ATI = ((int)0x881E);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = ((int)0x8CD9);
-        public const int GL_FOG_COORD = ((int)GL_FOG_COORDINATE);
-        public const int GL_REG_6_ATI = ((int)0x8927);
-        public const int GL_EDGE_FLAG_ARRAY_POINTER_EXT = ((int)0x8093);
-        public const int GL_SLUMINANCE8_ALPHA8 = ((int)0x8C45);
-        public const int GL_TABLE_TOO_LARGE_EXT = ((int)0x8031);
-        public const int GL_MULTISAMPLE_BIT_ARB = ((int)0x20000000);
-        public const int GL_RED_INTEGER_EXT = ((int)0x8D94);
-        public const int GL_POLYGON = ((int)0x0009);
-        public const int GL_TEXTURE_WRAP_T = ((int)0x2803);
-        public const int GL_TEXTURE_LOD_BIAS = ((int)0x8501);
-        public const int GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = ((int)0x880A);
-        public const int GL_POST_CONVOLUTION_RED_BIAS = ((int)0x8020);
-        public const int GL_OBJECT_COMPILE_STATUS_ARB = ((int)0x8B81);
-        public const int GL_SIGNED_ALPHA_NV = ((int)0x8705);
-        public const int GL_PROXY_TEXTURE_3D_EXT = ((int)0x8070);
-        public const int GL_LINEAR_ATTENUATION = ((int)0x1208);
-        public const int GL_OUTPUT_TEXTURE_COORD3_EXT = ((int)0x87A0);
-        public const int GL_VERTEX_SHADER_BINDING_EXT = ((int)0x8781);
-        public const int GL_FLOAT_RG16_NV = ((int)0x8886);
-        public const int GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = ((int)0x00200000);
-        public const int GL_BLEND_DST_RGB_EXT = ((int)0x80C8);
-        public const int GL_COLOR_INDEX12_EXT = ((int)0x80E6);
-        public const int GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = ((int)0x8809);
-        public const int GL_VERTEX_ARRAY_RANGE_NV = ((int)0x851D);
-        public const int GL_FUNC_SUBTRACT_EXT = ((int)0x800A);
-        public const int GL_LOGIC_OP = ((int)0x0BF1);
-        public const int GL_BLUE_MIN_CLAMP_INGR = ((int)0x8562);
-        public const int GL_CURRENT_RASTER_SECONDARY_COLOR = ((int)0x845F);
-        public const int GL_TEXTURE_COMPARE_SGIX = ((int)0x819A);
-        public const int GL_EVAL_VERTEX_ATTRIB14_NV = ((int)0x86D4);
-        public const int GL_MODELVIEW2_ARB = ((int)0x8722);
-        public const int GL_OUTPUT_TEXTURE_COORD6_EXT = ((int)0x87A3);
-        public const int GL_MAX_PROGRAM_MATRICES_ARB = ((int)0x862F);
-        public const int GL_ELEMENT_ARRAY_BUFFER_ARB = ((int)0x8893);
-        public const int GL_DRAW_BUFFER11_ARB = ((int)0x8830);
-        public const int GL_RGB32F_ARB = ((int)0x8815);
-        public const int GL_RGB10_EXT = ((int)0x8052);
-        public const int GL_TEXTURE_POST_SPECULAR_HP = ((int)0x8168);
-        public const int GL_ALIASED_POINT_SIZE_RANGE = ((int)0x846D);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = ((int)0x8516);
-        public const int GL_OUTPUT_TEXTURE_COORD25_EXT = ((int)0x87B6);
-        public const int GL_DS_SCALE_NV = ((int)0x8710);
-        public const int GL_TEXTURE_ALPHA_SIZE_EXT = ((int)0x805F);
-        public const int GL_POINT_SPRITE_ARB = ((int)0x8861);
-        public const int GL_STENCIL_TEST = ((int)0x0B90);
-        public const int GL_SAMPLER_2D_SHADOW_ARB = ((int)0x8B62);
-        public const int GL_POST_TEXTURE_FILTER_SCALE_SGIX = ((int)0x817A);
-        public const int GL_FLOAT_VEC3 = ((int)0x8B51);
-        public const int GL_NEGATIVE_Z_EXT = ((int)0x87DB);
-        public const int GL_DUDV_ATI = ((int)0x8779);
-        public const int GL_OUTPUT_TEXTURE_COORD5_EXT = ((int)0x87A2);
-        public const int GL_OP_MUL_EXT = ((int)0x8786);
-        public const int GL_MODELVIEW13_ARB = ((int)0x872D);
-        public const int GL_PN_TRIANGLES_NORMAL_MODE_ATI = ((int)0x87F3);
-        public const int GL_FOG_COORDINATE_ARRAY_STRIDE = ((int)0x8455);
-        public const int GL_DRAW_BUFFER10_ARB = ((int)0x882F);
-        public const int GL_MATRIX4_NV = ((int)0x8634);
-        public const int GL_SAMPLE_COVERAGE_VALUE = ((int)0x80AA);
-        public const int GL_READ_PIXEL_DATA_RANGE_NV = ((int)0x8879);
-        public const int GL_FOG_COORDINATE_ARRAY = ((int)0x8457);
-        public const int GL_VERTEX_STATE_PROGRAM_NV = ((int)0x8621);
-        public const int GL_MATRIX5_NV = ((int)0x8635);
-        public const int GL_LESS = ((int)0x0201);
-        public const int GL_TEXTURE5_ARB = ((int)0x84C5);
-        public const int GL_TRANSFORM_FEEDBACK_BUFFER_NV = ((int)0x8C8E);
-        public const int GL_POLYGON_OFFSET_FACTOR_EXT = ((int)0x8038);
-        public const int GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = ((int)0x8DED);
-        public const int GL_PREFER_DOUBLEBUFFER_HINT_PGI = ((int)0x1A1F8);
-        public const int GL_SAMPLES_SGIS = ((int)0x80A9);
-        public const int GL_DRAW_BUFFER13_ARB = ((int)0x8832);
-        public const int GL_MODELVIEW14_ARB = ((int)0x872E);
-        public const int GL_REG_2_ATI = ((int)0x8923);
-        public const int GL_FASTEST = ((int)0x1101);
-        public const int GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = ((int)0x88FF);
-        public const int GL_RGB16_EXT = ((int)0x8054);
-        public const int GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = ((int)0x8841);
-        public const int GL_BUFFER_SIZE_ARB = ((int)0x8764);
-        public const int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = ((int)0x8B9A);
-        public const int GL_CON_27_ATI = ((int)0x895C);
-        public const int GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = ((int)0x8C84);
-        public const int GL_UNPACK_RESAMPLE_SGIX = ((int)0x842D);
-        public const int GL_CONVOLUTION_FILTER_SCALE = ((int)0x8014);
-        public const int GL_FRAMEZOOM_SGIX = ((int)0x818B);
-        public const int GL_MATRIX9_ARB = ((int)0x88C9);
-        public const int GL_DRAW_BUFFER12_ARB = ((int)0x8831);
-        public const int GL_COMPRESSED_LUMINANCE_ALPHA = ((int)0x84EB);
-        public const int GL_CLIENT_VERTEX_ARRAY_BIT = ((int)0x00000002);
-        public const int GL_MAX_LIST_NESTING = ((int)0x0B31);
-        public const int GL_NORMAL_MAP = ((int)0x8511);
-        public const int GL_VERTEX_ATTRIB_ARRAY8_NV = ((int)0x8658);
-        public const int GL_FEEDBACK_BUFFER_POINTER = ((int)0x0DF0);
-        public const int GL_CONSTANT_BORDER_HP = ((int)0x8151);
-        public const int GL_COLOR_TABLE_GREEN_SIZE = ((int)0x80DB);
-        public const int GL_DEPTH_COMPONENT16_SGIX = ((int)0x81A5);
-        public const int GL_MAX_VERTEX_SHADER_LOCALS_EXT = ((int)0x87C9);
-        public const int GL_STENCIL_BACK_PASS_DEPTH_PASS = ((int)0x8803);
-        public const int GL_TEXTURE14_ARB = ((int)0x84CE);
-        public const int GL_MAX_PROGRAM_TEMPORARIES_ARB = ((int)0x88A5);
-        public const int GL_IDENTITY_NV = ((int)0x862A);
-        public const int GL_INTENSITY16 = ((int)0x804D);
-        public const int GL_TRANSFORM_HINT_APPLE = ((int)0x85B1);
-        public const int GL_CONSTANT_ATTENUATION = ((int)0x1207);
-        public const int GL_DUAL_INTENSITY4_SGIS = ((int)0x8118);
-        public const int GL_FIXED_ONLY_ARB = ((int)0x891D);
-        public const int GL_TEXTURE_DEFORMATION_SGIX = ((int)0x8195);
-        public const int GL_REG_8_ATI = ((int)0x8929);
-        public const int GL_DRAW_BUFFER15_ARB = ((int)0x8834);
-        public const int GL_BLEND_DST_ALPHA_EXT = ((int)0x80CA);
-        public const int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = ((int)0x889D);
-        public const int GL_MATRIX30_ARB = ((int)0x88DE);
-        public const int GL_MATRIX25_ARB = ((int)0x88D9);
-        public const int GL_DRAW_PIXELS_APPLE = ((int)0x8A0A);
-        public const int GL_STENCIL = ((int)0x1802);
-        public const int GL_SPRITE_AXIAL_SGIX = ((int)0x814C);
-        public const int GL_RGBA16F_ARB = ((int)0x881A);
-        public const int GL_DRAW_BUFFER12_ATI = ((int)0x8831);
-        public const int GL_MAX_PROGRAM_LOOP_COUNT_NV = ((int)0x88F8);
-        public const int GL_COLOR_ARRAY_SIZE = ((int)0x8081);
-        public const int GL_PROGRAM_ERROR_POSITION_ARB = ((int)0x864B);
-        public const int GL_BGRA_EXT = ((int)0x80E1);
-        public const int GL_REG_9_ATI = ((int)0x892A);
-        public const int GL_DRAW_BUFFER14_ARB = ((int)0x8833);
-        public const int GL_OUTPUT_TEXTURE_COORD1_EXT = ((int)0x879E);
-        public const int GL_CURRENT_RASTER_DISTANCE = ((int)0x0B09);
-        public const int GL_INVERT = ((int)0x150A);
-        public const int GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = ((int)0x80D4);
-        public const int GL_MINMAX = ((int)0x802E);
-        public const int GL_INDEX_MATERIAL_PARAMETER_EXT = ((int)0x81B9);
-        public const int GL_INT_SAMPLER_CUBE_EXT = ((int)0x8DCC);
-        public const int GL_REPLICATE_BORDER = ((int)0x8153);
-        public const int GL_GREEN = ((int)0x1904);
-        public const int GL_MIRROR_CLAMP_ATI = ((int)0x8742);
-        public const int GL_VERTEX_ARRAY_RANGE_VALID_NV = ((int)0x851F);
-        public const int GL_FUNC_REVERSE_SUBTRACT_EXT = ((int)0x800B);
-        public const int GL_SAMPLE_ALPHA_TO_ONE_ARB = ((int)0x809F);
-        public const int GL_STREAM_COPY_ARB = ((int)0x88E2);
-        public const int GL_COMBINE_ALPHA_EXT = ((int)0x8572);
-        public const int GL_MODELVIEW16_ARB = ((int)0x8730);
-        public const int GL_EQUIV = ((int)0x1509);
-        public const int GL_COLOR_SUM_CLAMP_NV = ((int)0x854F);
-        public const int GL_VARIANT_EXT = ((int)0x87C1);
-        public const int GL_GREEN_MAX_CLAMP_INGR = ((int)0x8565);
-        public const int GL_HILO_NV = ((int)0x86F4);
-        public const int GL_TEXTURE_RED_SIZE = ((int)0x805C);
-        public const int GL_NEGATIVE_Y_EXT = ((int)0x87DA);
-        public const int GL_RGB12_EXT = ((int)0x8053);
-        public const int GL_MULTISAMPLE_BIT = ((int)0x20000000);
-        public const int GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = ((int)0x851C);
-        public const int GL_DRAW_BUFFER15_ATI = ((int)0x8834);
-        public const int GL_PIXEL_MAP_B_TO_B = ((int)0x0C78);
-        public const int GL_VERTEX_SHADER_OPTIMIZED_EXT = ((int)0x87D4);
-        public const int GL_POLYGON_OFFSET_POINT = ((int)0x2A01);
-        public const int GL_DYNAMIC_COPY_ARB = ((int)0x88EA);
-        public const int GL_INTERPOLATE_ARB = ((int)0x8575);
-        public const int GL_COMPRESSED_RED_RGTC1_EXT = ((int)0x8DBB);
-        public const int GL_PIXEL_MODE_BIT = ((int)0x00000020);
-        public const int GL_DRAW_BUFFER5_ARB = ((int)0x882A);
-        public const int GL_GENERATE_MIPMAP_SGIS = ((int)0x8191);
-        public const int GL_STENCIL_BACK_FUNC = ((int)0x8800);
-        public const int GL_MAGNITUDE_SCALE_NV = ((int)0x8712);
-        public const int GL_COMPRESSED_ALPHA = ((int)0x84E9);
-        public const int GL_CON_8_ATI = ((int)0x8949);
-        public const int GL_PROGRAM_LENGTH_ARB = ((int)0x8627);
-        public const int GL_DSDT8_NV = ((int)0x8709);
-        public const int GL_OPERAND2_ALPHA_ARB = ((int)0x859A);
-        public const int GL_PIXEL_COUNT_AVAILABLE_NV = ((int)0x8867);
-        public const int GL_DRAW_BUFFER14_ATI = ((int)0x8833);
-        public const int GL_MATERIAL_SIDE_HINT_PGI = ((int)0x1A22C);
-        public const int GL_ALPHA_FLOAT32_ATI = ((int)0x8816);
-        public const int GL_TRIANGLE_STRIP_ADJACENCY_EXT = ((int)0x000D);
-        public const int GL_MIRROR_CLAMP_TO_EDGE_EXT = ((int)0x8743);
-        public const int GL_DYNAMIC_ATI = ((int)0x8761);
-        public const int GL_UNSIGNED_INT_8_8_8_8_EXT = ((int)0x8035);
-        public const int GL_PIXEL_GROUP_COLOR_SGIS = ((int)0x8356);
-        public const int GL_MODULATE_SIGNED_ADD_ATI = ((int)0x8745);
-        public const int GL_COMPRESSED_RGBA_ARB = ((int)0x84EE);
-        public const int GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = ((int)0x8023);
-        public const int GL_OPERAND0_RGB_EXT = ((int)0x8590);
-        public const int GL_TEXTURE_RED_TYPE_ARB = ((int)0x8C10);
-        public const int GL_DT_SCALE_NV = ((int)0x8711);
-        public const int GL_FOG = ((int)0x0B60);
-        public const int GL_MAX_VERTEX_ATTRIBS_ARB = ((int)0x8869);
-        public const int GL_EXP = ((int)0x0800);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = ((int)0x8CD3);
-        public const int GL_TEXTURE_COMPRESSED_ARB = ((int)0x86A1);
-        public const int GL_E_TIMES_F_NV = ((int)0x8531);
-        public const int GL_DT_BIAS_NV = ((int)0x8717);
-        public const int GL_CURRENT_OCCLUSION_QUERY_ID_NV = ((int)0x8865);
-        public const int GL_WEIGHT_ARRAY_STRIDE_ARB = ((int)0x86AA);
-        public const int GL_MAP2_VERTEX_ATTRIB6_4_NV = ((int)0x8676);
-        public const int GL_BLEND_COLOR_EXT = ((int)0x8005);
-        public const int GL_TEXTURE_RECTANGLE_ARB = ((int)0x84F5);
-        public const int GL_ALPHA32UI_EXT = ((int)0x8D72);
-        public const int GL_MAP2_VERTEX_ATTRIB3_4_NV = ((int)0x8673);
-        public const int GL_DRAW_BUFFER4_ARB = ((int)0x8829);
-        public const int GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = ((int)0x8808);
-        public const int GL_CURRENT_RASTER_POSITION_VALID = ((int)0x0B08);
-        public const int GL_GEOMETRY_DEFORMATION_BIT_SGIX = ((int)0x00000002);
-        public const int GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = ((int)0x1A203);
-        public const int GL_DSDT8_MAG8_INTENSITY8_NV = ((int)0x870B);
-        public const int GL_SOURCE1_RGB_EXT = ((int)0x8581);
-        public const int GL_POINT_SPRITE = ((int)0x8861);
-        public const int GL_ELEMENT_ARRAY_TYPE_APPLE = ((int)0x8769);
-        public const int GL_COLOR_TABLE_INTENSITY_SIZE_SGI = ((int)0x80DF);
-        public const int GL_COLOR_SUM = ((int)0x8458);
-        public const int GL_TEXTURE_LOD_BIAS_EXT = ((int)0x8501);
-        public const int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = ((int)0x8B8B);
-        public const int GL_OBJECT_DISTANCE_TO_POINT_SGIS = ((int)0x81F1);
-        public const int GL_COMPRESSED_SLUMINANCE = ((int)0x8C4A);
-        public const int GL_UNPACK_SWAP_BYTES = ((int)0x0CF0);
-        public const int GL_MODELVIEW20_ARB = ((int)0x8734);
-        public const int GL_COPY = ((int)0x1503);
-        public const int GL_SAMPLE_ALPHA_TO_ONE = ((int)0x809F);
-        public const int GL_OP_RECIP_EXT = ((int)0x8794);
-        public const int GL_ONE_MINUS_DST_COLOR = ((int)0x0307);
-        public const int GL_MAP2_TEXTURE_COORD_3 = ((int)0x0DB5);
-        public const int GL_PIXEL_MAG_FILTER_EXT = ((int)0x8331);
-        public const int GL_BLEND = ((int)0x0BE2);
-        public const int GL_SHININESS = ((int)0x1601);
-        public const int GL_TEXTURE = ((int)0x1702);
-        public const int GL_EYE_DISTANCE_TO_LINE_SGIS = ((int)0x81F2);
-        public const int GL_INTENSITY16F_ARB = ((int)0x881D);
-        public const int GL_TEXTURE_MATERIAL_FACE_EXT = ((int)0x8351);
-        public const int GL_TEXTURE_INTENSITY_TYPE_ARB = ((int)0x8C15);
-        public const int GL_MATRIX1_NV = ((int)0x8631);
-        public const int GL_COLOR_TABLE_SGI = ((int)0x80D0);
-        public const int GL_DEPENDENT_HILO_TEXTURE_2D_NV = ((int)0x8858);
-        public const int GL_MAX_VARYING_FLOATS_ARB = ((int)0x8B4B);
-        public const int GL_TEXTURE_FILTER_CONTROL_EXT = ((int)0x8500);
-        public const int GL_CON_26_ATI = ((int)0x895B);
-        public const int GL_MINMAX_SINK_EXT = ((int)0x8030);
-        public const int GL_LIGHT5 = ((int)0x4005);
-        public const int GL_RGBA12_EXT = ((int)0x805A);
-        public const int GL_UNSIGNED_NORMALIZED_ARB = ((int)0x8C17);
-        public const int GL_ALLOW_DRAW_FRG_HINT_PGI = ((int)0x1A210);
-        public const int GL_MAP2_TEXTURE_COORD_2 = ((int)0x0DB4);
-        public const int GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = ((int)0x88A7);
-        public const int GL_OPERAND1_ALPHA = ((int)0x8599);
-        public const int GL_IUI_V2F_EXT = ((int)0x81AD);
-        public const int GL_MAX_PROGRAM_INSTRUCTIONS_ARB = ((int)0x88A1);
-        public const int GL_BLEND_EQUATION = ((int)0x8009);
-        public const int GL_RGBA16I_EXT = ((int)0x8D88);
-        public const int GL_BGR = ((int)0x80E0);
-        public const int GL_TEXTURE0_ARB = ((int)0x84C0);
-        public const int GL_RESCALE_NORMAL = ((int)0x803A);
-        public const int GL_ELEMENT_ARRAY_BUFFER_BINDING = ((int)0x8895);
-        public const int GL_PROGRAM_STRING_NV = ((int)0x8628);
-        public const int GL_MIRROR_CLAMP_EXT = ((int)0x8742);
-        public const int GL_CON_13_ATI = ((int)0x894E);
-        public const int GL_ASYNC_TEX_IMAGE_SGIX = ((int)0x835C);
-        public const int GL_CONSTANT = ((int)0x8576);
-        public const int GL_VARIANT_ARRAY_STRIDE_EXT = ((int)0x87E6);
-        public const int GL_NUM_PASSES_ATI = ((int)0x8970);
-        public const int GL_MAP2_VERTEX_ATTRIB15_4_NV = ((int)0x867F);
-        public const int GL_MATRIX12_ARB = ((int)0x88CC);
-        public const int GL_CMYKA_EXT = ((int)0x800D);
-        public const int GL_SEPARATE_SPECULAR_COLOR = ((int)0x81FA);
-        public const int GL_BLUE_INTEGER_EXT = ((int)0x8D96);
-        public const int GL_INTENSITY8I_EXT = ((int)0x8D91);
-        public const int GL_SIGNED_IDENTITY_NV = ((int)0x853C);
-        public const int GL_MAP2_VERTEX_ATTRIB0_4_NV = ((int)0x8670);
-        public const int GL_LUMINANCE16F_ARB = ((int)0x881E);
-        public const int GL_MAP2_NORMAL = ((int)0x0DB2);
-        public const int GL_LIGHT_MODEL_AMBIENT = ((int)0x0B53);
-        public const int GL_RGB5_A1 = ((int)0x8057);
-        public const int GL_OFFSET_TEXTURE_2D_SCALE_NV = ((int)GL_OFFSET_TEXTURE_SCALE_NV);
-        public const int GL_COLOR_INDEX4_EXT = ((int)0x80E4);
-        public const int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = ((int)0x8B49);
-        public const int GL_WRAP_BORDER_SUN = ((int)0x81D4);
-        public const int GL_MATRIX2_NV = ((int)0x8632);
-        public const int GL_SAMPLES_PASSED_ARB = ((int)0x8914);
-        public const int GL_RGB16 = ((int)0x8054);
-        public const int GL_HISTOGRAM_BLUE_SIZE_EXT = ((int)0x802A);
-        public const int GL_RGB10 = ((int)0x8052);
-        public const int GL_RGB12 = ((int)0x8053);
-        public const int GL_INTERPOLATE = ((int)0x8575);
-        public const int GL_MIN_EXT = ((int)0x8007);
-        public const int GL_RGBA2 = ((int)0x8055);
-        public const int GL_DUAL_INTENSITY8_SGIS = ((int)0x8119);
-        public const int GL_TEXTURE_FILTER4_SIZE_SGIS = ((int)0x8147);
-        public const int GL_RGBA8 = ((int)0x8058);
-        public const int GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = ((int)0x870C);
-        public const int GL_DYNAMIC_READ = ((int)0x88E9);
-        public const int GL_INT_VEC2 = ((int)0x8B53);
-        public const int GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = ((int)0x83F2);
-        public const int GL_SOURCE0_RGB_ARB = ((int)0x8580);
-        public const int GL_SOURCE2_ALPHA = ((int)0x858A);
-        public const int GL_TEXTURE_GREEN_SIZE = ((int)0x805D);
-        public const int GL_SAMPLE_MASK_VALUE_SGIS = ((int)0x80AA);
-        public const int GL_INTENSITY4_EXT = ((int)0x804A);
-        public const int GL_MODELVIEW22_ARB = ((int)0x8736);
-        public const int GL_COMPRESSED_LUMINANCE_ARB = ((int)0x84EA);
-        public const int GL_OP_INDEX_EXT = ((int)0x8782);
-        public const int GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = ((int)0x86F3);
-        public const int GL_LINEAR_DETAIL_COLOR_SGIS = ((int)0x8099);
-        public const int GL_MATRIX23_ARB = ((int)0x88D7);
-        public const int GL_TEXTURE_BINDING_3D = ((int)0x806A);
-        public const int GL_TEXTURE_BINDING_2D = ((int)0x8069);
-        public const int GL_TEXTURE_BINDING_1D = ((int)0x8068);
-        public const int GL_NORMAL_ARRAY_TYPE_EXT = ((int)0x807E);
-        public const int GL_COLOR_ARRAY_SIZE_EXT = ((int)0x8081);
-        public const int GL_VARIABLE_F_NV = ((int)0x8528);
-        public const int GL_REPLACE_EXT = ((int)0x8062);
-        public const int GL_MODULATE = ((int)0x2100);
-        public const int GL_COLOR_MATRIX_SGI = ((int)0x80B1);
-        public const int GL_PIXEL_TILE_WIDTH_SGIX = ((int)0x8140);
-        public const int GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = ((int)0x88B5);
-        public const int GL_BYTE = ((int)0x1400);
-        public const int GL_QUAD_MESH_SUN = ((int)0x8614);
-        public const int GL_422_AVERAGE_EXT = ((int)0x80CE);
-        public const int GL_ALPHA_MAX_CLAMP_INGR = ((int)0x8567);
-        public const int GL_CULL_FACE_MODE = ((int)0x0B45);
-        public const int GL_DOT4_ATI = ((int)0x8967);
-        public const int GL_INDEX_ARRAY_EXT = ((int)0x8077);
-        public const int GL_SAMPLE_COVERAGE_VALUE_ARB = ((int)0x80AA);
-        public const int GL_SOURCE2_RGB_EXT = ((int)0x8582);
-        public const int GL_POINT_DISTANCE_ATTENUATION = ((int)0x8129);
-        public const int GL_ELEMENT_ARRAY_BUFFER = ((int)0x8893);
-        public const int GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = ((int)0x81A8);
-        public const int GL_OUTPUT_TEXTURE_COORD26_EXT = ((int)0x87B7);
-        public const int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = ((int)0x8852);
-        public const int GL_R5_G6_B5_ICC_SGIX = ((int)0x8466);
-        public const int GL_GENERATE_MIPMAP_HINT_SGIS = ((int)0x8192);
-        public const int GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = ((int)0x8DE4);
-        public const int GL_HISTOGRAM_LUMINANCE_SIZE_EXT = ((int)0x802C);
-        public const int GL_ALL_ATTRIB_BITS = unchecked((int)0xFFFFFFFF);
-        public const int GL_YCRCB_444_SGIX = ((int)0x81BC);
-        public const int GL_RGBA_MODE = ((int)0x0C31);
-        public const int GL_RED_SCALE = ((int)0x0D14);
-        public const int GL_SAMPLE_BUFFERS_SGIS = ((int)0x80A8);
-        public const int GL_LIST_MODE = ((int)0x0B30);
-        public const int GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = ((int)0x8163);
-        public const int GL_OBJECT_LINEAR = ((int)0x2401);
-        public const int GL_CON_19_ATI = ((int)0x8954);
-        public const int GL_LIGHT7 = ((int)0x4007);
-        public const int GL_ALPHA16_ICC_SGIX = ((int)0x8468);
-        public const int GL_STENCIL_PASS_DEPTH_PASS = ((int)0x0B96);
-        public const int GL_OUTPUT_TEXTURE_COORD16_EXT = ((int)0x87AD);
-        public const int GL_MAX_PROJECTION_STACK_DEPTH = ((int)0x0D38);
-        public const int GL_SAMPLE_COVERAGE_INVERT = ((int)0x80AB);
-        public const int GL_CURRENT_RASTER_POSITION = ((int)0x0B07);
-        public const int GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = ((int)0x850E);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = ((int)0x8D56);
-        public const int GL_MAP1_VERTEX_ATTRIB2_4_NV = ((int)0x8662);
-        public const int GL_COLOR_TABLE_BIAS = ((int)0x80D7);
-        public const int GL_IGNORE_BORDER_HP = ((int)0x8150);
-        public const int GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = ((int)0x8896);
-        public const int GL_NOOP = ((int)0x1505);
-        public const int GL_SCISSOR_TEST = ((int)0x0C11);
-        public const int GL_RGBA = ((int)0x1908);
-        public const int GL_RGB8_EXT = ((int)0x8051);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = ((int)0x8516);
-        public const int GL_SAMPLER_3D = ((int)0x8B5F);
-        public const int GL_SAMPLER_2D = ((int)0x8B5E);
-        public const int GL_YCRCBA_SGIX = ((int)0x8319);
-        public const int GL_STENCIL_BUFFER_BIT = ((int)0x00000400);
-        public const int GL_BUFFER_USAGE = ((int)0x8765);
-        public const int GL_PROXY_TEXTURE_RECTANGLE_ARB = ((int)0x84F7);
-        public const int GL_BUFFER_MAP_POINTER_ARB = ((int)0x88BD);
-        public const int GL_SINGLE_COLOR_EXT = ((int)0x81F9);
-        public const int GL_SIGNED_LUMINANCE8_ALPHA8_NV = ((int)0x8704);
-        public const int GL_LUMINANCE4_ALPHA4 = ((int)0x8043);
-        public const int GL_VERTEX_STREAM0_ATI = ((int)0x876C);
-        public const int GL_NORMAL_MAP_ARB = ((int)0x8511);
-        public const int GL_RGB_SCALE_ARB = ((int)0x8573);
-        public const int GL_T2F_C3F_V3F = ((int)0x2A2A);
-        public const int GL_BITMAP_TOKEN = ((int)0x0704);
-        public const int GL_ASYNC_HISTOGRAM_SGIX = ((int)0x832C);
-        public const int GL_COLOR_ARRAY_TYPE_EXT = ((int)0x8082);
-        public const int GL_BINORMAL_ARRAY_TYPE_EXT = ((int)0x8440);
-        public const int GL_MODELVIEW9_ARB = ((int)0x8729);
-        public const int GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = ((int)0x8354);
-        public const int GL_VERTEX_ARRAY_RANGE_LENGTH_NV = ((int)0x851E);
-        public const int GL_MULTISAMPLE_SGIS = ((int)0x809D);
-        public const int GL_UNSIGNED_INT_10_10_10_2_EXT = ((int)0x8036);
-        public const int GL_UNSIGNED_INT = ((int)0x1405);
-        public const int GL_INDEX_TEST_EXT = ((int)0x81B5);
-        public const int GL_ONE_MINUS_SRC_COLOR = ((int)0x0301);
-        public const int GL_MAX_TEXTURE_STACK_DEPTH = ((int)0x0D39);
-        public const int GL_PROGRAM_ERROR_POSITION_NV = ((int)0x864B);
-        public const int GL_INTENSITY = ((int)0x8049);
-        public const int GL_MODELVIEW12_ARB = ((int)0x872C);
-        public const int GL_VERTEX_CONSISTENT_HINT_PGI = ((int)0x1A22B);
-        public const int GL_COMBINE_EXT = ((int)0x8570);
-        public const int GL_MAP1_VERTEX_4 = ((int)0x0D98);
-        public const int GL_UNSIGNED_INT_24_8_NV = ((int)0x84FA);
-        public const int GL_OBJECT_SUBTYPE_ARB = ((int)0x8B4F);
-        public const int GL_OUTPUT_TEXTURE_COORD23_EXT = ((int)0x87B4);
-        public const int GL_MAP1_VERTEX_3 = ((int)0x0D97);
-        public const int GL_RETURN = ((int)0x0102);
-        public const int GL_TANGENT_ARRAY_EXT = ((int)0x8439);
-        public const int GL_FLOAT_MAT3x4 = ((int)0x8B68);
-        public const int GL_DEPENDENT_RGB_TEXTURE_3D_NV = ((int)0x8859);
-        public const int GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = ((int)0x80B0);
-        public const int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = ((int)0x8C85);
-        public const int GL_INDEX_MODE = ((int)0x0C30);
-        public const int GL_OUTPUT_TEXTURE_COORD12_EXT = ((int)0x87A9);
-        public const int GL_INTENSITY16_ICC_SGIX = ((int)0x846A);
-        public const int GL_REG_28_ATI = ((int)0x893D);
-        public const int GL_POINT_SMOOTH_HINT = ((int)0x0C51);
-        public const int GL_COLOR_ARRAY_EXT = ((int)0x8076);
-        public const int GL_CLIP_PLANE4 = ((int)0x3004);
-        public const int GL_HALF_FLOAT_NV = ((int)0x140B);
-        public const int GL_TEXTURE_COMPRESSED = ((int)0x86A1);
-        public const int GL_LINE = ((int)0x1B01);
-        public const int GL_BINORMAL_ARRAY_EXT = ((int)0x843A);
-        public const int GL_PROGRAM_LENGTH_NV = ((int)0x8627);
-        public const int GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = ((int)0x88AF);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = ((int)0x8518);
-        public const int GL_TRACK_MATRIX_TRANSFORM_NV = ((int)0x8649);
-        public const int GL_SELECTION_BUFFER_POINTER = ((int)0x0DF3);
-        public const int GL_DRAW_FRAMEBUFFER_EXT = ((int)0x8CA9);
-        public const int GL_OUTPUT_TEXTURE_COORD13_EXT = ((int)0x87AA);
-        public const int GL_TEXTURE_INDEX_SIZE_EXT = ((int)0x80ED);
-        public const int GL_MAP2_VERTEX_ATTRIB2_4_NV = ((int)0x8672);
-        public const int GL_POST_CONVOLUTION_RED_SCALE_EXT = ((int)0x801C);
-        public const int GL_RECLAIM_MEMORY_HINT_PGI = ((int)0x1A1FE);
-        public const int GL_RENDERBUFFER_WIDTH_EXT = ((int)0x8D42);
-        public const int GL_DEPTH_BIAS = ((int)0x0D1F);
-        public const int GL_FOG_COORDINATE_ARRAY_POINTER = ((int)0x8456);
-        public const int GL_VERTEX_SHADER = ((int)0x8B31);
-        public const int GL_VARIABLE_D_NV = ((int)0x8526);
-        public const int GL_AUX_BUFFERS = ((int)0x0C00);
-        public const int GL_TANGENT_ARRAY_POINTER_EXT = ((int)0x8442);
-        public const int GL_CON_12_ATI = ((int)0x894D);
-        public const int GL_MODELVIEW1_EXT = ((int)0x850A);
-        public const int GL_HISTOGRAM_GREEN_SIZE_EXT = ((int)0x8029);
-        public const int GL_T2F_N3F_V3F = ((int)0x2A2B);
-        public const int GL_ZOOM_Y = ((int)0x0D17);
-        public const int GL_FOG_COORD_ARRAY_STRIDE = ((int)GL_FOG_COORDINATE_ARRAY_STRIDE);
-        public const int GL_MAX_PROGRAM_CALL_DEPTH_NV = ((int)0x88F5);
-        public const int GL_TEXTURE_MAX_CLAMP_S_SGIX = ((int)0x8369);
-        public const int GL_COLOR = ((int)0x1800);
-        public const int GL_TEXTURE_PRIORITY_EXT = ((int)0x8066);
-        public const int GL_INCR_WRAP_EXT = ((int)0x8507);
-        public const int GL_LUMINANCE16 = ((int)0x8042);
-        public const int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = ((int)0x8B4D);
-        public const int GL_CONVOLUTION_BORDER_MODE = ((int)0x8013);
-        public const int GL_LUMINANCE_ALPHA16UI_EXT = ((int)0x8D7B);
-        public const int GL_FLOAT_MAT4x2 = ((int)0x8B69);
-        public const int GL_TEXTURE30_ARB = ((int)0x84DE);
-        public const int GL_TEXTURE_MATERIAL_PARAMETER_EXT = ((int)0x8352);
-        public const int GL_BUMP_TARGET_ATI = ((int)0x877C);
-        public const int GL_FRAGMENT_SHADER_ARB = ((int)0x8B30);
-        public const int GL_LIGHT1 = ((int)0x4001);
-        public const int GL_POST_CONVOLUTION_GREEN_BIAS_EXT = ((int)0x8021);
-        public const int GL_UNPACK_IMAGE_HEIGHT_EXT = ((int)0x806E);
-        public const int GL_FRAGMENT_SHADER = ((int)0x8B30);
-        public const int GL_POLYGON_STIPPLE_BIT = ((int)0x00000010);
-        public const int GL_TEXTURE_CUBE_MAP_EXT = ((int)0x8513);
-        public const int GL_DRAW_BUFFER2 = ((int)0x8827);
-        public const int GL_STREAM_DRAW_ARB = ((int)0x88E0);
-        public const int GL_DEPTH_STENCIL_TO_BGRA_NV = ((int)0x886F);
-        public const int GL_UNPACK_SUBSAMPLE_RATE_SGIX = ((int)0x85A1);
-        public const int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = ((int)0x8C8F);
-        public const int GL_TEXCOORD2_BIT_PGI = ((int)0x20000000);
-        public const int GL_MAX_VARYING_COMPONENTS_EXT = ((int)0x8B4B);
-        public const int GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = ((int)0x8848);
-        public const int GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = ((int)0x8853);
-        public const int GL_OUTPUT_TEXTURE_COORD27_EXT = ((int)0x87B8);
-        public const int GL_CLIP_VOLUME_CLIPPING_HINT_EXT = ((int)0x80F0);
-        public const int GL_DECAL = ((int)0x2101);
-        public const int GL_CONVOLUTION_1D = ((int)0x8010);
-        public const int GL_CONVOLUTION_2D = ((int)0x8011);
-        public const int GL_UNSIGNED_SHORT_5_5_5_1 = ((int)0x8034);
-        public const int GL_PRIMARY_COLOR = ((int)0x8577);
-        public const int GL_LUMINANCE_ALPHA8UI_EXT = ((int)0x8D81);
-        public const int GL_CONVOLUTION_WIDTH_EXT = ((int)0x8018);
-        public const int GL_MAP_TESSELLATION_NV = ((int)0x86C2);
-        public const int GL_EVAL_VERTEX_ATTRIB10_NV = ((int)0x86D0);
-        public const int GL_COLOR_ARRAY_LIST_IBM = ((int)103072);
-        public const int GL_MAT_SPECULAR_BIT_PGI = ((int)0x04000000);
-        public const int GL_LIGHT_MODEL_LOCAL_VIEWER = ((int)0x0B51);
-        public const int GL_DRAW_BUFFER1 = ((int)0x8826);
-        public const int GL_DEPTH_BITS = ((int)0x0D56);
-        public const int GL_OPERAND0_ALPHA_EXT = ((int)0x8598);
-        public const int GL_PIXEL_UNPACK_BUFFER_ARB = ((int)0x88EC);
-        public const int GL_HINT_BIT = ((int)0x00008000);
-        public const int GL_ONE_MINUS_SRC_ALPHA = ((int)0x0303);
-        public const int GL_NORMAL_ARRAY_TYPE = ((int)0x807E);
-        public const int GL_PRIMITIVE_RESTART_INDEX_NV = ((int)0x8559);
-        public const int GL_EVAL_2D_NV = ((int)0x86C0);
-        public const int GL_VIEWPORT_BIT = ((int)0x00000800);
-        public const int GL_OUTPUT_TEXTURE_COORD17_EXT = ((int)0x87AE);
-        public const int GL_PIXEL_PACK_BUFFER_ARB = ((int)0x88EB);
-        public const int GL_SRGB8 = ((int)0x8C41);
-        public const int GL_LOCAL_EXT = ((int)0x87C4);
-        public const int GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = ((int)0x889B);
-        public const int GL_REFLECTION_MAP = ((int)0x8512);
-        public const int GL_EVAL_VERTEX_ATTRIB4_NV = ((int)0x86CA);
-        public const int GL_MATRIX26_ARB = ((int)0x88DA);
-        public const int GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = ((int)103086);
-        public const int GL_FOG_COORD_ARRAY_TYPE = ((int)GL_FOG_COORDINATE_ARRAY_TYPE);
-        public const int GL_ONE_MINUS_CONSTANT_COLOR = ((int)0x8002);
-        public const int GL_NORMAL_ARRAY_LIST_STRIDE_IBM = ((int)103081);
-        public const int GL_DRAW_BUFFER8_ARB = ((int)0x882D);
-        public const int GL_CON_22_ATI = ((int)0x8957);
-        public const int GL_DRAW_BUFFER0 = ((int)0x8825);
-        public const int GL_MAP2_VERTEX_ATTRIB13_4_NV = ((int)0x867D);
-        public const int GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = ((int)0x8DA3);
-        public const int GL_TRANSFORM_FEEDBACK_RECORD_NV = ((int)0x8C86);
-        public const int GL_2PASS_1_SGIS = ((int)0x80A3);
-        public const int GL_BACK = ((int)0x0405);
-        public const int GL_PACK_RESAMPLE_SGIX = ((int)0x842C);
-        public const int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = ((int)0x8DE1);
-        public const int GL_CURRENT_FOG_COORDINATE = ((int)0x8453);
-        public const int GL_FOG_SCALE_SGIX = ((int)0x81FC);
-        public const int GL_BLEND_SRC_RGB = ((int)0x80C9);
-        public const int GL_CURRENT_TANGENT_EXT = ((int)0x843B);
-        public const int GL_PROGRAM_TEX_INSTRUCTIONS_ARB = ((int)0x8806);
-        public const int GL_MODELVIEW31_ARB = ((int)0x873F);
-        public const int GL_TEXTURE_3D_BINDING_EXT = ((int)0x806A);
-        public const int GL_RGBA4_EXT = ((int)0x8056);
-        public const int GL_GREEN_SCALE = ((int)0x0D18);
-        public const int GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = ((int)0x8B8B);
-        public const int GL_POINT_SIZE_MIN_EXT = ((int)0x8126);
-        public const int GL_CON_18_ATI = ((int)0x8953);
-        public const int GL_ALPHA32I_EXT = ((int)0x8D84);
-        public const int GL_LINE_BIT = ((int)0x00000004);
-        public const int GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = ((int)0x809E);
-        public const int GL_DEPTH_TEST = ((int)0x0B71);
-        public const int GL_HISTOGRAM_FORMAT = ((int)0x8027);
-        public const int GL_FLOAT_VEC3_ARB = ((int)0x8B51);
-        public const int GL_COORD_REPLACE = ((int)0x8862);
-        public const int GL_STENCIL_REF = ((int)0x0B97);
-        public const int GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = ((int)0x808A);
-        public const int GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = ((int)0x80B5);
-        public const int GL_RGBA32UI_EXT = ((int)0x8D70);
-        public const int GL_STEREO = ((int)0x0C33);
-        public const int GL_DOT3_ATI = ((int)0x8966);
-        public const int GL_REG_18_ATI = ((int)0x8933);
-        public const int GL_LIGHT2 = ((int)0x4002);
-        public const int GL_UNSIGNED_BYTE_3_3_2_EXT = ((int)0x8032);
-        public const int GL_SRC2_ALPHA = ((int)GL_SOURCE2_ALPHA);
-        public const int GL_MODELVIEW1_MATRIX_EXT = ((int)0x8506);
-        public const int GL_LUMINANCE32UI_EXT = ((int)0x8D74);
-        public const int GL_ALPHA12_EXT = ((int)0x803D);
-        public const int GL_TEXTURE15 = ((int)0x84CF);
-        public const int GL_LUMINANCE = ((int)0x1909);
-        public const int GL_MAP2_VERTEX_ATTRIB7_4_NV = ((int)0x8677);
-        public const int GL_COLOR_SUM_EXT = ((int)0x8458);
-        public const int GL_ADD = ((int)0x0104);
-        public const int GL_TEXTURE13 = ((int)0x84CD);
-        public const int GL_TEXTURE12 = ((int)0x84CC);
-        public const int GL_FOG_COORDINATE_ARRAY_EXT = ((int)0x8457);
-        public const int GL_COMPRESSED_RGB = ((int)0x84ED);
-        public const int GL_TRANSPOSE_NV = ((int)0x862C);
-        public const int GL_RENDERBUFFER_RED_SIZE_EXT = ((int)0x8D50);
-        public const int GL_TANGENT_ARRAY_STRIDE_EXT = ((int)0x843F);
-        public const int GL_SECONDARY_COLOR_ARRAY_POINTER = ((int)0x845D);
-        public const int GL_LIGHT3 = ((int)0x4003);
-        public const int GL_CULL_VERTEX_EXT = ((int)0x81AA);
-        public const int GL_SOURCE2_RGB_ARB = ((int)0x8582);
-        public const int GL_FRAGMENT_LIGHT7_SGIX = ((int)0x8413);
-        public const int GL_VERTEX_ARRAY_TYPE_EXT = ((int)0x807B);
-        public const int GL_TEXTURE_LOD_BIAS_T_SGIX = ((int)0x818F);
-        public const int GL_MAP2_VERTEX_ATTRIB11_4_NV = ((int)0x867B);
-        public const int GL_TRANSPOSE_MODELVIEW_MATRIX = ((int)0x84E3);
-        public const int GL_PROXY_HISTOGRAM = ((int)0x8025);
-        public const int GL_DSDT_MAG_INTENSITY_NV = ((int)0x86DC);
-        public const int GL_COPY_PIXEL_TOKEN = ((int)0x0706);
-        public const int GL_POINT_SPRITE_NV = ((int)0x8861);
-        public const int GL_IMAGE_TRANSLATE_Y_HP = ((int)0x8158);
-        public const int GL_PROGRAM_BINDING_ARB = ((int)0x8677);
-        public const int GL_LUMINANCE_ALPHA_ICC_SGIX = ((int)0x8465);
-        public const int GL_CON_15_ATI = ((int)0x8950);
-        public const int GL_REDUCE = ((int)0x8016);
-        public const int GL_RESAMPLE_ZERO_FILL_SGIX = ((int)0x842F);
-        public const int GL_SPRITE_MODE_SGIX = ((int)0x8149);
-        public const int GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = ((int)0x8855);
-        public const int GL_INTENSITY_EXT = ((int)0x8049);
-        public const int GL_RGB16UI_EXT = ((int)0x8D77);
-        public const int GL_INTENSITY12 = ((int)0x804C);
-        public const int GL_COMPRESSED_TEXTURE_FORMATS = ((int)0x86A3);
-        public const int GL_ALLOW_DRAW_WIN_HINT_PGI = ((int)0x1A20F);
-        public const int GL_MAX_EXT = ((int)0x8008);
-        public const int GL_MAX_VERTEX_STREAMS_ATI = ((int)0x876B);
-        public const int GL_HI_BIAS_NV = ((int)0x8714);
-        public const int GL_POLYGON_OFFSET_LINE = ((int)0x2A02);
-        public const int GL_LUMINANCE_ALPHA32F_ARB = ((int)0x8819);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = ((int)0x851A);
-        public const int GL_READ_BUFFER = ((int)0x0C02);
-        public const int GL_PIXEL_MAP_A_TO_A_SIZE = ((int)0x0CB9);
-        public const int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = ((int)0x8C7F);
-        public const int GL_BITMAP = ((int)0x1A00);
-        public const int GL_UNSIGNED_SHORT_5_6_5 = ((int)0x8363);
-        public const int GL_LUMINANCE8_ALPHA8_EXT = ((int)0x8045);
-        public const int GL_CURRENT_MATRIX_NV = ((int)0x8641);
-        public const int GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = ((int)0x80BB);
-        public const int GL_CONVOLUTION_FILTER_BIAS = ((int)0x8015);
-        public const int GL_4PASS_3_EXT = ((int)0x80A7);
-        public const int GL_COMBINE_RGB = ((int)0x8571);
-        public const int GL_OPERAND3_ALPHA_NV = ((int)0x859B);
-        public const int GL_SOURCE1_ALPHA_EXT = ((int)0x8589);
-        public const int GL_ALPHA_TEST_FUNC = ((int)0x0BC1);
-        public const int GL_FLOAT_RGB32_NV = ((int)0x8889);
-        public const int GL_BLEND_DST = ((int)0x0BE0);
-        public const int GL_READ_ONLY_ARB = ((int)0x88B8);
-        public const int GL_MODELVIEW18_ARB = ((int)0x8732);
-        public const int GL_LIGHT_MODEL_COLOR_CONTROL = ((int)0x81F8);
-        public const int GL_MAP2_VERTEX_ATTRIB12_4_NV = ((int)0x867C);
-        public const int GL_DEPTH_SCALE = ((int)0x0D1E);
-        public const int GL_TEXTURE_BASE_LEVEL = ((int)0x813C);
-        public const int GL_BLEND_EQUATION_RGB_EXT = ((int)GL_BLEND_EQUATION);
-        public const int GL_CLAMP_TO_BORDER_ARB = ((int)0x812D);
-        public const int GL_MATRIX_MODE = ((int)0x0BA0);
-        public const int GL_MAX_RATIONAL_EVAL_ORDER_NV = ((int)0x86D7);
-        public const int GL_TEXTURE_RESIDENT = ((int)0x8067);
-        public const int GL_MAX_DRAW_BUFFERS_ATI = ((int)0x8824);
-        public const int GL_PIXEL_TILE_GRID_DEPTH_SGIX = ((int)0x8144);
-        public const int GL_CURRENT_VERTEX_EXT = ((int)0x87E2);
-        public const int GL_SRGB = ((int)0x8C40);
-        public const int GL_MODELVIEW15_ARB = ((int)0x872F);
-        public const int GL_VERTEX_ATTRIB_ARRAY7_NV = ((int)0x8657);
-        public const int GL_FOG_COORDINATE_SOURCE = ((int)0x8450);
-        public const int GL_COMPRESSED_LUMINANCE_LATC1_EXT = ((int)0x8C70);
-        public const int GL_FOUR = ((int)4);
-        public const int GL_LUMINANCE4_EXT = ((int)0x803F);
-        public const int GL_COLOR_INDEX16_EXT = ((int)0x80E7);
-        public const int GL_COLOR_TABLE_BIAS_SGI = ((int)0x80D7);
-        public const int GL_AUX3 = ((int)0x040C);
-        public const int GL_BUMP_NUM_TEX_UNITS_ATI = ((int)0x8777);
-        public const int GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = ((int)0x8402);
-        public const int GL_RGBA8I_EXT = ((int)0x8D8E);
-        public const int GL_OUTPUT_FOG_EXT = ((int)0x87BD);
-        public const int GL_GENERATE_MIPMAP = ((int)0x8191);
-        public const int GL_INVERTED_SCREEN_W_REND = ((int)0x8491);
-        public const int GL_CON_25_ATI = ((int)0x895A);
-        public const int GL_PIXEL_TEXTURE_SGIS = ((int)0x8353);
-        public const int GL_UNSIGNED_INT_8_8_8_8_REV_EXT = ((int)0x8367);
-        public const int GL_RGBA8UI_EXT = ((int)0x8D7C);
-        public const int GL_TEXTURE21 = ((int)0x84D5);
-        public const int GL_TANGENT_ARRAY_TYPE_EXT = ((int)0x843E);
-        public const int GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = ((int)0x845B);
-        public const int GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = ((int)0x8802);
-        public const int GL_INVALID_FRAMEBUFFER_OPERATION_EXT = ((int)0x0506);
-        public const int GL_RASTER_POSITION_UNCLIPPED_IBM = ((int)0x19262);
-        public const int GL_AUX2 = ((int)0x040B);
-        public const int GL_NOTEQUAL = ((int)0x0205);
-        public const int GL_POST_CONVOLUTION_BLUE_SCALE = ((int)0x801E);
-        public const int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = ((int)0x8DE0);
-        public const int GL_MATRIX_INDEX_ARRAY_TYPE_ARB = ((int)0x8847);
-        public const int GL_ATTRIB_ARRAY_TYPE_NV = ((int)0x8625);
-        public const int GL_COLOR_ARRAY_TYPE = ((int)0x8082);
-        public const int GL_XOR = ((int)0x1506);
-        public const int GL_TEXTURE_ENV_COLOR = ((int)0x2201);
-        public const int GL_ZERO_EXT = ((int)0x87DD);
-        public const int GL_POST_COLOR_MATRIX_RED_BIAS_SGI = ((int)0x80B8);
-        public const int GL_TEXTURE_COORD_ARRAY_TYPE_EXT = ((int)0x8089);
-        public const int GL_BACK_LEFT = ((int)0x0402);
-        public const int GL_VERTEX_ATTRIB_ARRAY0_NV = ((int)0x8650);
-        public const int GL_COLOR_MATERIAL = ((int)0x0B57);
-        public const int GL_POLYGON_OFFSET_BIAS_EXT = ((int)0x8039);
-        public const int GL_TEXTURE_COMPARE_FUNC = ((int)0x884D);
-        public const int GL_MAT_EMISSION_BIT_PGI = ((int)0x00800000);
-        public const int GL_DRAW_BUFFER5 = ((int)0x882A);
-        public const int GL_DRAW_BUFFER6_ARB = ((int)0x882B);
-        public const int GL_DEPTH_BUFFER_BIT = ((int)0x00000100);
-        public const int GL_NOR = ((int)0x1508);
-        public const int GL_MAP1_VERTEX_ATTRIB14_4_NV = ((int)0x866E);
-        public const int GL_DSDT8_MAG8_NV = ((int)0x870A);
-        public const int GL_AUX1 = ((int)0x040A);
-        public const int GL_MAX_TRACK_MATRICES_NV = ((int)0x862F);
-        public const int GL_QUERY_RESULT_ARB = ((int)0x8866);
-        public const int GL_OPERAND0_ALPHA = ((int)0x8598);
-        public const int GL_FOG_SCALE_VALUE_SGIX = ((int)0x81FD);
-        public const int GL_TEXTURE_MAX_LEVEL = ((int)0x813D);
-        public const int GL_LINE_WIDTH_GRANULARITY = ((int)0x0B23);
-        public const int GL_MODELVIEW7_ARB = ((int)0x8727);
-        public const int GL_LINE_STIPPLE = ((int)0x0B24);
-        public const int GL_PROGRAM_ERROR_STRING_ARB = ((int)0x8874);
-        public const int GL_T4F_V4F = ((int)0x2A28);
-        public const int GL_CONVOLUTION_HINT_SGIX = ((int)0x8316);
-        public const int GL_CURRENT_RASTER_INDEX = ((int)0x0B05);
-        public const int GL_ALPHA16UI_EXT = ((int)0x8D78);
-        public const int GL_TEXTURE_BIT = ((int)0x00040000);
-        public const int GL_VERTEX_WEIGHTING_EXT = ((int)0x8509);
-        public const int GL_SAMPLER_2D_ARRAY_SHADOW_EXT = ((int)0x8DC4);
-        public const int GL_RGB2_EXT = ((int)0x804E);
-        public const int GL_BLUE_BITS = ((int)0x0D54);
-        public const int GL_GEOMETRY_INPUT_TYPE_EXT = ((int)0x8DDB);
-        public const int GL_ABGR_EXT = ((int)0x8000);
-        public const int GL_RED_MAX_CLAMP_INGR = ((int)0x8564);
-        public const int GL_UNPACK_ROW_LENGTH = ((int)0x0CF2);
-        public const int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = ((int)0x8B4C);
-        public const int GL_MAX_PROGRAM_TEXEL_OFFSET_NV = ((int)0x8905);
-        public const int GL_AUX0 = ((int)0x0409);
-        public const int GL_FOG_DENSITY = ((int)0x0B62);
-        public const int GL_INTENSITY16_EXT = ((int)0x804D);
-        public const int GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = ((int)0x87F5);
-        public const int GL_POST_COLOR_MATRIX_BLUE_SCALE = ((int)0x80B6);
-        public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = ((int)0x87CE);
-        public const int GL_CONVOLUTION_BORDER_MODE_EXT = ((int)0x8013);
-        public const int GL_DUAL_ALPHA4_SGIS = ((int)0x8110);
-        public const int GL_MATRIX_INDEX_ARRAY_POINTER_ARB = ((int)0x8849);
-        public const int GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = ((int)0x8189);
-        public const int GL_CLAMP_TO_BORDER_SGIS = ((int)0x812D);
-        public const int GL_SAMPLE_MASK_INVERT_EXT = ((int)0x80AB);
-        public const int GL_TEXT_FRAGMENT_SHADER_ATI = ((int)0x8200);
-        public const int GL_MODELVIEW17_ARB = ((int)0x8731);
-        public const int GL_CMYK_EXT = ((int)0x800C);
-        public const int GL_RGBA2_EXT = ((int)0x8055);
-        public const int GL_MODELVIEW0_EXT = ((int)GL_MODELVIEW);
-        public const int GL_PERSPECTIVE_CORRECTION_HINT = ((int)0x0C50);
-        public const int GL_UNPACK_CLIENT_STORAGE_APPLE = ((int)0x85B2);
-        public const int GL_SPARE0_PLUS_SECONDARY_COLOR_NV = ((int)0x8532);
-        public const int GL_LINEAR_SHARPEN_COLOR_SGIS = ((int)0x80AF);
-        public const int GL_COPY_INVERTED = ((int)0x150C);
-        public const int GL_PROGRAM_NATIVE_TEMPORARIES_ARB = ((int)0x88A6);
-        public const int GL_FRAGMENT_LIGHT5_SGIX = ((int)0x8411);
-        public const int GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = ((int)0x8DA4);
-        public const int GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = ((int)0x884E);
-        public const int GL_COMPRESSED_SRGB = ((int)0x8C48);
-        public const int GL_PROXY_TEXTURE_2D_EXT = ((int)0x8064);
-        public const int GL_TEXTURE_1D = ((int)0x0DE0);
-        public const int GL_PACK_INVERT_MESA = ((int)0x8758);
-        public const int GL_COMPRESSED_RED_GREEN_RGTC2_EXT = ((int)0x8DBD);
-        public const int GL_UNPACK_SKIP_PIXELS = ((int)0x0CF4);
-        public const int GL_VERTEX_PRECLIP_SGIX = ((int)0x83EE);
-        public const int GL_UNPACK_IMAGE_DEPTH_SGIS = ((int)0x8133);
-        public const int GL_EDGE_FLAG_ARRAY = ((int)0x8079);
-        public const int GL_FRAGMENT_SHADER_ATI = ((int)0x8920);
-        public const int GL_EVAL_VERTEX_ATTRIB6_NV = ((int)0x86CC);
-        public const int GL_SELECTION_BUFFER_SIZE = ((int)0x0DF4);
-        public const int GL_TEXTURE_COORD_ARRAY_SIZE_EXT = ((int)0x8088);
-        public const int GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = ((int)0x87F6);
-        public const int GL_BUMP_TEX_UNITS_ATI = ((int)0x8778);
-        public const int GL_MAX_ACTIVE_LIGHTS_SGIX = ((int)0x8405);
-        public const int GL_DEPTH_TEXTURE_MODE = ((int)0x884B);
-        public const int GL_FULL_STIPPLE_HINT_PGI = ((int)0x1A219);
-        public const int GL_POINT_SIZE_GRANULARITY = ((int)0x0B13);
-        public const int GL_CONSTANT_ALPHA = ((int)0x8003);
-        public const int GL_LUMINANCE16I_EXT = ((int)0x8D8C);
-        public const int GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = ((int)0x889D);
-        public const int GL_QUAD_ALPHA4_SGIS = ((int)0x811E);
-        public const int GL_CURRENT_RASTER_NORMAL_SGIX = ((int)0x8406);
-        public const int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = ((int)0x80D5);
-        public const int GL_MAX_EVAL_ORDER = ((int)0x0D30);
-        public const int GL_UNIFORM_BUFFER_BINDING_EXT = ((int)0x8DEF);
-        public const int GL_RGBA8_EXT = ((int)0x8058);
-        public const int GL_INDEX_BIT_PGI = ((int)0x00080000);
-        public const int GL_SHADER_OBJECT_ARB = ((int)0x8B48);
-        public const int GL_VARIANT_ARRAY_POINTER_EXT = ((int)0x87E9);
-        public const int GL_TEXTURE_CLIPMAP_FRAME_SGIX = ((int)0x8172);
-        public const int GL_STENCIL_BACK_FAIL_ATI = ((int)0x8801);
-        public const int GL_MAX_ASYNC_READ_PIXELS_SGIX = ((int)0x8361);
-        public const int GL_TEXTURE25 = ((int)0x84D9);
-        public const int GL_MIRRORED_REPEAT_IBM = ((int)0x8370);
-        public const int GL_LUMINANCE16_ALPHA16_EXT = ((int)0x8048);
-        public const int GL_TEXTURE26 = ((int)0x84DA);
-        public const int GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = ((int)0x812E);
-        public const int GL_ALPHA8I_EXT = ((int)0x8D90);
-        public const int GL_TEXTURE22 = ((int)0x84D6);
-        public const int GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = ((int)0x8175);
-        public const int GL_OP_NEGATE_EXT = ((int)0x8783);
-        public const int GL_NORMAL_ARRAY_STRIDE_EXT = ((int)0x807F);
-        public const int GL_CURRENT_BINORMAL_EXT = ((int)0x843C);
-        public const int GL_TEXTURE29 = ((int)0x84DD);
-        public const int GL_SAMPLE_COVERAGE_INVERT_ARB = ((int)0x80AB);
-        public const int GL_PIXEL_TEX_GEN_SGIX = ((int)0x8139);
-        public const int GL_SCALE_BY_FOUR_NV = ((int)0x853F);
-        public const int GL_PIXEL_MAP_R_TO_R = ((int)0x0C76);
-        public const int GL_VERTEX_ARRAY_LIST_IBM = ((int)103070);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = ((int)0x8517);
-        public const int GL_RESAMPLE_REPLICATE_SGIX = ((int)0x842E);
-        public const int GL_ALIASED_LINE_WIDTH_RANGE = ((int)0x846E);
-        public const int GL_FRAGMENT_LIGHT3_SGIX = ((int)0x840F);
-        public const int GL_TEXTURE_COMPARE_MODE_ARB = ((int)0x884C);
-        public const int GL_TEXTURE7_ARB = ((int)0x84C7);
-        public const int GL_CON_14_ATI = ((int)0x894F);
-        public const int GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = ((int)0x85C2);
-        public const int GL_TEXTURE22_ARB = ((int)0x84D6);
-        public const int GL_SAMPLER_CUBE_SHADOW_EXT = ((int)0x8DC5);
-        public const int GL_QUADS = ((int)0x0007);
-        public const int GL_TEXTURE_BLUE_SIZE_EXT = ((int)0x805E);
-        public const int GL_OUT_OF_MEMORY = ((int)0x0505);
-        public const int GL_MAT_SHININESS_BIT_PGI = ((int)0x02000000);
-        public const int GL_MAP1_VERTEX_ATTRIB9_4_NV = ((int)0x8669);
-        public const int GL_VIEWPORT = ((int)0x0BA2);
-        public const int GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = ((int)0x813E);
-        public const int GL_MODELVIEW25_ARB = ((int)0x8739);
-        public const int GL_OBJECT_PLANE = ((int)0x2501);
-        public const int GL_FOG_COORDINATE_SOURCE_EXT = ((int)0x8450);
-        public const int GL_MODELVIEW28_ARB = ((int)0x873C);
-        public const int GL_ALPHA8UI_EXT = ((int)0x8D7E);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = ((int)0x8519);
-        public const int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = ((int)0x8C8B);
-        public const int GL_2_BYTES = ((int)0x1407);
-        public const int GL_READ_FRAMEBUFFER_BINDING_EXT = ((int)GL_FRAMEBUFFER_BINDING_EXT);
-        public const int GL_IMAGE_ROTATE_ORIGIN_Y_HP = ((int)0x815B);
-        public const int GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = ((int)0x850F);
-        public const int GL_INDEX_ARRAY_BUFFER_BINDING = ((int)0x8899);
-        public const int GL_OPERAND2_ALPHA = ((int)0x859A);
-        public const int GL_REFERENCE_PLANE_SGIX = ((int)0x817D);
-        public const int GL_POINT_SIZE_RANGE = ((int)0x0B12);
-        public const int GL_STACK_UNDERFLOW = ((int)0x0504);
-        public const int GL_BOOL_VEC3_ARB = ((int)0x8B58);
-        public const int GL_SIGNED_RGB_NV = ((int)0x86FE);
-        public const int GL_CLEAR = ((int)0x1500);
-        public const int GL_TEXTURE9_ARB = ((int)0x84C9);
-        public const int GL_OPERAND1_RGB_EXT = ((int)0x8591);
-        public const int GL_TEXTURE_COMPRESSED_IMAGE_SIZE = ((int)0x86A0);
-        public const int GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = ((int)0x864D);
-        public const int GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = ((int)0x887A);
-        public const int GL_AND_INVERTED = ((int)0x1504);
-        public const int GL_CONSTANT_ALPHA_EXT = ((int)0x8003);
-        public const int GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = ((int)0x8DDD);
-        public const int GL_BLEND_EQUATION_ALPHA_EXT = ((int)0x883D);
-        public const int GL_PIXEL_MAP_A_TO_A = ((int)0x0C79);
-        public const int GL_RGB10_A2_EXT = ((int)0x8059);
-        public const int GL_CURRENT_PALETTE_MATRIX_ARB = ((int)0x8843);
-        public const int GL_TEXCOORD1_BIT_PGI = ((int)0x10000000);
-        public const int GL_LUMINANCE_ALPHA8I_EXT = ((int)0x8D93);
-        public const int GL_MODELVIEW19_ARB = ((int)0x8733);
-        public const int GL_T2F_IUI_N3F_V3F_EXT = ((int)0x81B4);
-        public const int GL_SEPARATE_ATTRIBS_NV = ((int)0x8C8D);
-        public const int GL_INT_SAMPLER_2D_EXT = ((int)0x8DCA);
-        public const int GL_EYE_RADIAL_NV = ((int)0x855B);
-        public const int GL_RGB5_EXT = ((int)0x8050);
-        public const int GL_ACTIVE_ATTRIBUTES = ((int)0x8B89);
-        public const int GL_PIXEL_TEX_GEN_MODE_SGIX = ((int)0x832B);
-        public const int GL_UNSIGNED_SHORT_4_4_4_4_REV = ((int)0x8365);
-        public const int GL_OFFSET_TEXTURE_2D_MATRIX_NV = ((int)GL_OFFSET_TEXTURE_MATRIX_NV);
-        public const int GL_COORD_REPLACE_NV = ((int)0x8862);
-        public const int GL_COLOR_ATTACHMENT11_EXT = ((int)0x8CEB);
-        public const int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = ((int)0x889C);
-        public const int GL_LINEAR_DETAIL_SGIS = ((int)0x8097);
-        public const int GL_AVERAGE_HP = ((int)0x8160);
-        public const int GL_TEXTURE_LOD_BIAS_S_SGIX = ((int)0x818E);
-        public const int GL_TRIANGLE_MESH_SUN = ((int)0x8615);
-        public const int GL_CLIP_DISTANCE_NV = ((int)0x8C7A);
-        public const int GL_4PASS_0_SGIS = ((int)0x80A4);
-        public const int GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = ((int)0x87C5);
-        public const int GL_TEXTURE4 = ((int)0x84C4);
-        public const int GL_ELEMENT_ARRAY_POINTER_ATI = ((int)0x876A);
-        public const int GL_MAX_DEFORMATION_ORDER_SGIX = ((int)0x8197);
-        public const int GL_FILTER4_SGIS = ((int)0x8146);
-        public const int GL_INT_SAMPLER_1D_EXT = ((int)0x8DC9);
-        public const int GL_TEXTURE8_ARB = ((int)0x84C8);
-        public const int GL_FEEDBACK_BUFFER_SIZE = ((int)0x0DF1);
-        public const int GL_CURRENT_SECONDARY_COLOR_EXT = ((int)0x8459);
-        public const int GL_ACCUM_BLUE_BITS = ((int)0x0D5A);
-        public const int GL_STRICT_DEPTHFUNC_HINT_PGI = ((int)0x1A216);
-        public const int GL_ACCUM_ALPHA_BITS = ((int)0x0D5B);
-        public const int GL_LERP_ATI = ((int)0x8969);
-        public const int GL_EVAL_VERTEX_ATTRIB9_NV = ((int)0x86CF);
-        public const int GL_PROXY_TEXTURE_1D_EXT = ((int)0x8063);
-        public const int GL_CLIENT_ATTRIB_STACK_DEPTH = ((int)0x0BB1);
-        public const int GL_CURRENT_MATRIX_STACK_DEPTH_NV = ((int)0x8640);
-        public const int GL_DUAL_INTENSITY12_SGIS = ((int)0x811A);
-        public const int GL_IMAGE_TRANSFORM_2D_HP = ((int)0x8161);
-        public const int GL_TEXTURE_WIDTH = ((int)0x1000);
-        public const int GL_INT_VEC4 = ((int)0x8B55);
-        public const int GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = ((int)0x8DA5);
-        public const int GL_MAP1_BINORMAL_EXT = ((int)0x8446);
-        public const int GL_MIRROR_CLAMP_TO_EDGE_ATI = ((int)0x8743);
-        public const int GL_LUMINANCE_ALPHA = ((int)0x190A);
-        public const int GL_AND = ((int)0x1501);
-        public const int GL_FLOAT_MAT4 = ((int)0x8B5C);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = ((int)0x851A);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = ((int)0x8519);
-        public const int GL_MODELVIEW23_ARB = ((int)0x8737);
-        public const int GL_TRIANGLE_LIST_SUN = ((int)0x81D7);
-        public const int GL_PASS_THROUGH_NV = ((int)0x86E6);
-        public const int GL_UNSIGNED_SHORT_5_6_5_REV_EXT = ((int)0x8364);
-        public const int GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = ((int)0x8803);
-        public const int GL_OP_POWER_EXT = ((int)0x8793);
-        public const int GL_DRAW_BUFFER1_ATI = ((int)0x8826);
-        public const int GL_RESAMPLE_REPLICATE_OML = ((int)0x8986);
-        public const int GL_UNPACK_ALIGNMENT = ((int)0x0CF5);
-        public const int GL_TEXTURE_BINDING_CUBE_MAP = ((int)0x8514);
-        public const int GL_INT_SAMPLER_3D_EXT = ((int)0x8DCB);
-        public const int GL_PROGRAM_NATIVE_PARAMETERS_ARB = ((int)0x88AA);
-        public const int GL_TEXTURE_DEPTH_EXT = ((int)0x8071);
-        public const int GL_INT_VEC3 = ((int)0x8B54);
-        public const int GL_MATRIX3_NV = ((int)0x8633);
-        public const int GL_PROXY_TEXTURE_1D_STACK_MESAX = ((int)0x875B);
-        public const int GL_MAX_SAMPLES_EXT = ((int)0x8D57);
-        public const int GL_COMBINE4_NV = ((int)0x8503);
-        public const int GL_EYE_POINT_SGIS = ((int)0x81F4);
-        public const int GL_MODELVIEW = ((int)0x1700);
-        public const int GL_TEXTURE_COMPRESSION_HINT_ARB = ((int)0x84EF);
-        public const int GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = ((int)0x8810);
-        public const int GL_MODELVIEW24_ARB = ((int)0x8738);
-        public const int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = ((int)0x889F);
-        public const int GL_VERTEX_ATTRIB_ARRAY9_NV = ((int)0x8659);
-        public const int GL_VERTEX_ATTRIB_ARRAY_POINTER = ((int)0x8645);
-        public const int GL_CLIP_FAR_HINT_PGI = ((int)0x1A221);
-        public const int GL_DUAL_ALPHA8_SGIS = ((int)0x8111);
-        public const int GL_PIXEL_MAP_I_TO_G_SIZE = ((int)0x0CB3);
-        public const int GL_FUNC_ADD_EXT = ((int)0x8006);
-        public const int GL_QUAD_INTENSITY4_SGIS = ((int)0x8122);
-        public const int GL_MATRIX27_ARB = ((int)0x88DB);
-        public const int GL_LINE_RESET_TOKEN = ((int)0x0707);
-        public const int GL_FOG_INDEX = ((int)0x0B61);
-        public const int GL_MODELVIEW0_STACK_DEPTH_EXT = ((int)GL_MODELVIEW_STACK_DEPTH);
-        public const int GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = ((int)0x8CAB);
-        public const int GL_VERTEX_ATTRIB_ARRAY14_NV = ((int)0x865E);
-        public const int GL_SRGB8_EXT = ((int)0x8C41);
-        public const int GL_PIXEL_SUBSAMPLE_4444_SGIX = ((int)0x85A2);
-        public const int GL_VERTEX_ATTRIB_ARRAY13_NV = ((int)0x865D);
-        public const int GL_VERTEX_ATTRIB_ARRAY10_NV = ((int)0x865A);
-        public const int GL_LINE_LOOP = ((int)0x0002);
-        public const int GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = ((int)0x8DD5);
-        public const int GL_VERTEX_ATTRIB_ARRAY5_NV = ((int)0x8655);
-        public const int GL_REPLACEMENT_CODE_ARRAY_SUN = ((int)0x85C0);
-        public const int GL_OPERAND1_ALPHA_ARB = ((int)0x8599);
-        public const int GL_PROGRAM_TEX_INDIRECTIONS_ARB = ((int)0x8807);
-        public const int GL_FLOAT_MAT2_ARB = ((int)0x8B5A);
-        public const int GL_ASYNC_MARKER_SGIX = ((int)0x8329);
-        public const int GL_4_BYTES = ((int)0x1409);
-        public const int GL_SPARE0_NV = ((int)0x852E);
-        public const int GL_UNSIGNED_INT_VEC2_EXT = ((int)0x8DC6);
-        public const int GL_RGBA_FLOAT_MODE_ARB = ((int)0x8820);
-        public const int GL_TEXTURE_COMPARE_FUNC_ARB = ((int)0x884D);
-        public const int GL_TEXTURE_INTERNAL_FORMAT = ((int)0x1003);
-        public const int GL_MAP1_VERTEX_ATTRIB4_4_NV = ((int)0x8664);
-        public const int GL_NICEST = ((int)0x1102);
-        public const int GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = ((int)0x862E);
-        public const int GL_MAX_FRAMEZOOM_FACTOR_SGIX = ((int)0x818D);
-        public const int GL_IMAGE_MAG_FILTER_HP = ((int)0x815C);
-        public const int GL_COMBINER_SUM_OUTPUT_NV = ((int)0x854C);
-        public const int GL_R1UI_T2F_V3F_SUN = ((int)0x85C9);
-        public const int GL_FOG_COORDINATE_ARRAY_POINTER_EXT = ((int)0x8456);
-        public const int GL_RGB_FLOAT32_ATI = ((int)0x8815);
-        public const int GL_CURRENT_RASTER_TEXTURE_COORDS = ((int)0x0B06);
-        public const int GL_MAX_TEXTURE_IMAGE_UNITS_NV = ((int)0x8872);
-        public const int GL_ASYNC_DRAW_PIXELS_SGIX = ((int)0x835D);
-        public const int GL_EMISSION = ((int)0x1600);
-        public const int GL_COLOR_ATTACHMENT3_EXT = ((int)0x8CE3);
-        public const int GL_TEXTURE_LIGHT_EXT = ((int)0x8350);
-        public const int GL_VERTEX_ATTRIB_ARRAY15_NV = ((int)0x865F);
-        public const int GL_PROGRAM_INSTRUCTIONS_ARB = ((int)0x88A0);
-        public const int GL_LUMINANCE_ALPHA16F_ARB = ((int)0x881F);
-        public const int GL_OP_SET_GE_EXT = ((int)0x878C);
-        public const int GL_VERTEX_ATTRIB_ARRAY11_NV = ((int)0x865B);
-        public const int GL_TEXTURE_2D_BINDING_EXT = ((int)0x8069);
-        public const int GL_RENDERBUFFER_COLOR_SAMPLES_NV = ((int)0x8E10);
-        public const int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = ((int)0x8B49);
-        public const int GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = ((int)0x885D);
-        public const int GL_OBJECT_BUFFER_USAGE_ATI = ((int)0x8765);
-        public const int GL_TEXCOORD4_BIT_PGI = unchecked((int)0x80000000);
-        public const int GL_REFLECTION_MAP_ARB = ((int)0x8512);
-        public const int GL_LUMINANCE_ALPHA32I_EXT = ((int)0x8D87);
-        public const int GL_TRACK_MATRIX_NV = ((int)0x8648);
-        public const int GL_MATRIX10_ARB = ((int)0x88CA);
-        public const int GL_GLOBAL_ALPHA_FACTOR_SUN = ((int)0x81DA);
-        public const int GL_RGBA16UI_EXT = ((int)0x8D76);
-        public const int GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = ((int)0x8355);
-        public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = ((int)0x8C4F);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = ((int)0x8519);
-        public const int GL_OUTPUT_TEXTURE_COORD7_EXT = ((int)0x87A4);
-        public const int GL_COLOR_ARRAY_BUFFER_BINDING_ARB = ((int)0x8898);
-        public const int GL_MODELVIEW1_STACK_DEPTH_EXT = ((int)0x8502);
-        public const int GL_MAP1_GRID_DOMAIN = ((int)0x0DD0);
-        public const int GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = ((int)0x8895);
-        public const int GL_ALPHA_BITS = ((int)0x0D55);
-        public const int GL_PIXEL_TILE_GRID_WIDTH_SGIX = ((int)0x8142);
-        public const int GL_LUMINANCE16_EXT = ((int)0x8042);
-        public const int GL_COMPILE_AND_EXECUTE = ((int)0x1301);
-        public const int GL_YCRCB_422_SGIX = ((int)0x81BB);
-        public const int GL_TEXTURE_CLIPMAP_CENTER_SGIX = ((int)0x8171);
-        public const int GL_SAMPLER_1D_ARRAY_SHADOW_EXT = ((int)0x8DC3);
-        public const int GL_MATRIX0_ARB = ((int)0x88C0);
-        public const int GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = ((int)0x8186);
-        public const int GL_RGB8 = ((int)0x8051);
-        public const int GL_PACK_SKIP_IMAGES_EXT = ((int)0x806B);
-        public const int GL_FORCE_BLUE_TO_ONE_NV = ((int)0x8860);
-        public const int GL_VERTEX_PROGRAM_POINT_SIZE_ARB = ((int)0x8642);
-        public const int GL_PACK_SKIP_PIXELS = ((int)0x0D04);
-        public const int GL_VERTEX_ARRAY_RANGE_APPLE = ((int)0x851D);
-        public const int GL_ALPHA_BIAS = ((int)0x0D1D);
-        public const int GL_MODELVIEW26_ARB = ((int)0x873A);
-        public const int GL_GENERATE_MIPMAP_HINT = ((int)0x8192);
-        public const int GL_EYE_DISTANCE_TO_POINT_SGIS = ((int)0x81F0);
-        public const int GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = ((int)0x8DDE);
-        public const int GL_TEXTURE_CLIPMAP_OFFSET_SGIX = ((int)0x8173);
-        public const int GL_EXTENSIONS = ((int)0x1F03);
-        public const int GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = ((int)0x887C);
-        public const int GL_OFFSET_TEXTURE_2D_BIAS_NV = ((int)GL_OFFSET_TEXTURE_BIAS_NV);
-        public const int GL_PROGRAM_NATIVE_ATTRIBS_ARB = ((int)0x88AE);
-        public const int GL_PREVIOUS_EXT = ((int)0x8578);
-        public const int GL_DEPTH_BOUNDS_TEST_EXT = ((int)0x8890);
-        public const int GL_BOOL_VEC4_ARB = ((int)0x8B59);
-        public const int GL_DEPTH32F_STENCIL8_NV = ((int)0x8DAC);
-        public const int GL_TEXTURE_BINDING_1D_ARRAY_EXT = ((int)0x8C1C);
-        public const int GL_VERTEX_WEIGHT_ARRAY_EXT = ((int)0x850C);
-        public const int GL_TEXTURE_COORD_NV = ((int)0x8C79);
-        public const int GL_VERTEX_ATTRIB_ARRAY12_NV = ((int)0x865C);
-        public const int GL_OBJECT_ACTIVE_UNIFORMS_ARB = ((int)0x8B86);
-        public const int GL_COLOR_TABLE_LUMINANCE_SIZE = ((int)0x80DE);
-        public const int GL_RGBA_INTEGER_EXT = ((int)0x8D99);
-        public const int GL_MAX_TEXTURE_UNITS = ((int)0x84E2);
-        public const int GL_MIRRORED_REPEAT_ARB = ((int)0x8370);
-        public const int GL_PACK_IMAGE_HEIGHT = ((int)0x806C);
-        public const int GL_SHADER_SOURCE_LENGTH = ((int)0x8B88);
-        public const int GL_MAX_SHININESS_NV = ((int)0x8504);
-        public const int GL_OUTPUT_TEXTURE_COORD9_EXT = ((int)0x87A6);
-        public const int GL_NEAREST_MIPMAP_NEAREST = ((int)0x2700);
-        public const int GL_TEXTURE_BUFFER_EXT = ((int)0x8C2A);
-        public const int GL_HISTOGRAM_RED_SIZE = ((int)0x8028);
-        public const int GL_MATRIX0_NV = ((int)0x8630);
-        public const int GL_SLUMINANCE8_ALPHA8_EXT = ((int)0x8C45);
-        public const int GL_TEXTURE_LOD_BIAS_R_SGIX = ((int)0x8190);
-        public const int GL_ONE_MINUS_CONSTANT_ALPHA_EXT = ((int)0x8004);
-        public const int GL_R1UI_N3F_V3F_SUN = ((int)0x85C7);
-        public const int GL_SIGNED_HILO_NV = ((int)0x86F9);
-        public const int GL_SRC0_ALPHA = ((int)GL_SOURCE0_ALPHA);
-        public const int GL_POST_TEXTURE_FILTER_BIAS_SGIX = ((int)0x8179);
-        public const int GL_COLOR_MATERIAL_FACE = ((int)0x0B55);
-        public const int GL_INTENSITY32F_ARB = ((int)0x8817);
-        public const int GL_OCCLUSION_TEST_HP = ((int)0x8165);
-        public const int GL_VERTEX_ATTRIB_ARRAY_ENABLED = ((int)0x8622);
-        public const int GL_RGBA_FLOAT32_ATI = ((int)0x8814);
-        public const int GL_LINEAR_CLIPMAP_LINEAR_SGIX = ((int)0x8170);
-        public const int GL_LUMINANCE_ALPHA32UI_EXT = ((int)0x8D75);
-        public const int GL_TEXTURE_COMPARE_OPERATOR_SGIX = ((int)0x819B);
-        public const int GL_RGBA_INTEGER_MODE_EXT = ((int)0x8D9E);
-        public const int GL_ALPHA16F_ARB = ((int)0x881C);
-        public const int GL_OBJECT_LINK_STATUS_ARB = ((int)0x8B82);
-        public const int GL_MAP2_VERTEX_ATTRIB14_4_NV = ((int)0x867E);
-        public const int GL_MAX_ATTRIB_STACK_DEPTH = ((int)0x0D35);
-        public const int GL_MULTISAMPLE_EXT = ((int)0x809D);
-        public const int GL_PROXY_TEXTURE_2D_STACK_MESAX = ((int)0x875C);
-        public const int GL_SPECULAR = ((int)0x1202);
-        public const int GL_PARALLEL_ARRAYS_INTEL = ((int)0x83F4);
-        public const int GL_OUTPUT_COLOR1_EXT = ((int)0x879C);
-        public const int GL_BGRA_INTEGER_EXT = ((int)0x8D9B);
-        public const int GL_VERTEX_ARRAY_POINTER = ((int)0x808E);
-        public const int GL_SAMPLES_3DFX = ((int)0x86B4);
-        public const int GL_LINE_SMOOTH = ((int)0x0B20);
-        public const int GL_LINE_SMOOTH_HINT = ((int)0x0C52);
-        public const int GL_CONVOLUTION_HEIGHT_EXT = ((int)0x8019);
-        public const int GL_EYE_LINEAR = ((int)0x2400);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_X = ((int)0x8515);
-        public const int GL_RED_MIN_CLAMP_INGR = ((int)0x8560);
-        public const int GL_MAP1_TANGENT_EXT = ((int)0x8444);
-        public const int GL_MATRIX16_ARB = ((int)0x88D0);
-        public const int GL_QUAD_ALPHA8_SGIS = ((int)0x811F);
-        public const int GL_MINMAX_EXT = ((int)0x802E);
-        public const int GL_MAX_PROGRAM_GENERIC_RESULTS_NV = ((int)0x8DA6);
-        public const int GL_FRAGMENT_MATERIAL_EXT = ((int)0x8349);
-        public const int GL_DRAW_BUFFER9_ATI = ((int)0x882E);
-        public const int GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = ((int)0x887B);
-        public const int GL_MAX_FRAGMENT_LIGHTS_SGIX = ((int)0x8404);
-        public const int GL_TEXTURE_DT_SIZE_NV = ((int)0x871E);
-        public const int GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = ((int)0x87F7);
-        public const int GL_POST_CONVOLUTION_COLOR_TABLE_SGI = ((int)0x80D1);
-        public const int GL_TEXTURE_CUBE_MAP_ARB = ((int)0x8513);
-        public const int GL_VERTEX_PROGRAM_TWO_SIDE_ARB = ((int)0x8643);
-        public const int GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = ((int)0x8DE3);
-        public const int GL_COMPRESSED_ALPHA_ARB = ((int)0x84E9);
-        public const int GL_REPEAT = ((int)0x2901);
-        public const int GL_CONVOLUTION_FORMAT_EXT = ((int)0x8017);
-        public const int GL_DRAW_BUFFER5_ATI = ((int)0x882A);
-        public const int GL_HISTOGRAM_WIDTH = ((int)0x8026);
-        public const int GL_TEXTURE29_ARB = ((int)0x84DD);
-        public const int GL_MULTISAMPLE = ((int)0x809D);
-        public const int GL_POINT_SIZE_MIN = ((int)0x8126);
-        public const int GL_OUTPUT_TEXTURE_COORD30_EXT = ((int)0x87BB);
-        public const int GL_IR_INSTRUMENT1_SGIX = ((int)0x817F);
-        public const int GL_DRAW_BUFFER10_ATI = ((int)0x882F);
-        public const int GL_DEPTH_STENCIL_NV = ((int)0x84F9);
-        public const int GL_TEXTURE3_ARB = ((int)0x84C3);
-        public const int GL_FRAMEBUFFER_UNSUPPORTED_EXT = ((int)0x8CDD);
-        public const int GL_SET = ((int)0x150F);
-        public const int GL_COMPRESSED_SLUMINANCE_EXT = ((int)0x8C4A);
-        public const int GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = ((int)0x851C);
-        public const int GL_R3_G3_B2 = ((int)0x2A10);
-        public const int GL_NORMAL_ARRAY_EXT = ((int)0x8075);
-        public const int GL_HISTOGRAM_EXT = ((int)0x8024);
-        public const int GL_CURRENT_MATRIX_ARB = ((int)0x8641);
-        public const int GL_COMPILE = ((int)0x1300);
-        public const int GL_DOT_PRODUCT_NV = ((int)0x86EC);
-        public const int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = ((int)0x8C88);
-        public const int GL_POINT_SIZE_MIN_SGIS = ((int)0x8126);
-        public const int GL_SHADING_LANGUAGE_VERSION_ARB = ((int)0x8B8C);
-        public const int GL_SELECT = ((int)0x1C02);
-        public const int GL_READ_FRAMEBUFFER_EXT = ((int)0x8CA8);
-        public const int GL_CUBIC_EXT = ((int)0x8334);
-        public const int GL_COMBINER7_NV = ((int)0x8557);
-        public const int GL_COMBINER4_NV = ((int)0x8554);
-        public const int GL_COLOR_ARRAY_STRIDE_EXT = ((int)0x8083);
-        public const int GL_SOURCE0_RGB_EXT = ((int)0x8580);
-        public const int GL_OBJECT_LINE_SGIS = ((int)0x81F7);
-        public const int GL_CONSTANT_BORDER = ((int)0x8151);
-        public const int GL_FRONT_RIGHT = ((int)0x0401);
-        public const int GL_POST_CONVOLUTION_BLUE_BIAS = ((int)0x8022);
-        public const int GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = ((int)0x8C73);
-        public const int GL_MODELVIEW_MATRIX = ((int)0x0BA6);
-        public const int GL_IMAGE_ROTATE_ORIGIN_X_HP = ((int)0x815A);
-        public const int GL_CW = ((int)0x0900);
-        public const int GL_OUTPUT_TEXTURE_COORD0_EXT = ((int)0x879D);
-        public const int GL_STENCIL_VALUE_MASK = ((int)0x0B93);
-        public const int GL_SRC_ALPHA = ((int)0x0302);
-        public const int GL_DUAL_LUMINANCE4_SGIS = ((int)0x8114);
-        public const int GL_ALPHA_ICC_SGIX = ((int)0x8462);
-        public const int GL_UNPACK_SKIP_IMAGES = ((int)0x806D);
-        public const int GL_TEXTURE_PRE_SPECULAR_HP = ((int)0x8169);
-        public const int GL_LIGHT_ENV_MODE_SGIX = ((int)0x8407);
-        public const int GL_HALF_FLOAT_ARB = ((int)0x140B);
-        public const int GL_FRAGMENT_PROGRAM_NV = ((int)0x8870);
-        public const int GL_FRAMEBUFFER_COMPLETE_EXT = ((int)0x8CD5);
-        public const int GL_OFFSET_TEXTURE_SCALE_NV = ((int)0x86E2);
-        public const int GL_RGB5_A1_EXT = ((int)0x8057);
-        public const int GL_CURRENT_VERTEX_WEIGHT_EXT = ((int)0x850B);
-        public const int GL_C4UB_V3F = ((int)0x2A23);
-        public const int GL_REG_27_ATI = ((int)0x893C);
-        public const int GL_TRIANGLES = ((int)0x0004);
-        public const int GL_BLUE_MAX_CLAMP_INGR = ((int)0x8566);
-        public const int GL_CUBIC_HP = ((int)0x815F);
-        public const int GL_PROGRAM_PARAMETER_NV = ((int)0x8644);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = ((int)0x8516);
-        public const int GL_DUAL_ALPHA12_SGIS = ((int)0x8112);
-        public const int GL_INDEX_TEST_FUNC_EXT = ((int)0x81B6);
-        public const int GL_EIGHTH_BIT_ATI = ((int)0x00000020);
-        public const int GL_RGB_SCALE_EXT = ((int)0x8573);
-        public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = ((int)0x87CD);
-        public const int GL_TEXTURE_4D_BINDING_SGIS = ((int)0x814F);
-        public const int GL_PROXY_TEXTURE_COLOR_TABLE_SGI = ((int)0x80BD);
-        public const int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = ((int)0x8C29);
-        public const int GL_HISTOGRAM_FORMAT_EXT = ((int)0x8027);
-        public const int GL_LUMINANCE8UI_EXT = ((int)0x8D80);
-        public const int GL_CURRENT_QUERY = ((int)0x8865);
-        public const int GL_VERTEX_ARRAY_POINTER_EXT = ((int)0x808E);
-        public const int GL_R1UI_C4F_N3F_V3F_SUN = ((int)0x85C8);
-        public const int GL_QUAD_LUMINANCE4_SGIS = ((int)0x8120);
-        public const int GL_PIXEL_PACK_BUFFER_BINDING_ARB = ((int)0x88ED);
-        public const int GL_ELEMENT_ARRAY_TYPE_ATI = ((int)0x8769);
-        public const int GL_FOG_COORD_ARRAY_POINTER = ((int)GL_FOG_COORDINATE_ARRAY_POINTER);
-        public const int GL_PRIMARY_COLOR_EXT = ((int)0x8577);
-        public const int GL_CULL_VERTEX_IBM = ((int)103050);
-        public const int GL_OCCLUSION_TEST_RESULT_HP = ((int)0x8166);
-        public const int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = ((int)0x8C2D);
-        public const int GL_CURRENT_MATRIX_INDEX_ARB = ((int)0x8845);
-        public const int GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = ((int)0x8E11);
-        public const int GL_ONE_MINUS_DST_ALPHA = ((int)0x0305);
-        public const int GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = ((int)0x8521);
-        public const int GL_NEGATIVE_X_EXT = ((int)0x87D9);
-        public const int GL_CLIENT_ALL_ATTRIB_BITS = unchecked((int)0xFFFFFFFF);
-        public const int GL_COMBINE_ALPHA = ((int)0x8572);
-        public const int GL_INCR_WRAP = ((int)0x8507);
-        public const int GL_SAMPLER_2D_ARRAY_EXT = ((int)0x8DC1);
-        public const int GL_PIXEL_UNPACK_BUFFER_EXT = ((int)0x88EC);
-        public const int GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = ((int)0x8B8A);
-        public const int GL_SHADER_TYPE = ((int)0x8B4F);
-        public const int GL_VERTEX_ATTRIB_ARRAY_SIZE = ((int)0x8623);
-        public const int GL_MUL_ATI = ((int)0x8964);
-        public const int GL_GREEN_BIT_ATI = ((int)0x00000002);
-        public const int GL_PIXEL_MAP_I_TO_B_SIZE = ((int)0x0CB4);
-        public const int GL_LUMINANCE_ICC_SGIX = ((int)0x8463);
-        public const int GL_REPLACE_MIDDLE_SUN = ((int)0x0002);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = ((int)0x8517);
-        public const int GL_FALSE = ((int)0);
-        public const int GL_OFFSET_TEXTURE_RECTANGLE_NV = ((int)0x864C);
-        public const int GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = ((int)0x80B6);
-        public const int GL_PACK_SKIP_ROWS = ((int)0x0D03);
-        public const int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = ((int)0x889F);
-        public const int GL_BLEND_SRC_RGB_EXT = ((int)0x80C9);
-        public const int GL_PREVIOUS_ARB = ((int)0x8578);
-        public const int GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = ((int)0x80D5);
-        public const int GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = ((int)0x85B0);
-        public const int GL_LUMINANCE_ALPHA_FLOAT16_ATI = ((int)0x881F);
-        public const int GL_MATRIX_INDEX_ARRAY_SIZE_ARB = ((int)0x8846);
-        public const int GL_NUM_LOOPBACK_COMPONENTS_ATI = ((int)0x8974);
-        public const int GL_ALLOW_DRAW_MEM_HINT_PGI = ((int)0x1A211);
-        public const int GL_POST_COLOR_MATRIX_GREEN_SCALE = ((int)0x80B5);
-        public const int GL_TEXTURE_GEN_MODE = ((int)0x2500);
-        public const int GL_CONVOLUTION_FILTER_BIAS_EXT = ((int)0x8015);
-        public const int GL_PIXEL_PACK_BUFFER_BINDING = ((int)0x88ED);
-        public const int GL_RASTERIZER_DISCARD_NV = ((int)0x8C89);
-        public const int GL_COLOR_INDEXES = ((int)0x1603);
-        public const int GL_POST_COLOR_MATRIX_RED_BIAS = ((int)0x80B8);
-        public const int GL_PIXEL_UNPACK_BUFFER = ((int)0x88EC);
-        public const int GL_SAMPLER_2D_RECT_ARB = ((int)0x8B63);
-        public const int GL_LUMINANCE8_ALPHA8 = ((int)0x8045);
-        public const int GL_PIXEL_MAP_I_TO_R = ((int)0x0C72);
-        public const int GL_COLOR_CLEAR_VALUE = ((int)0x0C22);
-        public const int GL_BOOL_VEC2_ARB = ((int)0x8B57);
-        public const int GL_RGB16I_EXT = ((int)0x8D89);
-        public const int GL_LUMINANCE4 = ((int)0x803F);
-        public const int GL_T2F_C4UB_V3F = ((int)0x2A29);
-        public const int GL_SAMPLER_1D = ((int)0x8B5D);
-        public const int GL_INDEX_ARRAY_LIST_IBM = ((int)103073);
-        public const int GL_FRAGMENT_LIGHT2_SGIX = ((int)0x840E);
-        public const int GL_V2F = ((int)0x2A20);
-        public const int GL_LUMINANCE32F_ARB = ((int)0x8818);
-        public const int GL_ACCUM_BUFFER_BIT = ((int)0x00000200);
-        public const int GL_DSDT_MAG_NV = ((int)0x86F6);
-        public const int GL_TEXTURE_BORDER = ((int)0x1005);
-        public const int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = ((int)0x84FF);
-        public const int GL_SPARE1_NV = ((int)0x852F);
-        public const int GL_OP_DOT3_EXT = ((int)0x8784);
-        public const int GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = ((int)0x84F8);
-        public const int GL_RENDERBUFFER_BINDING_EXT = ((int)0x8CA7);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = ((int)0x8CDA);
-        public const int GL_OBJECT_BUFFER_SIZE_ATI = ((int)0x8764);
-        public const int GL_UNSIGNED_SHORT_8_8_REV_MESA = ((int)0x85BB);
-        public const int GL_POLYGON_BIT = ((int)0x00000008);
-        public const int GL_TEXTURE_4D_SGIS = ((int)0x8134);
-        public const int GL_TEXTURE_3D_EXT = ((int)0x806F);
-        public const int GL_TEXTURE_COMPARE_MODE = ((int)0x884C);
-        public const int GL_PN_TRIANGLES_POINT_MODE_ATI = ((int)0x87F2);
-        public const int GL_OP_ADD_EXT = ((int)0x8787);
-        public const int GL_MAX_TEXTURE_COORDS_ARB = ((int)0x8871);
-        public const int GL_TEXTURE_COORD_ARRAY_POINTER = ((int)0x8092);
-        public const int GL_TEXTURE_HEIGHT = ((int)0x1001);
-        public const int GL_TEXTURE_BINDING_RECTANGLE_ARB = ((int)0x84F6);
-        public const int GL_ALPHA4 = ((int)0x803B);
-        public const int GL_NAME_STACK_DEPTH = ((int)0x0D70);
-        public const int GL_STENCIL_BACK_PASS_DEPTH_FAIL = ((int)0x8802);
-        public const int GL_TEXTURE_WRAP_S = ((int)0x2802);
-        public const int GL_DOUBLE = ((int)0x140A);
-        public const int GL_RGB_ICC_SGIX = ((int)0x8460);
-        public const int GL_QUAD_LUMINANCE8_SGIS = ((int)0x8121);
-        public const int GL_TEXTURE_ENV_MODE = ((int)0x2200);
-        public const int GL_MAX_PROGRAM_PARAMETERS_ARB = ((int)0x88A9);
-        public const int GL_DOT3_RGBA = ((int)0x86AF);
-        public const int GL_UNSIGNED_INT_24_8_EXT = ((int)0x84FA);
-        public const int GL_VERTEX_ARRAY_STRIDE_EXT = ((int)0x807C);
-        public const int GL_LUMINANCE12_ALPHA12_EXT = ((int)0x8047);
-        public const int GL_CURRENT_NORMAL = ((int)0x0B02);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = ((int)0x8CDC);
-        public const int GL_TEXTURE30 = ((int)0x84DE);
-        public const int GL_DRAW_BUFFER3_ATI = ((int)0x8828);
-        public const int GL_COLOR_INDEX8_EXT = ((int)0x80E5);
-        public const int GL_SAMPLE_PATTERN_EXT = ((int)0x80AC);
-        public const int GL_DU8DV8_ATI = ((int)0x877A);
-        public const int GL_UNSIGNED_INT_S8_S8_8_8_NV = ((int)0x86DA);
-        public const int GL_C4UB_V2F = ((int)0x2A22);
-        public const int GL_COMPARE_R_TO_TEXTURE_ARB = ((int)0x884E);
-        public const int GL_VERTEX_SHADER_INVARIANTS_EXT = ((int)0x87D1);
-        public const int GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = ((int)0x8622);
-        public const int GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F6);
-        public const int GL_CLAMP_TO_EDGE = ((int)0x812F);
-        public const int GL_POLYGON_SMOOTH = ((int)0x0B41);
-        public const int GL_EYE_PLANE = ((int)0x2502);
-        public const int GL_IMAGE_TRANSLATE_X_HP = ((int)0x8157);
-        public const int GL_DYNAMIC_COPY = ((int)0x88EA);
-        public const int GL_MIN_PROGRAM_TEXEL_OFFSET_NV = ((int)0x8904);
-        public const int GL_MAX_NAME_STACK_DEPTH = ((int)0x0D37);
-        public const int GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = ((int)0x85C1);
-        public const int GL_TEXTURE_HI_SIZE_NV = ((int)0x871B);
-        public const int GL_SWIZZLE_STQ_DQ_ATI = ((int)0x8979);
-        public const int GL_SPOT_DIRECTION = ((int)0x1204);
-        public const int GL_TEXTURE_DS_SIZE_NV = ((int)0x871D);
-        public const int GL_REFLECTION_MAP_EXT = ((int)0x8512);
-        public const int GL_CON_7_ATI = ((int)0x8948);
-        public const int GL_OBJECT_TYPE_ARB = ((int)0x8B4E);
-        public const int GL_DITHER = ((int)0x0BD0);
-        public const int GL_VERTEX_PROGRAM_NV = ((int)0x8620);
-        public const int GL_MAP1_VERTEX_ATTRIB11_4_NV = ((int)0x866B);
-        public const int GL_FLOAT_R_NV = ((int)0x8880);
-        public const int GL_PRIMITIVES_GENERATED_NV = ((int)0x8C87);
-        public const int GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = ((int)0x8C7E);
-        public const int GL_RGB32UI_EXT = ((int)0x8D71);
-        public const int GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = ((int)0x8408);
-        public const int GL_SIGNED_ALPHA8_NV = ((int)0x8706);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = ((int)0x8CD4);
-        public const int GL_BGR_EXT = ((int)0x80E0);
-        public const int GL_MAP1_VERTEX_ATTRIB3_4_NV = ((int)0x8663);
-        public const int GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = ((int)0x8645);
-        public const int GL_FORMAT_SUBSAMPLE_24_24_OML = ((int)0x8982);
-        public const int GL_RENDERBUFFER_BLUE_SIZE_EXT = ((int)0x8D52);
-        public const int GL_DRAW_BUFFER0_ATI = ((int)0x8825);
-        public const int GL_DETAIL_TEXTURE_2D_SGIS = ((int)0x8095);
-        public const int GL_SHADE_MODEL = ((int)0x0B54);
-        public const int GL_MAX_PIXEL_MAP_TABLE = ((int)0x0D34);
-        public const int GL_NORMAL_BIT_PGI = ((int)0x08000000);
-        public const int GL_OPERAND2_RGB_EXT = ((int)0x8592);
-        public const int GL_STREAM_READ = ((int)0x88E1);
-        public const int GL_PROXY_TEXTURE_1D = ((int)0x8063);
-        public const int GL_DST_ALPHA = ((int)0x0304);
-        public const int GL_COLOR_ALPHA_PAIRING_ATI = ((int)0x8975);
-        public const int GL_BLUE_SCALE = ((int)0x0D1A);
-        public const int GL_LUMINANCE_INTEGER_EXT = ((int)0x8D9C);
-        public const int GL_SWIZZLE_STRQ_DQ_ATI = ((int)0x897B);
-        public const int GL_COMPRESSED_RGB_S3TC_DXT1_EXT = ((int)0x83F0);
-        public const int GL_POINT_SIZE_MAX_SGIS = ((int)0x8127);
-        public const int GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = ((int)0x8365);
-        public const int GL_ACTIVE_TEXTURE = ((int)0x84E0);
-        public const int GL_MAX_GENERAL_COMBINERS_NV = ((int)0x854D);
-        public const int GL_DISTANCE_ATTENUATION_EXT = ((int)0x8129);
-        public const int GL_MAX_TEXTURE_UNITS_ARB = ((int)0x84E2);
-        public const int GL_MAX_TEXTURE_IMAGE_UNITS_ARB = ((int)0x8872);
-        public const int GL_LINES = ((int)0x0001);
-        public const int GL_PIXEL_MAP_I_TO_I = ((int)0x0C70);
-        public const int GL_R1UI_V3F_SUN = ((int)0x85C4);
-        public const int GL_CON_5_ATI = ((int)0x8946);
-        public const int GL_MAP2_GRID_DOMAIN = ((int)0x0DD2);
-        public const int GL_PROXY_COLOR_TABLE = ((int)0x80D3);
-        public const int GL_TEXTURE_1D_BINDING_EXT = ((int)0x8068);
-        public const int GL_ELEMENT_ARRAY_POINTER_APPLE = ((int)0x876A);
-        public const int GL_PIXEL_TILE_HEIGHT_SGIX = ((int)0x8141);
-        public const int GL_DISCARD_NV = ((int)0x8530);
-        public const int GL_OUTPUT_VERTEX_EXT = ((int)0x879A);
-        public const int GL_TRANSPOSE_COLOR_MATRIX = ((int)0x84E6);
-        public const int GL_SCISSOR_BIT = ((int)0x00080000);
-        public const int GL_FOG_HINT = ((int)0x0C54);
-        public const int GL_STRICT_SCISSOR_HINT_PGI = ((int)0x1A218);
-        public const int GL_COLOR_TABLE_INTENSITY_SIZE = ((int)0x80DF);
-        public const int GL_T2F_C4F_N3F_V3F = ((int)0x2A2C);
-        public const int GL_DRAW_BUFFER9_ARB = ((int)0x882E);
-        public const int GL_SCALAR_EXT = ((int)0x87BE);
-        public const int GL_NUM_INSTRUCTIONS_TOTAL_ATI = ((int)0x8972);
-        public const int GL_TEXTURE27 = ((int)0x84DB);
-        public const int GL_VERTEX_ARRAY_COUNT_EXT = ((int)0x807D);
-        public const int GL_OPERAND3_RGB_NV = ((int)0x8593);
-        public const int GL_NORMAL_ARRAY_LIST_IBM = ((int)103071);
-        public const int GL_TEXTURE23 = ((int)0x84D7);
-        public const int GL_EDGEFLAG_BIT_PGI = ((int)0x00040000);
-        public const int GL_QUERY_COUNTER_BITS_ARB = ((int)0x8864);
-        public const int GL_LOCAL_CONSTANT_VALUE_EXT = ((int)0x87EC);
-        public const int GL_OP_MIN_EXT = ((int)0x878B);
-        public const int GL_SOURCE3_RGB_NV = ((int)0x8583);
-        public const int GL_CON_0_ATI = ((int)0x8941);
-        public const int GL_WEIGHT_ARRAY_ARB = ((int)0x86AD);
-        public const int GL_BOOL_VEC4 = ((int)0x8B59);
-        public const int GL_MAX_TEXTURE_SIZE = ((int)0x0D33);
-        public const int GL_EVAL_VERTEX_ATTRIB8_NV = ((int)0x86CE);
-        public const int GL_BOOL_VEC3 = ((int)0x8B58);
-        public const int GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = ((int)0x8B88);
-        public const int GL_INT_SAMPLER_2D_RECT_EXT = ((int)0x8DCD);
-        public const int GL_SPRITE_AXIS_SGIX = ((int)0x814A);
-        public const int GL_OP_MOV_EXT = ((int)0x8799);
-        public const int GL_RGBA_ICC_SGIX = ((int)0x8461);
-        public const int GL_QUERY_RESULT_AVAILABLE_ARB = ((int)0x8867);
-        public const int GL_LUMINANCE12_EXT = ((int)0x8041);
-        public const int GL_DRAW_BUFFER = ((int)0x0C01);
-        public const int GL_EMBOSS_MAP_NV = ((int)0x855F);
-        public const int GL_ADD_ATI = ((int)0x8963);
-        public const int GL_IMAGE_SCALE_Y_HP = ((int)0x8156);
-        public const int GL_IMAGE_SCALE_X_HP = ((int)0x8155);
-        public const int GL_EVAL_VERTEX_ATTRIB12_NV = ((int)0x86D2);
-        public const int GL_BGR_INTEGER_EXT = ((int)0x8D9A);
-        public const int GL_COLOR_ATTACHMENT5_EXT = ((int)0x8CE5);
-        public const int GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = ((int)0x880D);
-        public const int GL_ALPHA8_EXT = ((int)0x803C);
-        public const int GL_NEAREST = ((int)0x2600);
-        public const int GL_PROGRAM_FORMAT_ARB = ((int)0x8876);
-        public const int GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = ((int)0x88A2);
-        public const int GL_DEPTH_FUNC = ((int)0x0B74);
-        public const int GL_DOT_PRODUCT_TEXTURE_3D_NV = ((int)0x86EF);
-        public const int GL_NORMAL_ARRAY_POINTER_EXT = ((int)0x808F);
-        public const int GL_REG_12_ATI = ((int)0x892D);
-        public const int GL_NORMALIZE = ((int)0x0BA1);
-        public const int GL_FOG_COORDINATE = ((int)0x8451);
-        public const int GL_SLICE_ACCUM_SUN = ((int)0x85CC);
-        public const int GL_TEXTURE_MAX_LEVEL_SGIS = ((int)0x813D);
-        public const int GL_COLOR_TABLE_WIDTH = ((int)0x80D9);
-        public const int GL_FOG_MODE = ((int)0x0B65);
-        public const int GL_EVAL_BIT = ((int)0x00010000);
-        public const int GL_RGBA32F_ARB = ((int)0x8814);
-        public const int GL_3_BYTES = ((int)0x1408);
-        public const int GL_POST_CONVOLUTION_RED_BIAS_EXT = ((int)0x8020);
-        public const int GL_ATTRIB_STACK_DEPTH = ((int)0x0BB0);
-        public const int GL_TEXTURE_BINDING_CUBE_MAP_ARB = ((int)0x8514);
-        public const int GL_CON_6_ATI = ((int)0x8947);
-        public const int GL_TEXTURE_LIGHTING_MODE_HP = ((int)0x8167);
-        public const int GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = ((int)0x8C3B);
-        public const int GL_QUADRATIC_ATTENUATION = ((int)0x1209);
-        public const int GL_ADD_SIGNED_EXT = ((int)0x8574);
-        public const int GL_LUMINANCE16_ALPHA8_ICC_SGIX = ((int)0x846B);
-        public const int GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = ((int)0x885A);
-        public const int GL_4PASS_1_SGIS = ((int)0x80A5);
-        public const int GL_GREATER = ((int)0x0204);
-        public const int GL_MAX = ((int)0x8008);
-        public const int GL_OP_MAX_EXT = ((int)0x878A);
-        public const int GL_RENDERER = ((int)0x1F01);
-        public const int GL_VERTEX_ARRAY_TYPE = ((int)0x807B);
-        public const int GL_MULTISAMPLE_BIT_EXT = ((int)0x20000000);
-        public const int GL_FLOAT_RGB_NV = ((int)0x8882);
-        public const int GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = ((int)0x88A3);
-        public const int GL_TEXTURE_BORDER_VALUES_NV = ((int)0x871A);
-        public const int GL_INDEX_TEST_REF_EXT = ((int)0x81B7);
-        public const int GL_CON_1_ATI = ((int)0x8942);
-        public const int GL_MAP2_VERTEX_ATTRIB4_4_NV = ((int)0x8674);
-        public const int GL_VERTEX_STREAM4_ATI = ((int)0x8770);
-        public const int GL_POINT_SMOOTH = ((int)0x0B10);
-        public const int GL_PRIMARY_COLOR_NV = ((int)0x852C);
-        public const int GL_SUBPIXEL_BITS = ((int)0x0D50);
-        public const int GL_REPLACE = ((int)0x1E01);
-        public const int GL_CONSTANT_COLOR = ((int)0x8001);
-        public const int GL_LINEAR_CLIPMAP_NEAREST_SGIX = ((int)0x844F);
-        public const int GL_EDGE_FLAG_ARRAY_COUNT_EXT = ((int)0x808D);
-        public const int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = ((int)0x86A2);
-        public const int GL_VERTEX_ARRAY_SIZE = ((int)0x807A);
-        public const int GL_BUFFER_ACCESS = ((int)0x88BB);
-        public const int GL_EVAL_VERTEX_ATTRIB11_NV = ((int)0x86D1);
-        public const int GL_BLUE = ((int)0x1905);
-        public const int GL_INDEX_ARRAY_BUFFER_BINDING_ARB = ((int)0x8899);
-        public const int GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = ((int)0x80D2);
-        public const int GL_BACK_SECONDARY_COLOR_NV = ((int)0x8C78);
-        public const int GL_CURRENT_ATTRIB_NV = ((int)0x8626);
-        public const int GL_PROXY_TEXTURE_4D_SGIS = ((int)0x8135);
-        public const int GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = ((int)0x80DE);
-        public const int GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = ((int)0x8174);
-        public const int GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = ((int)0x8850);
-        public const int GL_OR_INVERTED = ((int)0x150D);
-        public const int GL_MATRIX17_ARB = ((int)0x88D1);
-        public const int GL_MAX_TEXTURE_LOD_BIAS_EXT = ((int)0x84FD);
-        public const int GL_PROXY_TEXTURE_CUBE_MAP_EXT = ((int)0x851B);
-        public const int GL_MAP1_VERTEX_ATTRIB1_4_NV = ((int)0x8661);
-        public const int GL_VERTEX_PROGRAM_TWO_SIDE_NV = ((int)0x8643);
-        public const int GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = ((int)0x8DBE);
-        public const int GL_UNSIGNED_INT_8_8_8_8_REV = ((int)0x8367);
-        public const int GL_INVARIANT_EXT = ((int)0x87C2);
-        public const int GL_MAX_CLIPMAP_DEPTH_SGIX = ((int)0x8177);
-        public const int GL_CURRENT_FOG_COORDINATE_EXT = ((int)0x8453);
-        public const int GL_COLOR_ATTACHMENT1_EXT = ((int)0x8CE1);
-        public const int GL_LUMINANCE6_ALPHA2_EXT = ((int)0x8044);
-        public const int GL_OR_REVERSE = ((int)0x150B);
-        public const int GL_COLOR_INDEX2_EXT = ((int)0x80E3);
-        public const int GL_MIN = ((int)0x8007);
-        public const int GL_PIXEL_SUBSAMPLE_2424_SGIX = ((int)0x85A3);
-        public const int GL_CONVOLUTION_BORDER_COLOR_HP = ((int)0x8154);
-        public const int GL_ALPHA16 = ((int)0x803E);
-        public const int GL_BLUE_BIAS = ((int)0x0D1B);
-        public const int GL_TEXTURE_COORD_ARRAY = ((int)0x8078);
-        public const int GL_MATRIX20_ARB = ((int)0x88D4);
-        public const int GL_SEPARATE_SPECULAR_COLOR_EXT = ((int)0x81FA);
-        public const int GL_MAP2_BINORMAL_EXT = ((int)0x8447);
-        public const int GL_PROJECTION = ((int)0x1701);
-        public const int GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = ((int)0x8623);
-        public const int GL_SHADOW_ATTENUATION_EXT = ((int)0x834E);
-        public const int GL_COLOR_TABLE_ALPHA_SIZE = ((int)0x80DD);
-        public const int GL_FRAGMENT_LIGHT1_SGIX = ((int)0x840D);
-        public const int GL_COMPRESSED_RGB_ARB = ((int)0x84ED);
-        public const int GL_HISTOGRAM = ((int)0x8024);
-        public const int GL_VARIABLE_B_NV = ((int)0x8524);
-        public const int GL_ALPHA8 = ((int)0x803C);
-        public const int GL_NEAREST_CLIPMAP_NEAREST_SGIX = ((int)0x844D);
-        public const int GL_TEXTURE_INTENSITY_SIZE_EXT = ((int)0x8061);
-        public const int GL_COLOR_ATTACHMENT6_EXT = ((int)0x8CE6);
-        public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = ((int)0x87CA);
-        public const int GL_BOOL_VEC2 = ((int)0x8B57);
-        public const int GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = ((int)0x8C4C);
-        public const int GL_DEPTH_COMPONENT16_ARB = ((int)0x81A5);
-        public const int GL_OPERAND1_RGB_ARB = ((int)0x8591);
-        public const int GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = ((int)0x8DE2);
-        public const int GL_TEXTURE_LO_SIZE_NV = ((int)0x871C);
-        public const int GL_COLOR_TABLE_GREEN_SIZE_SGI = ((int)0x80DB);
-        public const int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = ((int)0x8856);
-        public const int GL_CONVOLUTION_WIDTH = ((int)0x8018);
-        public const int GL_OUTPUT_TEXTURE_COORD21_EXT = ((int)0x87B2);
-        public const int GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = ((int)103084);
-        public const int GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = ((int)0x80BA);
-        public const int GL_DOT_PRODUCT_TEXTURE_2D_NV = ((int)0x86EE);
-        public const int GL_DOT3_RGB = ((int)0x86AE);
-        public const int GL_COLOR_ATTACHMENT7_EXT = ((int)0x8CE7);
-        public const int GL_REG_22_ATI = ((int)0x8937);
-        public const int GL_VERTEX_ATTRIB_ARRAY4_NV = ((int)0x8654);
-        public const int GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = ((int)0x8851);
-        public const int GL_POST_CONVOLUTION_COLOR_TABLE = ((int)0x80D1);
-        public const int GL_INDEX_ARRAY_STRIDE = ((int)0x8086);
-        public const int GL_LUMINANCE12_ALPHA4 = ((int)0x8046);
-        public const int GL_STENCIL_WRITEMASK = ((int)0x0B98);
-        public const int GL_OP_CLAMP_EXT = ((int)0x878E);
-        public const int GL_SUB_ATI = ((int)0x8965);
-        public const int GL_FOG_COLOR = ((int)0x0B66);
-        public const int GL_BACK_RIGHT = ((int)0x0403);
-        public const int GL_LIST_PRIORITY_SGIX = ((int)0x8182);
-        public const int GL_TEXTURE_MAG_FILTER = ((int)0x2800);
-        public const int GL_PIXEL_MAP_I_TO_A_SIZE = ((int)0x0CB5);
-        public const int GL_MAX_CONVOLUTION_HEIGHT_EXT = ((int)0x801B);
-        public const int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = ((int)0x8DDF);
-        public const int GL_OUTPUT_TEXTURE_COORD11_EXT = ((int)0x87A8);
-        public const int GL_PROGRAM_OBJECT_ARB = ((int)0x8B40);
-        public const int GL_CLAMP_READ_COLOR_ARB = ((int)0x891C);
-        public const int GL_MAX_PROGRAM_ATTRIBS_ARB = ((int)0x88AD);
-        public const int GL_R1UI_T2F_N3F_V3F_SUN = ((int)0x85CA);
-        public const int GL_2X_BIT_ATI = ((int)0x00000001);
-        public const int GL_TRIANGLE_STRIP = ((int)0x0005);
-        public const int GL_DUAL_LUMINANCE8_SGIS = ((int)0x8115);
-        public const int GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = ((int)0x818A);
-        public const int GL_POLYGON_OFFSET_EXT = ((int)0x8037);
-        public const int GL_CONVOLUTION_HEIGHT = ((int)0x8019);
-        public const int GL_ONE = ((int)1);
-        public const int GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = ((int)0x817B);
-        public const int GL_PACK_SKIP_VOLUMES_SGIS = ((int)0x8130);
-        public const int GL_VERTEX_SHADER_LOCALS_EXT = ((int)0x87D3);
-        public const int GL_MAX_CONVOLUTION_WIDTH_EXT = ((int)0x801A);
-        public const int GL_INVARIANT_DATATYPE_EXT = ((int)0x87EB);
-        public const int GL_STENCIL_BACK_VALUE_MASK = ((int)0x8CA4);
-        public const int GL_TEXTURE_DEPTH = ((int)0x8071);
-        public const int GL_BOOL_ARB = ((int)0x8B56);
-        public const int GL_PIXEL_PACK_BUFFER = ((int)0x88EB);
-        public const int GL_SMOOTH = ((int)0x1D01);
-        public const int GL_WEIGHT_ARRAY_POINTER_ARB = ((int)0x86AC);
-        public const int GL_SCISSOR_BOX = ((int)0x0C10);
-        public const int GL_GREEN_INTEGER_EXT = ((int)0x8D95);
-        public const int GL_RESAMPLE_DECIMATE_OML = ((int)0x8989);
-        public const int GL_TEXTURE_GEN_S = ((int)0x0C60);
-        public const int GL_TEXTURE_GEN_R = ((int)0x0C62);
-        public const int GL_TEXTURE_GEN_Q = ((int)0x0C63);
-        public const int GL_UNSIGNED_INT_10_10_10_2 = ((int)0x8036);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = ((int)0x8DA8);
-        public const int GL_TEXTURE_GEN_T = ((int)0x0C61);
-        public const int GL_COLOR_INDEX1_EXT = ((int)0x80E2);
-        public const int GL_EMBOSS_LIGHT_NV = ((int)0x855D);
-        public const int GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = ((int)0x87F4);
-        public const int GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = ((int)0x889C);
-        public const int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = ((int)0x8B8A);
-        public const int GL_DEPTH_COMPONENT32_SGIX = ((int)0x81A7);
-        public const int GL_RGBA32I_EXT = ((int)0x8D82);
-        public const int GL_CULL_VERTEX_EYE_POSITION_EXT = ((int)0x81AB);
-        public const int GL_FLOAT_VEC2_ARB = ((int)0x8B50);
-        public const int GL_RGB_FLOAT16_ATI = ((int)0x881B);
-        public const int GL_V3F = ((int)0x2A21);
-        public const int GL_FOG_COORDINATE_ARRAY_TYPE = ((int)0x8454);
-        public const int GL_RED_BITS = ((int)0x0D52);
-        public const int GL_POINT_SPRITE_R_MODE_NV = ((int)0x8863);
-        public const int GL_NORMALIZED_RANGE_EXT = ((int)0x87E0);
-        public const int GL_READ_WRITE_ARB = ((int)0x88BA);
-        public const int GL_REGISTER_COMBINERS_NV = ((int)0x8522);
-        public const int GL_RESTART_SUN = ((int)0x0001);
-        public const int GL_COLOR_ATTACHMENT2_EXT = ((int)0x8CE2);
-        public const int GL_STENCIL_INDEX16_EXT = ((int)0x8D49);
-        public const int GL_R = ((int)0x2002);
-        public const int GL_REG_15_ATI = ((int)0x8930);
-        public const int GL_OUTPUT_TEXTURE_COORD14_EXT = ((int)0x87AB);
-        public const int GL_PROGRAM_RESULT_COMPONENTS_NV = ((int)0x8907);
-        public const int GL_TEXTURE_2D_STACK_BINDING_MESAX = ((int)0x875E);
-        public const int GL_PROXY_TEXTURE_1D_ARRAY_EXT = ((int)0x8C19);
-        public const int GL_VERTEX_BLEND_ARB = ((int)0x86A7);
-        public const int GL_OUTPUT_TEXTURE_COORD29_EXT = ((int)0x87BA);
-        public const int GL_LIST_BIT = ((int)0x00020000);
-        public const int GL_VERTEX_ARRAY_LIST_STRIDE_IBM = ((int)103080);
-        public const int GL_BLEND_DST_ALPHA = ((int)0x80CA);
-        public const int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = ((int)0x889A);
-        public const int GL_CON_28_ATI = ((int)0x895D);
-        public const int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = ((int)0x886A);
-        public const int GL_COMBINE_ARB = ((int)0x8570);
-        public const int GL_FRONT_FACE = ((int)0x0B46);
-        public const int GL_TEXTURE_COMPRESSION_HINT = ((int)0x84EF);
-        public const int GL_INDEX_OFFSET = ((int)0x0D13);
-        public const int GL_CON_17_ATI = ((int)0x8952);
-        public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = ((int)0x87CB);
-        public const int GL_DRAW_BUFFER7_ATI = ((int)0x882C);
-        public const int GL_BGRA = ((int)0x80E1);
-        public const int GL_TEXTURE_ALPHA_TYPE_ARB = ((int)0x8C13);
-        public const int GL_INDEX_CLEAR_VALUE = ((int)0x0C20);
-        public const int GL_TEXTURE_FILTER_CONTROL = ((int)0x8500);
-        public const int GL_VERTEX_PROGRAM_POINT_SIZE = ((int)0x8642);
-        public const int GL_VERTEX_SHADER_VARIANTS_EXT = ((int)0x87D0);
-        public const int GL_LINEAR_DETAIL_ALPHA_SGIS = ((int)0x8098);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = ((int)0x8CD6);
-        public const int GL_OUTPUT_TEXTURE_COORD19_EXT = ((int)0x87B0);
-        public const int GL_RENDER_MODE = ((int)0x0C40);
-        public const int GL_FEEDBACK = ((int)0x1C01);
-        public const int GL_OPERAND0_ALPHA_ARB = ((int)0x8598);
-        public const int GL_HISTOGRAM_GREEN_SIZE = ((int)0x8029);
-        public const int GL_PACK_SUBSAMPLE_RATE_SGIX = ((int)0x85A0);
-        public const int GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = ((int)0x87F8);
-        public const int GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = ((int)0x8188);
-        public const int GL_SRC1_RGB = ((int)GL_SOURCE1_RGB);
-        public const int GL_SCALEBIAS_HINT_SGIX = ((int)0x8322);
-        public const int GL_QUAD_TEXTURE_SELECT_SGIS = ((int)0x8125);
-        public const int GL_MAX_TEXTURE_COORDS_NV = ((int)0x8871);
-        public const int GL_TEXTURE_COORD_ARRAY_TYPE = ((int)0x8089);
-        public const int GL_VERTEX_STREAM7_ATI = ((int)0x8773);
-        public const int GL_PIXEL_MAP_I_TO_R_SIZE = ((int)0x0CB2);
-        public const int GL_QUAD_STRIP = ((int)0x0008);
-        public const int GL_NORMAL_ARRAY_POINTER = ((int)0x808F);
-        public const int GL_MAX_COLOR_MATRIX_STACK_DEPTH = ((int)0x80B3);
-        public const int GL_HISTOGRAM_SINK_EXT = ((int)0x802D);
-        public const int GL_SHORT = ((int)0x1402);
-        public const int GL_ATTENUATION_EXT = ((int)0x834D);
-        public const int GL_TEXTURE_BUFFER_FORMAT_EXT = ((int)0x8C2E);
-        public const int GL_SEPARABLE_2D_EXT = ((int)0x8012);
-        public const int GL_SECONDARY_COLOR_ARRAY = ((int)0x845E);
-        public const int GL_DISCARD_ATI = ((int)0x8763);
-        public const int GL_GEOMETRY_OUTPUT_TYPE_EXT = ((int)0x8DDC);
-        public const int GL_3D_COLOR = ((int)0x0602);
-        public const int GL_VERTEX_STREAM3_ATI = ((int)0x876F);
-        public const int GL_COLOR_ATTACHMENT8_EXT = ((int)0x8CE8);
-        public const int GL_FLOAT_VEC2 = ((int)0x8B50);
-        public const int GL_MAP2_GRID_SEGMENTS = ((int)0x0DD3);
-        public const int GL_CALLIGRAPHIC_FRAGMENT_SGIX = ((int)0x8183);
-        public const int GL_TEXTURE_MAX_CLAMP_T_SGIX = ((int)0x836A);
-        public const int GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = ((int)0x8868);
-        public const int GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = ((int)0x840A);
-        public const int GL_MAT_AMBIENT_BIT_PGI = ((int)0x00100000);
-        public const int GL_FLOAT_RGBA32_NV = ((int)0x888B);
-        public const int GL_IMAGE_ROTATE_ANGLE_HP = ((int)0x8159);
-        public const int GL_MULTISAMPLE_COVERAGE_MODES_NV = ((int)0x8E12);
-        public const int GL_CURRENT_TEXTURE_COORDS = ((int)0x0B03);
-        public const int GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = ((int)0x862E);
-        public const int GL_DISTANCE_ATTENUATION_SGIS = ((int)0x8129);
-        public const int GL_MULTISAMPLE_BIT_3DFX = ((int)0x20000000);
-        public const int GL_COMBINER_SCALE_NV = ((int)0x8548);
-        public const int GL_SAMPLER_BUFFER_EXT = ((int)0x8DC2);
-        public const int GL_AND_REVERSE = ((int)0x1502);
-        public const int GL_ACTIVE_VARYINGS_NV = ((int)0x8C81);
-        public const int GL_UNSIGNED_SHORT_8_8_REV_APPLE = ((int)0x85BB);
-        public const int GL_TRIANGLES_ADJACENCY_EXT = ((int)0x000C);
-        public const int GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = ((int)0x8C72);
-        public const int GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = ((int)0x86F0);
-        public const int GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = ((int)0x8338);
-        public const int GL_SAMPLE_ALPHA_TO_COVERAGE = ((int)0x809E);
-        public const int GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = ((int)0x8DA2);
-        public const int GL_LIGHTING = ((int)0x0B50);
-        public const int GL_RGB_INTEGER_EXT = ((int)0x8D98);
-        public const int GL_VERTEX_ATTRIB_ARRAY1_NV = ((int)0x8651);
-        public const int GL_FENCE_APPLE = ((int)0x8A0B);
-        public const int GL_LUMINANCE32I_EXT = ((int)0x8D86);
-        public const int GL_REG_0_ATI = ((int)0x8921);
-        public const int GL_COMPRESSED_INTENSITY_ARB = ((int)0x84EC);
-        public const int GL_ONE_MINUS_CONSTANT_ALPHA = ((int)0x8004);
-        public const int GL_SAMPLE_MASK_INVERT_SGIS = ((int)0x80AB);
-        public const int GL_TEXTURE_COORD_ARRAY_LIST_IBM = ((int)103074);
-        public const int GL_VERTEX_DATA_HINT_PGI = ((int)0x1A22A);
-        public const int GL_GEOMETRY_PROGRAM_NV = ((int)0x8C26);
-        public const int GL_RGB4_S3TC = ((int)0x83A1);
-        public const int GL_MAX_PROGRAM_IF_DEPTH_NV = ((int)0x88F6);
-        public const int GL_REG_25_ATI = ((int)0x893A);
-        public const int GL_TEXTURE_TOO_LARGE_EXT = ((int)0x8065);
-        public const int GL_QUERY_COUNTER_BITS = ((int)0x8864);
-        public const int GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F7);
-        public const int GL_INVALID_OPERATION = ((int)0x0502);
-        public const int GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = ((int)0x80B3);
-        public const int GL_TEXTURE27_ARB = ((int)0x84DB);
-        public const int GL_UNSIGNED_INT_VEC4_EXT = ((int)0x8DC8);
-        public const int GL_PROGRAM_ATTRIBS_ARB = ((int)0x88AC);
-        public const int GL_STREAM_COPY = ((int)0x88E2);
-        public const int GL_RGB = ((int)0x1907);
-        public const int GL_INTENSITY16UI_EXT = ((int)0x8D79);
-        public const int GL_RENDER = ((int)0x1C00);
-        public const int GL_MAP1_VERTEX_ATTRIB10_4_NV = ((int)0x866A);
-        public const int GL_CLIENT_ACTIVE_TEXTURE = ((int)0x84E1);
-        public const int GL_MAP_STENCIL = ((int)0x0D11);
-        public const int GL_TEXTURE_CLIPMAP_DEPTH_SGIX = ((int)0x8176);
-        public const int GL_SOURCE0_ALPHA_EXT = ((int)0x8588);
-        public const int GL_RGBA_FLOAT16_ATI = ((int)0x881A);
-        public const int GL_POST_COLOR_MATRIX_GREEN_BIAS = ((int)0x80B9);
-        public const int GL_TWO = ((int)2);
-        public const int GL_DEPTH_COMPONENT32_ARB = ((int)0x81A7);
-        public const int GL_CULL_FRAGMENT_NV = ((int)0x86E7);
-        public const int GL_NORMAL_MAP_EXT = ((int)0x8511);
-        public const int GL_MAP1_INDEX = ((int)0x0D91);
-        public const int GL_DUAL_INTENSITY16_SGIS = ((int)0x811B);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = ((int)0x8515);
-        public const int GL_R1UI_C3F_V3F_SUN = ((int)0x85C6);
-        public const int GL_TEXTURE_4DSIZE_SGIS = ((int)0x8136);
-        public const int GL_UNSIGNED_BYTE_2_3_3_REV_EXT = ((int)0x8362);
-        public const int GL_TEXTURE26_ARB = ((int)0x84DA);
-        public const int GL_MODELVIEW1_ARB = ((int)0x850A);
-        public const int GL_EDGE_FLAG_ARRAY_STRIDE = ((int)0x808C);
-        public const int GL_Q = ((int)0x2003);
-        public const int GL_LUMINANCE16_ICC_SGIX = ((int)0x8469);
-        public const int GL_S = ((int)0x2000);
-        public const int GL_T = ((int)0x2001);
-        public const int GL_MAX_VARYING_FLOATS = ((int)0x8B4B);
-        public const int GL_COLOR_TABLE_ALPHA_SIZE_SGI = ((int)0x80DD);
-        public const int GL_BLEND_SRC_ALPHA_EXT = ((int)0x80CB);
-        public const int GL_CURRENT_MATRIX_STACK_DEPTH_ARB = ((int)0x8640);
-        public const int GL_NEAREST_CLIPMAP_LINEAR_SGIX = ((int)0x844E);
-        public const int GL_DUAL_ALPHA16_SGIS = ((int)0x8113);
-        public const int GL_SHADOW_AMBIENT_SGIX = ((int)0x80BF);
-        public const int GL_FLOAT_RGBA16_NV = ((int)0x888A);
-        public const int GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = ((int)0x80B9);
-        public const int GL_UNSIGNED_SHORT_5_5_5_1_EXT = ((int)0x8034);
-        public const int GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = ((int)0x84E3);
-        public const int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = ((int)0x889A);
-        public const int GL_POLYGON_SMOOTH_HINT = ((int)0x0C53);
-        public const int GL_TEXTURE25_ARB = ((int)0x84D9);
-        public const int GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = ((int)0x880F);
-        public const int GL_SLUMINANCE8 = ((int)0x8C47);
-        public const int GL_MODELVIEW29_ARB = ((int)0x873D);
-        public const int GL_ZERO = ((int)0);
-        public const int GL_REG_7_ATI = ((int)0x8928);
-        public const int GL_COMP_BIT_ATI = ((int)0x00000002);
-        public const int GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = ((int)0x88EF);
-        public const int GL_SAMPLER_1D_SHADOW_ARB = ((int)0x8B61);
-        public const int GL_COLOR_ATTACHMENT9_EXT = ((int)0x8CE9);
-        public const int GL_MAP2_TANGENT_EXT = ((int)0x8445);
-        public const int GL_NONE = ((int)0);
-        public const int GL_UNPACK_LSB_FIRST = ((int)0x0CF1);
-        public const int GL_COMPRESSED_SRGB_ALPHA = ((int)0x8C49);
-        public const int GL_SAMPLER_3D_ARB = ((int)0x8B5F);
-        public const int GL_MATRIX_EXT = ((int)0x87C0);
-        public const int GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = ((int)0x86F1);
-        public const int GL_PROGRAM_FORMAT_ASCII_ARB = ((int)0x8875);
-        public const int GL_UNSIGNED_SHORT = ((int)0x1403);
-        public const int GL_COLOR_MATRIX_STACK_DEPTH_SGI = ((int)0x80B2);
-        public const int GL_TEXTURE24_ARB = ((int)0x84D8);
-        public const int GL_CON_3_ATI = ((int)0x8944);
-        public const int GL_FUNC_ADD = ((int)0x8006);
-        public const int GL_POLYGON_OFFSET_UNITS = ((int)0x2A00);
-        public const int GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = ((int)0x87CC);
-        public const int GL_MINMAX_SINK = ((int)0x8030);
-        public const int GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = ((int)0x8897);
-        public const int GL_WIDE_LINE_HINT_PGI = ((int)0x1A222);
-        public const int GL_ELEMENT_ARRAY_APPLE = ((int)0x8768);
-        public const int GL_REG_10_ATI = ((int)0x892B);
-        public const int GL_TEXTURE_DEPTH_SIZE = ((int)0x884A);
-        public const int GL_DRAW_BUFFER4_ATI = ((int)0x8829);
-        public const int GL_BIAS_BIT_ATI = ((int)0x00000008);
-        public const int GL_VERTEX_PROGRAM_BINDING_NV = ((int)0x864A);
-        public const int GL_MODELVIEW8_ARB = ((int)0x8728);
-        public const int GL_CON_31_ATI = ((int)0x8960);
-        public const int GL_SAMPLER_2D_ARB = ((int)0x8B5E);
-        public const int GL_STENCIL_BACK_REF = ((int)0x8CA3);
-        public const int GL_MINMAX_FORMAT_EXT = ((int)0x802F);
-        public const int GL_DEPTH_COMPONENT24 = ((int)0x81A6);
-        public const int GL_COLOR_TABLE_SCALE_SGI = ((int)0x80D6);
-        public const int GL_4PASS_2_SGIS = ((int)0x80A6);
-        public const int GL_MAP1_VERTEX_ATTRIB12_4_NV = ((int)0x866C);
-        public const int GL_DUAL_LUMINANCE_ALPHA8_SGIS = ((int)0x811D);
-        public const int GL_MAX_CLIP_PLANES = ((int)0x0D32);
-        public const int GL_TEXTURE23_ARB = ((int)0x84D7);
-        public const int GL_RESAMPLE_AVERAGE_OML = ((int)0x8988);
-        public const int GL_INTENSITY_ICC_SGIX = ((int)0x8464);
-        public const int GL_VENDOR = ((int)0x1F00);
-        public const int GL_TIME_ELAPSED_EXT = ((int)0x88BF);
-        public const int GL_NAND = ((int)0x150E);
-        public const int GL_UNSIGNED_IDENTITY_NV = ((int)0x8536);
-        public const int GL_ACCUM = ((int)0x0100);
-        public const int GL_MAX_3D_TEXTURE_SIZE_EXT = ((int)0x8073);
-        public const int GL_DEPTH_COMPONENT32 = ((int)0x81A7);
-        public const int GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = ((int)0x86F2);
-        public const int GL_ALWAYS_FAST_HINT_PGI = ((int)0x1A20C);
-        public const int GL_GEOMETRY_DEFORMATION_SGIX = ((int)0x8194);
-        public const int GL_OP_MULTIPLY_MATRIX_EXT = ((int)0x8798);
-        public const int GL_TEXTURE8 = ((int)0x84C8);
-        public const int GL_UNSIGNED_INT_VEC3_EXT = ((int)0x8DC7);
-        public const int GL_STORAGE_SHARED_APPLE = ((int)0x85BF);
-        public const int GL_SLUMINANCE_ALPHA = ((int)0x8C44);
-        public const int GL_CON_11_ATI = ((int)0x894C);
-        public const int GL_PHONG_WIN = ((int)0x80EA);
-        public const int GL_UNSIGNED_INVERT_NV = ((int)0x8537);
-        public const int GL_COLOR_TABLE_SCALE = ((int)0x80D6);
-        public const int GL_KEEP = ((int)0x1E00);
-        public const int GL_ADD_SIGNED = ((int)0x8574);
-        public const int GL_MULTISAMPLE_ARB = ((int)0x809D);
-        public const int GL_COMBINER_AB_OUTPUT_NV = ((int)0x854A);
-        public const int GL_REG_3_ATI = ((int)0x8924);
-        public const int GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = ((int)0x889E);
-        public const int GL_FOG_FACTOR_TO_ALPHA_SGIX = ((int)0x836F);
-        public const int GL_INVALID_ENUM = ((int)0x0500);
-        public const int GL_IMAGE_MIN_FILTER_HP = ((int)0x815D);
-        public const int GL_INTERLEAVED_ATTRIBS_NV = ((int)0x8C8C);
-        public const int GL_TEXTURE21_ARB = ((int)0x84D5);
-        public const int GL_STATIC_COPY_ARB = ((int)0x88E6);
-        public const int GL_SMOOTH_LINE_WIDTH_RANGE = ((int)0x0B22);
-        public const int GL_TEXTURE9 = ((int)0x84C9);
-        public const int GL_FENCE_STATUS_NV = ((int)0x84F3);
-        public const int GL_RENDERBUFFER_STENCIL_SIZE_EXT = ((int)0x8D55);
-        public const int GL_OBJECT_DISTANCE_TO_LINE_SGIS = ((int)0x81F3);
-        public const int GL_COMBINER_COMPONENT_USAGE_NV = ((int)0x8544);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = ((int)0x8CD4);
-        public const int GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = ((int)0x851F);
-        public const int GL_CULL_VERTEX_OBJECT_POSITION_EXT = ((int)0x81AC);
-        public const int GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = ((int)0x88B1);
-        public const int GL_MAP2_TEXTURE_COORD_4 = ((int)0x0DB6);
-        public const int GL_DRAW_BUFFER1_ARB = ((int)0x8826);
-        public const int GL_FEEDBACK_BUFFER_TYPE = ((int)0x0DF2);
-        public const int GL_INDEX_MATERIAL_FACE_EXT = ((int)0x81BA);
-        public const int GL_COMBINE = ((int)0x8570);
-        public const int GL_READ_WRITE = ((int)0x88BA);
-        public const int GL_DEPTH_COMPONENT16 = ((int)0x81A5);
-        public const int GL_TEXTURE20_ARB = ((int)0x84D4);
-        public const int GL_COLOR_ATTACHMENT14_EXT = ((int)0x8CEE);
-        public const int GL_RGB4_EXT = ((int)0x804F);
-        public const int GL_FOG_FUNC_SGIS = ((int)0x812A);
-        public const int GL_MAP1_TEXTURE_COORD_4 = ((int)0x0D96);
-        public const int GL_UNSIGNED_INT_5_9_9_9_REV_EXT = ((int)0x8C3E);
-        public const int GL_MATRIX28_ARB = ((int)0x88DC);
-        public const int GL_LUMINANCE12_ALPHA4_EXT = ((int)0x8046);
-        public const int GL_PACK_ALIGNMENT = ((int)0x0D05);
-        public const int GL_MODELVIEW21_ARB = ((int)0x8735);
-        public const int GL_LEFT = ((int)0x0406);
-        public const int GL_SOURCE2_ALPHA_ARB = ((int)0x858A);
-        public const int GL_MAP2_VERTEX_ATTRIB10_4_NV = ((int)0x867A);
-        public const int GL_PROXY_TEXTURE_RECTANGLE_NV = ((int)0x84F7);
-        public const int GL_TEXTURE_MAX_LOD_SGIS = ((int)0x813B);
-        public const int GL_PROJECTION_STACK_DEPTH = ((int)0x0BA4);
-        public const int GL_RENDERBUFFER_HEIGHT_EXT = ((int)0x8D43);
-        public const int GL_RENDERBUFFER_GREEN_SIZE_EXT = ((int)0x8D51);
-        public const int GL_MAX_TEXTURE_IMAGE_UNITS = ((int)0x8872);
-        public const int GL_MATRIX24_ARB = ((int)0x88D8);
-        public const int GL_CONVOLUTION_BORDER_COLOR = ((int)0x8154);
-        public const int GL_TEXTURE_BINDING_2D_ARRAY_EXT = ((int)0x8C1D);
-        public const int GL_RENDERBUFFER_SAMPLES_EXT = ((int)0x8CAB);
-        public const int GL_COMBINER6_NV = ((int)0x8556);
-        public const int GL_LINEAR_SHARPEN_SGIS = ((int)0x80AD);
-        public const int GL_LIGHT4 = ((int)0x4004);
-        public const int GL_COMBINER5_NV = ((int)0x8555);
-        public const int GL_COMBINER2_NV = ((int)0x8552);
-        public const int GL_COMBINER3_NV = ((int)0x8553);
-        public const int GL_EDGE_FLAG_ARRAY_STRIDE_EXT = ((int)0x808C);
-        public const int GL_CON_2_ATI = ((int)0x8943);
-        public const int GL_BLEND_EQUATION_EXT = ((int)0x8009);
-        public const int GL_VERTEX_PROGRAM_POINT_SIZE_NV = ((int)0x8642);
-        public const int GL_STATIC_DRAW = ((int)0x88E4);
-        public const int GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = ((int)0x8973);
-        public const int GL_MAX_VERTEX_UNITS_ARB = ((int)0x86A4);
-        public const int GL_MAP1_VERTEX_ATTRIB5_4_NV = ((int)0x8665);
-        public const int GL_CON_21_ATI = ((int)0x8956);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = ((int)0x851A);
-        public const int GL_4PASS_3_SGIS = ((int)0x80A7);
-        public const int GL_MATRIX5_ARB = ((int)0x88C5);
-        public const int GL_STATIC_DRAW_ARB = ((int)0x88E4);
-        public const int GL_PIXEL_COUNT_NV = ((int)0x8866);
-        public const int GL_TEXTURE_COLOR_TABLE_SGI = ((int)0x80BC);
-        public const int GL_MATRIX4_ARB = ((int)0x88C4);
-        public const int GL_MAP2_VERTEX_ATTRIB1_4_NV = ((int)0x8671);
-        public const int GL_INDEX_ARRAY_POINTER_EXT = ((int)0x8091);
-        public const int GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = ((int)0x87C8);
-        public const int GL_VERTEX_STREAM1_ATI = ((int)0x876D);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = ((int)0x8DA9);
-        public const int GL_CULL_MODES_NV = ((int)0x86E0);
-        public const int GL_COMBINER_MAPPING_NV = ((int)0x8543);
-        public const int GL_MAP1_TEXTURE_COORD_2 = ((int)0x0D94);
-        public const int GL_TEXTURE_SHARED_SIZE_EXT = ((int)0x8C3F);
-        public const int GL_DEPTH_RANGE = ((int)0x0B70);
-        public const int GL_EXP2 = ((int)0x0801);
-        public const int GL_COLOR_TABLE_FORMAT = ((int)0x80D8);
-        public const int GL_DEPTH_STENCIL_EXT = ((int)0x84F9);
-        public const int GL_WRITE_PIXEL_DATA_RANGE_NV = ((int)0x8878);
-        public const int GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = ((int)0x813F);
-        public const int GL_UNSIGNED_SHORT_5_6_5_EXT = ((int)0x8363);
-        public const int GL_PROJECTION_MATRIX = ((int)0x0BA7);
-        public const int GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = ((int)0x8409);
-        public const int GL_MINMAX_FORMAT = ((int)0x802F);
-        public const int GL_MAP_COLOR = ((int)0x0D10);
-        public const int GL_VERTEX_STREAM6_ATI = ((int)0x8772);
-        public const int GL_CLIP_PLANE1 = ((int)0x3001);
-        public const int GL_SAMPLER_1D_ARB = ((int)0x8B5D);
-        public const int GL_OPERAND2_ALPHA_EXT = ((int)0x859A);
-        public const int GL_POINT_SIZE_MAX = ((int)0x8127);
-        public const int GL_SAMPLE_ALPHA_TO_MASK_EXT = ((int)0x809E);
-        public const int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = ((int)0x8C80);
-        public const int GL_STENCIL_BACK_WRITEMASK = ((int)0x8CA5);
-        public const int GL_SLUMINANCE = ((int)0x8C46);
-        public const int GL_MAP1_TEXTURE_COORD_3 = ((int)0x0D95);
-        public const int GL_POLYGON_MODE = ((int)0x0B40);
-        public const int GL_PRESERVE_ATI = ((int)0x8762);
-        public const int GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = ((int)0x84F8);
-        public const int GL_INTERLACE_READ_OML = ((int)0x8981);
-        public const int GL_SAMPLE_MASK_VALUE_EXT = ((int)0x80AA);
-        public const int GL_LUMINANCE8 = ((int)0x8040);
-        public const int GL_UNPACK_RESAMPLE_OML = ((int)0x8985);
-        public const int GL_SUBTRACT = ((int)0x84E7);
-        public const int GL_LOCAL_CONSTANT_DATATYPE_EXT = ((int)0x87ED);
-        public const int GL_FLOAT_MAT3 = ((int)0x8B5B);
-        public const int GL_CONSTANT_COLOR_EXT = ((int)0x8001);
-        public const int GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = ((int)0x86DB);
-        public const int GL_TEXTURE_SHADER_NV = ((int)0x86DE);
-        public const int GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = ((int)103087);
-        public const int GL_TYPE_RGBA_FLOAT_ATI = ((int)0x8820);
-        public const int GL_FLOAT_MAT2x3 = ((int)0x8B65);
-        public const int GL_TEXTURE_COORD_ARRAY_COUNT_EXT = ((int)0x808B);
-        public const int GL_VERTEX_STREAM2_ATI = ((int)0x876E);
-        public const int GL_PREVIOUS = ((int)0x8578);
-        public const int GL_FRAGMENT_COLOR_EXT = ((int)0x834C);
-        public const int GL_OFFSET_TEXTURE_BIAS_NV = ((int)0x86E3);
-        public const int GL_MATRIX6_NV = ((int)0x8636);
-        public const int GL_PRIMITIVE_RESTART_NV = ((int)0x8558);
-        public const int GL_OPERAND2_RGB = ((int)0x8592);
-        public const int GL_INTENSITY8_EXT = ((int)0x804B);
-        public const int GL_DOT3_RGB_ARB = ((int)0x86AE);
-        public const int GL_PROGRAM_POINT_SIZE_EXT = ((int)0x8642);
-        public const int GL_1PASS_SGIS = ((int)0x80A1);
-        public const int GL_LIGHTING_BIT = ((int)0x00000040);
-        public const int GL_SAMPLE_COVERAGE = ((int)0x80A0);
-        public const int GL_ALPHA = ((int)0x1906);
-        public const int GL_4D_COLOR_TEXTURE = ((int)0x0604);
-        public const int GL_N3F_V3F = ((int)0x2A25);
-        public const int GL_MAX_CONVOLUTION_HEIGHT = ((int)0x801B);
-        public const int GL_C4F_N3F_V3F = ((int)0x2A26);
-        public const int GL_RGB_SCALE = ((int)0x8573);
-        public const int GL_FRONT_AND_BACK = ((int)0x0408);
-        public const int GL_LUMINANCE4_ALPHA4_EXT = ((int)0x8043);
-        public const int GL_PROXY_HISTOGRAM_EXT = ((int)0x8025);
-        public const int GL_RESCALE_NORMAL_EXT = ((int)0x803A);
-        public const int GL_FOG_BIT = ((int)0x00000080);
-        public const int GL_CON_30_ATI = ((int)0x895F);
-        public const int GL_QUERY_RESULT_AVAILABLE = ((int)0x8867);
-        public const int GL_FRAGMENT_LIGHT6_SGIX = ((int)0x8412);
-        public const int GL_MAP1_TEXTURE_COORD_1 = ((int)0x0D93);
-        public const int GL_FOG_OFFSET_VALUE_SGIX = ((int)0x8199);
-        public const int GL_SAMPLE_MASK_EXT = ((int)0x80A0);
-        public const int GL_MODELVIEW6_ARB = ((int)0x8726);
-        public const int GL_LOGIC_OP_MODE = ((int)0x0BF0);
-        public const int GL_MAP1_VERTEX_ATTRIB7_4_NV = ((int)0x8667);
-        public const int GL_ALWAYS = ((int)0x0207);
-        public const int GL_GLOBAL_ALPHA_SUN = ((int)0x81D9);
-        public const int GL_PROXY_COLOR_TABLE_SGI = ((int)0x80D3);
-        public const int GL_CURRENT_FOG_COORD = ((int)GL_CURRENT_FOG_COORDINATE);
-        public const int GL_WEIGHT_SUM_UNITY_ARB = ((int)0x86A6);
-        public const int GL_FULL_RANGE_EXT = ((int)0x87E1);
-        public const int GL_PRIMARY_COLOR_ARB = ((int)0x8577);
-        public const int GL_MAX_VERTEX_ATTRIBS = ((int)0x8869);
-        public const int GL_DOT_PRODUCT_PASS_THROUGH_NV = ((int)0x885B);
-        public const int GL_RGB10_A2 = ((int)0x8059);
-        public const int GL_OPERAND0_RGB_ARB = ((int)0x8590);
-        public const int GL_ACTIVE_STENCIL_FACE_EXT = ((int)0x8911);
-        public const int GL_UNSIGNED_INT_2_10_10_10_REV = ((int)0x8368);
-        public const int GL_LIGHT6 = ((int)0x4006);
-        public const int GL_COMBINER_BIAS_NV = ((int)0x8549);
-        public const int GL_MAT_COLOR_INDEXES_BIT_PGI = ((int)0x01000000);
-        public const int GL_DEPTH_PASS_INSTRUMENT_SGIX = ((int)0x8310);
-        public const int GL_TEXTURE6_ARB = ((int)0x84C6);
-        public const int GL_CON_9_ATI = ((int)0x894A);
-        public const int GL_TEXTURE_MIN_LOD_SGIS = ((int)0x813A);
-        public const int GL_WEIGHT_ARRAY_SIZE_ARB = ((int)0x86AB);
-        public const int GL_PACK_ROW_LENGTH = ((int)0x0D02);
-        public const int GL_CND0_ATI = ((int)0x896B);
-        public const int GL_TEXTURE_1D_STACK_BINDING_MESAX = ((int)0x875D);
-        public const int GL_TEXTURE_1D_STACK_MESAX = ((int)0x8759);
-        public const int GL_VERTEX_STREAM5_ATI = ((int)0x8771);
-        public const int GL_STENCIL_TEST_TWO_SIDE_EXT = ((int)0x8910);
-        public const int GL_FLOAT_RG32_NV = ((int)0x8887);
-        public const int GL_INTERPOLATE_EXT = ((int)0x8575);
-        public const int GL_CON_10_ATI = ((int)0x894B);
-        public const int GL_SPOT_EXPONENT = ((int)0x1205);
-        public const int GL_POST_CONVOLUTION_GREEN_SCALE_EXT = ((int)0x801D);
-        public const int GL_COLOR_INDEX = ((int)0x1900);
-        public const int GL_SLUMINANCE8_EXT = ((int)0x8C47);
-        public const int GL_FLOAT_MAT4_ARB = ((int)0x8B5C);
-        public const int GL_PIXEL_MAP_I_TO_G = ((int)0x0C73);
-        public const int GL_YCBCR_MESA = ((int)0x8757);
-        public const int GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = ((int)0x8D44);
-        public const int GL_RGB8UI_EXT = ((int)0x8D7D);
-        public const int GL_PIXEL_MAP_G_TO_G_SIZE = ((int)0x0CB7);
-        public const int GL_SECONDARY_INTERPOLATOR_ATI = ((int)0x896D);
-        public const int GL_COLOR3_BIT_PGI = ((int)0x00010000);
-        public const int GL_MAX_FOG_FUNC_POINTS_SGIS = ((int)0x812C);
-        public const int GL_SINGLE_COLOR = ((int)0x81F9);
-        public const int GL_QUARTER_BIT_ATI = ((int)0x00000010);
-        public const int GL_TRUE = ((int)1);
-        public const int GL_ACCUM_CLEAR_VALUE = ((int)0x0B80);
-        public const int GL_HISTOGRAM_SINK = ((int)0x802D);
-        public const int GL_PIXEL_MIN_FILTER_EXT = ((int)0x8332);
-        public const int GL_MVP_MATRIX_EXT = ((int)0x87E3);
-        public const int GL_NO_ERROR = ((int)0);
-        public const int GL_PACK_SKIP_IMAGES = ((int)0x806B);
-        public const int GL_CURRENT_QUERY_ARB = ((int)0x8865);
-        public const int GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = ((int)0x8541);
-        public const int GL_IUI_N3F_V2F_EXT = ((int)0x81AF);
-        public const int GL_TEXTURE_COORD_ARRAY_SIZE = ((int)0x8088);
-        public const int GL_POST_COLOR_MATRIX_COLOR_TABLE = ((int)0x80D2);
-        public const int GL_COLOR_ATTACHMENT12_EXT = ((int)0x8CEC);
-        public const int GL_FOG_COORD_ARRAY_BUFFER_BINDING = ((int)GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING);
-        public const int GL_DOUBLEBUFFER = ((int)0x0C32);
-        public const int GL_SPRITE_TRANSLATION_SGIX = ((int)0x814B);
-        public const int GL_FOG_DISTANCE_MODE_NV = ((int)0x855A);
-        public const int GL_INDEX_MATERIAL_EXT = ((int)0x81B8);
-        public const int GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = ((int)0x86D9);
-        public const int GL_INT_VEC2_ARB = ((int)0x8B53);
-        public const int GL_MODELVIEW5_ARB = ((int)0x8725);
-        public const int GL_INVERSE_NV = ((int)0x862B);
-        public const int GL_CLIP_PLANE0 = ((int)0x3000);
-        public const int GL_LUMINANCE_ALPHA_INTEGER_EXT = ((int)0x8D9D);
-        public const int GL_TEXTURE_STENCIL_SIZE_EXT = ((int)0x88F1);
-        public const int GL_POINT_DISTANCE_ATTENUATION_ARB = ((int)0x8129);
-        public const int GL_ADD_SIGNED_ARB = ((int)0x8574);
-        public const int GL_ALPHA_INTEGER_EXT = ((int)0x8D97);
-        public const int GL_2D = ((int)0x0600);
-        public const int GL_3D = ((int)0x0601);
-        public const int GL_DRAW_BUFFER8_ATI = ((int)0x882D);
-        public const int GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = ((int)0x8185);
-        public const int GL_EXPAND_NORMAL_NV = ((int)0x8538);
-        public const int GL_PIXEL_MAP_I_TO_A = ((int)0x0C75);
-        public const int GL_SIGNED_INTENSITY_NV = ((int)0x8707);
-        public const int GL_FLOAT_MAT2x4 = ((int)0x8B66);
-        public const int GL_STENCIL_TAG_BITS_EXT = ((int)0x88F2);
-        public const int GL_TEXTURE_MIN_FILTER = ((int)0x2801);
-        public const int GL_TEXTURE_GREEN_TYPE_ARB = ((int)0x8C11);
-        public const int GL_ARRAY_BUFFER = ((int)0x8892);
-        public const int GL_C3F_V3F = ((int)0x2A24);
-        public const int GL_VARIABLE_G_NV = ((int)0x8529);
-        public const int GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = ((int)0x8625);
-        public const int GL_PROGRAM_TEMPORARIES_ARB = ((int)0x88A4);
-        public const int GL_422_REV_AVERAGE_EXT = ((int)0x80CF);
-        public const int GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = ((int)0x8C27);
-        public const int GL_COLOR_TABLE_RED_SIZE_SGI = ((int)0x80DA);
-        public const int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = ((int)0x8B4D);
-        public const int GL_EVAL_TRIANGULAR_2D_NV = ((int)0x86C1);
-        public const int GL_STRICT_LIGHTING_HINT_PGI = ((int)0x1A217);
-        public const int GL_INTENSITY12_EXT = ((int)0x804C);
-        public const int GL_CON_20_ATI = ((int)0x8955);
-        public const int GL_MAX_ASYNC_DRAW_PIXELS_SGIX = ((int)0x8360);
-        public const int GL_BUMP_ROT_MATRIX_ATI = ((int)0x8775);
-        public const int GL_POST_COLOR_MATRIX_ALPHA_BIAS = ((int)0x80BB);
-        public const int GL_2PASS_1_EXT = ((int)0x80A3);
-        public const int GL_DEPTH_WRITEMASK = ((int)0x0B72);
-        public const int GL_COEFF = ((int)0x0A00);
-        public const int GL_TEXTURE24 = ((int)0x84D8);
-        public const int GL_RED = ((int)0x1903);
-        public const int GL_MAX_PALETTE_MATRICES_ARB = ((int)0x8842);
-        public const int GL_TEXTURE_RED_SIZE_EXT = ((int)0x805C);
-        public const int GL_TEXTURE20 = ((int)0x84D4);
-        public const int GL_UNSIGNED_INT_8_8_8_8 = ((int)0x8035);
-        public const int GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = ((int)0x80B7);
-        public const int GL_Z_EXT = ((int)0x87D7);
-        public const int GL_BLEND_EQUATION_ALPHA = ((int)0x883D);
-        public const int GL_SECONDARY_COLOR_ARRAY_EXT = ((int)0x845E);
-        public const int GL_TEXTURE28 = ((int)0x84DC);
-        public const int GL_DECR_WRAP = ((int)0x8508);
-        public const int GL_ZOOM_X = ((int)0x0D16);
-        public const int GL_FLOAT_RG_NV = ((int)0x8881);
-        public const int GL_STENCIL_CLEAR_VALUE = ((int)0x0B91);
-        public const int GL_DRAW_BUFFER14 = ((int)0x8833);
-        public const int GL_BINORMAL_ARRAY_POINTER_EXT = ((int)0x8443);
-        public const int GL_TEXTURE_MAX_ANISOTROPY_EXT = ((int)0x84FE);
-        public const int GL_IMAGE_CUBIC_WEIGHT_HP = ((int)0x815E);
-        public const int GL_NATIVE_GRAPHICS_END_HINT_PGI = ((int)0x1A204);
-        public const int GL_OPERAND2_RGB_ARB = ((int)0x8592);
-        public const int GL_COMBINE_RGB_ARB = ((int)0x8571);
-        public const int GL_CURRENT_COLOR = ((int)0x0B00);
-        public const int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = ((int)0x8DD7);
-        public const int GL_SRC_COLOR = ((int)0x0300);
-        public const int GL_LIGHT0 = ((int)0x4000);
-        public const int GL_TEXTURE31 = ((int)0x84DF);
-        public const int GL_STENCIL_ATTACHMENT_EXT = ((int)0x8D20);
-        public const int GL_LUMINANCE12 = ((int)0x8041);
-        public const int GL_MAX_VERTEX_SHADER_VARIANTS_EXT = ((int)0x87C6);
-        public const int GL_MAP2_VERTEX_4 = ((int)0x0DB8);
-        public const int GL_SIGNED_HILO8_NV = ((int)0x885F);
-        public const int GL_3D_COLOR_TEXTURE = ((int)0x0603);
-        public const int GL_NORMAL_ARRAY_STRIDE = ((int)0x807F);
-        public const int GL_OBJECT_ATTACHED_OBJECTS_ARB = ((int)0x8B85);
-        public const int GL_MAP2_VERTEX_3 = ((int)0x0DB7);
-        public const int GL_PIXEL_MAP_B_TO_B_SIZE = ((int)0x0CB8);
-        public const int GL_MATRIX21_ARB = ((int)0x88D5);
-        public const int GL_PROXY_TEXTURE_3D = ((int)0x8070);
-        public const int GL_TEXTURE_GREEN_SIZE_EXT = ((int)0x805D);
-        public const int GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = ((int)0x88B4);
-        public const int GL_SPRITE_SGIX = ((int)0x8148);
-        public const int GL_VERTEX_ATTRIB_ARRAY2_NV = ((int)0x8652);
-        public const int GL_PIXEL_MAP_I_TO_B = ((int)0x0C74);
-        public const int GL_INT_SAMPLER_BUFFER_EXT = ((int)0x8DD0);
-        public const int GL_PACK_IMAGE_DEPTH_SGIS = ((int)0x8131);
-        public const int GL_ACTIVE_TEXTURE_ARB = ((int)0x84E0);
-        public const int GL_VERTEX_ARRAY_BINDING_APPLE = ((int)0x85B5);
-        public const int GL_NUM_COMPRESSED_TEXTURE_FORMATS = ((int)0x86A2);
-        public const int GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = ((int)0x0D3B);
-        public const int GL_ACTIVE_VARYING_MAX_LENGTH_NV = ((int)0x8C82);
-        public const int GL_PROXY_TEXTURE_2D_ARRAY_EXT = ((int)0x8C1B);
-        public const int GL_MATRIX8_ARB = ((int)0x88C8);
-        public const int GL_FRAMEBUFFER_SRGB_EXT = ((int)0x8DB9);
-        public const int GL_MATRIX18_ARB = ((int)0x88D2);
-        public const int GL_FRAGMENT_LIGHT4_SGIX = ((int)0x8410);
-        public const int GL_ARRAY_BUFFER_BINDING_ARB = ((int)0x8894);
-        public const int GL_ELEMENT_ARRAY_ATI = ((int)0x8768);
-        public const int GL_FOG_SPECULAR_TEXTURE_WIN = ((int)0x80EC);
-        public const int GL_REDUCE_EXT = ((int)0x8016);
-        public const int GL_SIGNED_RGBA_NV = ((int)0x86FB);
-        public const int GL_MAX_VERTEX_UNIFORM_COMPONENTS = ((int)0x8B4A);
-        public const int GL_LO_SCALE_NV = ((int)0x870F);
-        public const int GL_FRAMEBUFFER_BINDING_EXT = ((int)0x8CA6);
-        public const int GL_DEFORMATIONS_MASK_SGIX = ((int)0x8196);
-        public const int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = ((int)0x8517);
-        public const int GL_HISTOGRAM_RED_SIZE_EXT = ((int)0x8028);
-        public const int GL_MAX_CONVOLUTION_WIDTH = ((int)0x801A);
-        public const int GL_TEXTURE_BASE_LEVEL_SGIS = ((int)0x813C);
-        public const int GL_POLYGON_OFFSET_FILL = ((int)0x8037);
-        public const int GL_LUMINANCE_ALPHA16I_EXT = ((int)0x8D8D);
-        public const int GL_FRONT = ((int)0x0404);
-        public const int GL_LINEAR_SHARPEN_ALPHA_SGIS = ((int)0x80AE);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = ((int)0x8DA7);
-        public const int GL_MATRIX11_ARB = ((int)0x88CB);
-        public const int GL_MAX_MAP_TESSELLATION_NV = ((int)0x86D6);
-        public const int GL_DRAW_BUFFER11_ATI = ((int)0x8830);
-        public const int GL_CCW = ((int)0x0901);
-        public const int GL_2PASS_0_EXT = ((int)0x80A2);
-        public const int GL_INVERSE_TRANSPOSE_NV = ((int)0x862D);
-        public const int GL_BACK_NORMALS_HINT_PGI = ((int)0x1A223);
-        public const int GL_FLOAT_RGBA_MODE_NV = ((int)0x888E);
-        public const int GL_COLOR_ARRAY_POINTER_EXT = ((int)0x8090);
-        public const int GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = ((int)0x8DAD);
-        public const int GL_T2F_IUI_V2F_EXT = ((int)0x81B1);
-        public const int GL_MAP1_VERTEX_ATTRIB13_4_NV = ((int)0x866D);
-        public const int GL_MATRIX13_ARB = ((int)0x88CD);
-        public const int GL_VERTEX_ARRAY_BUFFER_BINDING = ((int)0x8896);
-        public const int GL_SAMPLE_ALPHA_TO_MASK_SGIS = ((int)0x809E);
-        public const int GL_COMBINE_RGB_EXT = ((int)0x8571);
-        public const int GL_HILO8_NV = ((int)0x885E);
-        public const int GL_PIXEL_TILE_GRID_HEIGHT_SGIX = ((int)0x8143);
-        public const int GL_PIXEL_TILE_CACHE_SIZE_SGIX = ((int)0x8145);
-        public const int GL_SCALE_BY_TWO_NV = ((int)0x853E);
-        public const int GL_PIXEL_TRANSFORM_2D_EXT = ((int)0x8330);
-        public const int GL_COMPILE_STATUS = ((int)0x8B81);
-        public const int GL_CONSTANT_ARB = ((int)0x8576);
-        public const int GL_LIST_BASE = ((int)0x0B32);
-        public const int GL_EMBOSS_CONSTANT_NV = ((int)0x855E);
-        public const int GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = ((int)0x845D);
-        public const int GL_DYNAMIC_DRAW_ARB = ((int)0x88E8);
-        public const int GL_CURRENT_BIT = ((int)0x00000001);
-        public const int GL_TEXTURE_MIN_LOD = ((int)0x813A);
-        public const int GL_MAP1_VERTEX_ATTRIB6_4_NV = ((int)0x8666);
-        public const int GL_VERSION = ((int)0x1F02);
-        public const int GL_FILL = ((int)0x1B02);
-        public const int GL_REG_17_ATI = ((int)0x8932);
-        public const int GL_MAP2_COLOR_4 = ((int)0x0DB0);
-        public const int GL_SWIZZLE_STQ_ATI = ((int)0x8977);
-        public const int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = ((int)0x8CDB);
-        public const int GL_DRAW_BUFFER13_ATI = ((int)0x8832);
-        public const int GL_TEXTURE_LUMINANCE_TYPE_ARB = ((int)0x8C14);
-        public const int GL_COMPRESSED_SRGB_ALPHA_EXT = ((int)0x8C49);
-        public const int GL_UNSIGNED_INT_SAMPLER_3D_EXT = ((int)0x8DD3);
-        public const int GL_BUFFER_FLUSHING_UNMAP_APPLE = ((int)0x8A13);
-        public const int GL_VERTEX_ATTRIB_ARRAY3_NV = ((int)0x8653);
-        public const int GL_STENCIL_PASS_DEPTH_FAIL = ((int)0x0B95);
-        public const int GL_422_EXT = ((int)0x80CC);
-        public const int GL_FOG_COORD_ARRAY = ((int)GL_FOG_COORDINATE_ARRAY);
-        public const int GL_AUTO_NORMAL = ((int)0x0D80);
-        public const int GL_TEXTURE_ENV_BIAS_SGIX = ((int)0x80BE);
-        public const int GL_SAMPLER_1D_SHADOW = ((int)0x8B61);
-        public const int GL_PIXEL_MAP_R_TO_R_SIZE = ((int)0x0CB6);
-        public const int GL_DEPTH_BOUNDS_EXT = ((int)0x8891);
-        public const int GL_LUMINANCE_ALPHA_FLOAT32_ATI = ((int)0x8819);
-        public const int GL_SIGNED_LUMINANCE_NV = ((int)0x8701);
-        public const int GL_COLOR_LOGIC_OP = ((int)0x0BF2);
-        public const int GL_SAMPLE_PATTERN_SGIS = ((int)0x80AC);
-        public const int GL_PIXEL_COUNTER_BITS_NV = ((int)0x8864);
-        public const int GL_READ_PIXEL_DATA_RANGE_POINTER_NV = ((int)0x887D);
-        public const int GL_HISTOGRAM_BLUE_SIZE = ((int)0x802A);
-        public const int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = ((int)0x8B4C);
-        public const int GL_STENCIL_INDEX8_EXT = ((int)0x8D48);
-        public const int GL_BLEND_SRC = ((int)0x0BE1);
-        public const int GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = ((int)0x845A);
-        public const int GL_MODELVIEW0_MATRIX_EXT = ((int)GL_MODELVIEW_MATRIX);
-        public const int GL_MODELVIEW4_ARB = ((int)0x8724);
-        public const int GL_DECR_WRAP_EXT = ((int)0x8508);
-        public const int GL_FRAMEBUFFER_EXT = ((int)0x8D40);
-        public const int GL_NUM_FRAGMENT_REGISTERS_ATI = ((int)0x896E);
-        public const int GL_POINT_FADE_THRESHOLD_SIZE = ((int)0x8128);
-        public const int GL_VARIABLE_A_NV = ((int)0x8523);
-        public const int GL_DECR = ((int)0x1E03);
-        public const int GL_CURRENT_RASTER_COLOR = ((int)0x0B04);
-        public const int GL_TEXTURE_RECTANGLE_NV = ((int)0x84F5);
-        public const int GL_MIRRORED_REPEAT = ((int)0x8370);
-        public const int GL_OUTPUT_TEXTURE_COORD20_EXT = ((int)0x87B1);
-        public const int GL_SWIZZLE_STR_DR_ATI = ((int)0x8978);
-        public const int GL_TEXTURE_MATRIX = ((int)0x0BA8);
-        public const int GL_COMPRESSED_SLUMINANCE_ALPHA = ((int)0x8C4B);
-        public const int GL_ATTRIB_ARRAY_STRIDE_NV = ((int)0x8624);
-        public const int GL_TEXTURE_MAX_CLAMP_R_SGIX = ((int)0x836B);
-        public const int GL_RIGHT = ((int)0x0407);
-        public const int GL_STENCIL_BITS = ((int)0x0D57);
-        public const int GL_HILO16_NV = ((int)0x86F8);
-        public const int GL_POINT_BIT = ((int)0x00000002);
-        public const int GL_INTERLACE_READ_INGR = ((int)0x8568);
-        public const int GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = ((int)0x880B);
-        public const int GL_COLOR_TABLE_BLUE_SIZE_SGI = ((int)0x80DC);
-        public const int GL_LUMINANCE8I_EXT = ((int)0x8D92);
-        public const int GL_FRAGMENT_DEPTH = ((int)0x8452);
-        public const int GL_PROXY_TEXTURE_2D = ((int)0x8064);
-        public const int GL_PACK_SWAP_BYTES = ((int)0x0D00);
-        public const int GL_ACCUM_RED_BITS = ((int)0x0D58);
-        public const int GL_RGBA4_S3TC = ((int)0x83A3);
-        public const int GL_CON_24_ATI = ((int)0x8959);
-        public const int GL_POST_COLOR_MATRIX_BLUE_BIAS = ((int)0x80BA);
-        public const int GL_OUTPUT_TEXTURE_COORD10_EXT = ((int)0x87A7);
-        public const int GL_SIGNED_INTENSITY8_NV = ((int)0x8708);
-        public const int GL_EDGE_FLAG_ARRAY_POINTER = ((int)0x8093);
-        public const int GL_FOG_COORDINATE_ARRAY_TYPE_EXT = ((int)0x8454);
-        public const int GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = ((int)0x80BF);
-        public const int GL_DEPTH_COMPONENT = ((int)0x1902);
-        public const int GL_READ_ONLY = ((int)0x88B8);
-        public const int GL_MAX_VERTEX_HINT_PGI = ((int)0x1A22D);
-        public const int GL_YCRCB_SGIX = ((int)0x8318);
-        public const int GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = ((int)0x83F8);
-        public const int GL_OUTPUT_TEXTURE_COORD28_EXT = ((int)0x87B9);
-        public const int GL_PROXY_TEXTURE_CUBE_MAP_ARB = ((int)0x851B);
-        public const int GL_SRGB_EXT = ((int)0x8C40);
-        public const int GL_TEXTURE17_ARB = ((int)0x84D1);
-        public const int GL_REG_29_ATI = ((int)0x893E);
-        public const int GL_RGB16F_ARB = ((int)0x881B);
-        public const int GL_SIGNED_LUMINANCE_ALPHA_NV = ((int)0x8703);
-        public const int GL_POINT_TOKEN = ((int)0x0701);
-        public const int GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = ((int)0x88B3);
-        public const int GL_MAX_TEXTURE_COORDS = ((int)0x8871);
-        public const int GL_FLOAT = ((int)0x1406);
-        public const int GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = ((int)0x8C28);
-        public const int GL_PIXEL_PACK_BUFFER_EXT = ((int)0x88EB);
-        public const int GL_GEOMETRY_SHADER_EXT = ((int)0x8DD9);
-        public const int GL_MAP1_VERTEX_ATTRIB8_4_NV = ((int)0x8668);
-        public const int GL_EVAL_FRACTIONAL_TESSELLATION_NV = ((int)0x86C5);
-        public const int GL_OP_CROSS_PRODUCT_EXT = ((int)0x8797);
-        public const int GL_MAX_LIGHTS = ((int)0x0D31);
-        public const int GL_SAMPLE_BUFFERS_EXT = ((int)0x80A8);
-        public const int GL_REG_11_ATI = ((int)0x892C);
-        public const int GL_DOT_PRODUCT_TEXTURE_1D_NV = ((int)0x885C);
-        public const int GL_OUTPUT_TEXTURE_COORD18_EXT = ((int)0x87AF);
-        public const int GL_MAX_RENDERBUFFER_SIZE_EXT = ((int)0x84E8);
-        public const int GL_COLOR_MATRIX = ((int)0x80B1);
-        public const int GL_FLOAT_MAT4x3 = ((int)0x8B6A);
-        public const int GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = ((int)0x8857);
-        public const int GL_DIFFUSE = ((int)0x1201);
-        public const int GL_POINT_SIZE = ((int)0x0B11);
-        public const int GL_TEXTURE16_ARB = ((int)0x84D0);
-        public const int GL_OFFSET_TEXTURE_2D_NV = ((int)0x86E8);
-        public const int GL_PROGRAM_ERROR_STRING_NV = ((int)0x8874);
-        public const int GL_COLOR_ATTACHMENT10_EXT = ((int)0x8CEA);
-        public const int GL_TEXTURE_COORD_ARRAY_STRIDE = ((int)0x808A);
-        public const int GL_EVAL_VERTEX_ATTRIB15_NV = ((int)0x86D5);
-        public const int GL_FLAT = ((int)0x1D00);
-        public const int GL_CLIENT_ACTIVE_TEXTURE_ARB = ((int)0x84E1);
-        public const int GL_BUFFER_MAP_POINTER = ((int)0x88BD);
-        public const int GL_OP_SET_LT_EXT = ((int)0x878D);
-        public const int GL_SAMPLES_ARB = ((int)0x80A9);
-        public const int GL_AVERAGE_EXT = ((int)0x8335);
-        public const int GL_SMOOTH_POINT_SIZE_RANGE = ((int)0x0B12);
-        public const int GL_CLAMP_VERTEX_COLOR_ARB = ((int)0x891A);
-        public const int GL_HALF_BIAS_NEGATE_NV = ((int)0x853B);
-        public const int GL_CON_23_ATI = ((int)0x8958);
-        public const int GL_SAMPLER_CUBE_ARB = ((int)0x8B60);
-        public const int GL_TEXTURE_NORMAL_EXT = ((int)0x85AF);
-        public const int GL_FRAGMENT_LIGHTING_SGIX = ((int)0x8400);
-        public const int GL_REFLECTION_MAP_NV = ((int)0x8512);
-        public const int GL_TEXTURE15_ARB = ((int)0x84CF);
-        public const int GL_MAP1_VERTEX_ATTRIB0_4_NV = ((int)0x8660);
-        public const int GL_TEXTURE_GEQUAL_R_SGIX = ((int)0x819D);
-        public const int GL_NEGATIVE_ONE_EXT = ((int)0x87DF);
-        public const int GL_DST_COLOR = ((int)0x0306);
-        public const int GL_ALPHA16I_EXT = ((int)0x8D8A);
-        public const int GL_TEXTURE2_ARB = ((int)0x84C2);
-        public const int GL_BACK_PRIMARY_COLOR_NV = ((int)0x8C77);
-        public const int GL_MATRIX15_ARB = ((int)0x88CF);
-        public const int GL_MODULATE_ADD_ATI = ((int)0x8744);
-        public const int GL_PROGRAM_RESIDENT_NV = ((int)0x8647);
-        public const int GL_VERTEX_SHADER_ARB = ((int)0x8B31);
-        public const int GL_SOURCE1_ALPHA_ARB = ((int)0x8589);
-        public const int GL_DEPTH_CLEAR_VALUE = ((int)0x0B73);
-        public const int GL_COMBINER_CD_DOT_PRODUCT_NV = ((int)0x8546);
-        public const int GL_COMPRESSED_SRGB_EXT = ((int)0x8C48);
-        public const int GL_OUTPUT_TEXTURE_COORD2_EXT = ((int)0x879F);
-        public const int GL_FENCE_CONDITION_NV = ((int)0x84F4);
-        public const int GL_PROGRAM_ALU_INSTRUCTIONS_ARB = ((int)0x8805);
-        public const int GL_SPHERE_MAP = ((int)0x2402);
-        public const int GL_PHONG_HINT_WIN = ((int)0x80EB);
-        public const int GL_TEXTURE_LUMINANCE_SIZE = ((int)0x8060);
-        public const int GL_TEXTURE_MAX_LOD = ((int)0x813B);
-        public const int GL_INDEX_ARRAY = ((int)0x8077);
-        public const int GL_EYE_LINE_SGIS = ((int)0x81F6);
-        public const int GL_MATRIX22_ARB = ((int)0x88D6);
-        public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = ((int)0x8C4E);
-        public const int GL_COLOR_SUM_ARB = ((int)0x8458);
-        public const int GL_NUM_FRAGMENT_CONSTANTS_ATI = ((int)0x896F);
-        public const int GL_COLOR_ATTACHMENT13_EXT = ((int)0x8CED);
-        public const int GL_DEPTH_BUFFER_FLOAT_MODE_NV = ((int)0x8DAF);
-        public const int GL_REG_20_ATI = ((int)0x8935);
-        public const int GL_COLOR_ATTACHMENT15_EXT = ((int)0x8CEF);
-        public const int GL_ARRAY_BUFFER_ARB = ((int)0x8892);
-        public const int GL_VERTEX_SOURCE_ATI = ((int)0x8774);
-        public const int GL_MAX_DRAW_BUFFERS = ((int)0x8824);
-        public const int GL_SOURCE2_RGB = ((int)0x8582);
-        public const int GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = ((int)0x8C4D);
-        public const int GL_FLOAT_RGB16_NV = ((int)0x8888);
-        public const int GL_CURRENT_VERTEX_ATTRIB_ARB = ((int)0x8626);
-        public const int GL_DEPTH_STENCIL_TO_RGBA_NV = ((int)0x886E);
-        public const int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = ((int)0x86A0);
-        public const int GL_INDEX_ARRAY_COUNT_EXT = ((int)0x8087);
-        public const int GL_SPOT_CUTOFF = ((int)0x1206);
-        public const int GL_VERTEX23_BIT_PGI = ((int)0x00000004);
-        public const int GL_COORD_REPLACE_ARB = ((int)0x8862);
-        public const int GL_RENDERBUFFER_ALPHA_SIZE_EXT = ((int)0x8D53);
-        public const int GL_SWIZZLE_STR_ATI = ((int)0x8976);
-        public const int GL_CONVOLUTION_1D_EXT = ((int)0x8010);
-        public const int GL_LINE_WIDTH_RANGE = ((int)0x0B22);
-        public const int GL_SLUMINANCE_EXT = ((int)0x8C46);
-        public const int GL_FOG_END = ((int)0x0B64);
-        public const int GL_RGB4 = ((int)0x804F);
-        public const int GL_VERTEX_ID_NV = ((int)0x8C7B);
-        public const int GL_NEAREST_MIPMAP_LINEAR = ((int)0x2702);
-        public const int GL_COMPRESSED_INTENSITY = ((int)0x84EC);
-        public const int GL_REG_30_ATI = ((int)0x893F);
-        public const int GL_VERTEX_SHADER_INSTRUCTIONS_EXT = ((int)0x87CF);
-        public const int GL_CONVOLUTION_2D_EXT = ((int)0x8011);
-        public const int GL_REPLICATE_BORDER_HP = ((int)0x8153);
-        public const int GL_OP_RECIP_SQRT_EXT = ((int)0x8795);
-        public const int GL_FRAGMENT_LIGHT0_SGIX = ((int)0x840C);
-        public const int GL_VERTEX_SHADER_EXT = ((int)0x8780);
-        public const int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = ((int)0x8CD0);
-        public const int GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = ((int)0x8DA1);
-        public const int GL_DEPTH_COMPONENT24_SGIX = ((int)0x81A6);
-        public const int GL_HALF_BIAS_NORMAL_NV = ((int)0x853A);
-        public const int GL_SLUMINANCE_ALPHA_EXT = ((int)0x8C44);
-        public const int GL_SRC_ALPHA_SATURATE = ((int)0x0308);
-        public const int GL_DETAIL_TEXTURE_MODE_SGIS = ((int)0x809B);
-        public const int GL_POST_CONVOLUTION_ALPHA_BIAS = ((int)0x8023);
-        public const int GL_RED_BIT_ATI = ((int)0x00000001);
-        public const int GL_FOG_FUNC_POINTS_SGIS = ((int)0x812B);
-        public const int GL_NEVER = ((int)0x0200);
-        public const int GL_TEXTURE_BLUE_TYPE_ARB = ((int)0x8C12);
-        public const int GL_MOV_ATI = ((int)0x8961);
-        public const int GL_MATRIX_PALETTE_ARB = ((int)0x8840);
-        public const int GL_MATRIX6_ARB = ((int)0x88C6);
-        public const int GL_SAMPLE_ALPHA_TO_ONE_SGIS = ((int)0x809F);
-        public const int GL_SOURCE2_ALPHA_EXT = ((int)0x858A);
-        public const int GL_ALPHA16_EXT = ((int)0x803E);
-        public const int GL_OP_EXP_BASE_2_EXT = ((int)0x8791);
-        public const int GL_REG_21_ATI = ((int)0x8936);
-        public const int GL_STENCIL_INDEX1_EXT = ((int)0x8D46);
-        public const int GL_TEXTURE11_ARB = ((int)0x84CB);
-        public const int GL_COMBINER_AB_DOT_PRODUCT_NV = ((int)0x8545);
-        public const int GL_HI_SCALE_NV = ((int)0x870E);
-        public const int GL_BUMP_ENVMAP_ATI = ((int)0x877B);
-        public const int GL_RGB8I_EXT = ((int)0x8D8F);
-        public const int GL_LINK_STATUS = ((int)0x8B82);
-        public const int GL_SAMPLE_COVERAGE_ARB = ((int)0x80A0);
-        public const int GL_CONVOLUTION_FORMAT = ((int)0x8017);
-        public const int GL_COLOR_ARRAY = ((int)0x8076);
-        public const int GL_THREE = ((int)3);
-        public const int GL_HISTOGRAM_ALPHA_SIZE_EXT = ((int)0x802B);
-        public const int GL_PACK_CMYK_HINT_EXT = ((int)0x800E);
-        public const int GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = ((int)0x8C71);
-        public const int GL_OUTPUT_TEXTURE_COORD22_EXT = ((int)0x87B3);
-        public const int GL_UNSIGNED_INT_SAMPLER_2D_EXT = ((int)0x8DD2);
-        public const int GL_POST_CONVOLUTION_RED_SCALE = ((int)0x801C);
-        public const int GL_UNSIGNED_SHORT_4_4_4_4_EXT = ((int)0x8033);
-        public const int GL_LUMINANCE8_EXT = ((int)0x8040);
-        public const int GL_COLOR_WRITEMASK = ((int)0x0C23);
-        public const int GL_REG_13_ATI = ((int)0x892E);
-        public const int GL_INTENSITY32I_EXT = ((int)0x8D85);
-        public const int GL_REG_31_ATI = ((int)0x8940);
-        public const int GL_TRANSPOSE_TEXTURE_MATRIX = ((int)0x84E5);
-        public const int GL_EXPAND_NEGATE_NV = ((int)0x8539);
-        public const int GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = ((int)0x87C7);
-        public const int GL_TEXTURE_BORDER_COLOR = ((int)0x1004);
-        public const int GL_WEIGHT_ARRAY_BUFFER_BINDING = ((int)0x889E);
-        public const int GL_COLOR_ARRAY_COUNT_EXT = ((int)0x8084);
-        public const int GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = ((int)0x8C4B);
-        public const int GL_SAMPLE_MASK_SGIS = ((int)0x80A0);
-        public const int GL_DRAW_PIXEL_TOKEN = ((int)0x0705);
-        public const int GL_MAP2_VERTEX_ATTRIB5_4_NV = ((int)0x8675);
-        public const int GL_AMBIENT_AND_DIFFUSE = ((int)0x1602);
-        public const int GL_DOT2_ADD_ATI = ((int)0x896C);
-        public const int GL_ACTIVE_UNIFORM_MAX_LENGTH = ((int)0x8B87);
-        public const int GL_TRANSPOSE_PROJECTION_MATRIX_ARB = ((int)0x84E4);
-        public const int GL_SAMPLES_EXT = ((int)0x80A9);
-        public const int GL_LOCAL_CONSTANT_EXT = ((int)0x87C3);
-        public const int GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = ((int)0x8DBC);
-        public const int GL_TEXTURE_2D_ARRAY_EXT = ((int)0x8C1A);
-        public const int GL_MAP1_NORMAL = ((int)0x0D92);
-        public const int GL_SAMPLER_1D_ARRAY_EXT = ((int)0x8DC0);
-        public const int GL_FLOAT_RGBA_NV = ((int)0x8883);
-        public const int GL_INTENSITY8UI_EXT = ((int)0x8D7F);
-        public const int GL_FLOAT_CLEAR_COLOR_VALUE_NV = ((int)0x888D);
-        public const int GL_TRANSPOSE_COLOR_MATRIX_ARB = ((int)0x84E6);
-        public const int GL_VERTEX_ATTRIB_ARRAY6_NV = ((int)0x8656);
-        public const int GL_SAMPLER_CUBE = ((int)0x8B60);
-        public const int GL_COLOR_BUFFER_BIT = ((int)0x00004000);
-        public const int GL_MODELVIEW_STACK_DEPTH = ((int)0x0BA3);
-        public const int GL_POINT_FADE_THRESHOLD_SIZE_ARB = ((int)0x8128);
-        public const int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = ((int)0x8518);
-        public const int GL_ATTRIB_ARRAY_SIZE_NV = ((int)0x8623);
-        public const int GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = ((int)0x8DD4);
-        public const int GL_ALPHA32F_ARB = ((int)0x8816);
-        public const int GL_MAP_ATTRIB_V_ORDER_NV = ((int)0x86C4);
-        public const int GL_VARIANT_DATATYPE_EXT = ((int)0x87E5);
-        public const int GL_INT_SAMPLER_2D_ARRAY_EXT = ((int)0x8DCF);
-        public const int GL_TEXTURE_DEPTH_SIZE_ARB = ((int)0x884A);
-        public const int GL_INTENSITY_FLOAT16_ATI = ((int)0x881D);
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenGl/Gl.cs b/Source/Compatibility/Tao/OpenGl/Gl.cs
deleted file mode 100644 (file)
index 058aa7a..0000000
+++ /dev/null
@@ -1,65842 +0,0 @@
-#region License
-//
-// The Open Toolkit Library License
-//
-// Copyright (c) 2006 - 2009 the Open Toolkit library.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights to 
-// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-// the Software, and to permit persons to whom the Software is furnished to do
-// so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in all
-// copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-#endregion
-
-namespace Tao.OpenGl
-{
-    using System;
-    using System.Runtime.InteropServices;
-
-#pragma warning disable 3019
-#pragma warning disable 1591
-
-    public static partial class Gl
-    {
-        [System.CLSCompliant(false)]
-        public static 
-        void glNewList(UInt32 list, int mode)
-        {
-            Delegates.glNewList((UInt32)list, (int)mode);
-        }
-
-        public static 
-        void glNewList(Int32 list, int mode)
-        {
-            Delegates.glNewList((UInt32)list, (int)mode);
-        }
-
-        public static 
-        void glEndList()
-        {
-            Delegates.glEndList();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glCallList(UInt32 list)
-        {
-            Delegates.glCallList((UInt32)list);
-        }
-
-        public static 
-        void glCallList(Int32 list)
-        {
-            Delegates.glCallList((UInt32)list);
-        }
-
-        public static 
-        void glCallLists(Int32 n, int type, IntPtr lists)
-        {
-            unsafe
-            {
-                Delegates.glCallLists((Int32)n, (int)type, (IntPtr)lists);
-            }
-        }
-
-        public static 
-        void glCallLists(Int32 n, int type, [In, Out] object lists)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle lists_ptr = System.Runtime.InteropServices.GCHandle.Alloc(lists, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCallLists((Int32)n, (int)type, (IntPtr)lists_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    lists_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteLists(UInt32 list, Int32 range)
-        {
-            Delegates.glDeleteLists((UInt32)list, (Int32)range);
-        }
-
-        public static 
-        void glDeleteLists(Int32 list, Int32 range)
-        {
-            Delegates.glDeleteLists((UInt32)list, (Int32)range);
-        }
-
-        public static 
-        Int32 glGenLists(Int32 range)
-        {
-            return Delegates.glGenLists((Int32)range);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListBase(UInt32 @base)
-        {
-            Delegates.glListBase((UInt32)@base);
-        }
-
-        public static 
-        void glListBase(Int32 @base)
-        {
-            Delegates.glListBase((UInt32)@base);
-        }
-
-        public static 
-        void glBegin(int mode)
-        {
-            Delegates.glBegin((int)mode);
-        }
-
-        public static 
-        void glBitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, IntPtr bitmap)
-        {
-            unsafe
-            {
-                Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap);
-            }
-        }
-
-        public static 
-        void glBitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, Byte[] bitmap)
-        {
-            unsafe
-            {
-                fixed (Byte* bitmap_ptr = bitmap)
-                {
-                    Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBitmap(Int32 width, Int32 height, Single xorig, Single yorig, Single xmove, Single ymove, ref Byte bitmap)
-        {
-            unsafe
-            {
-                fixed (Byte* bitmap_ptr = &bitmap)
-                {
-                    Delegates.glBitmap((Int32)width, (Int32)height, (Single)xorig, (Single)yorig, (Single)xmove, (Single)ymove, (Byte*)bitmap_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3b(SByte red, SByte green, SByte blue)
-        {
-            Delegates.glColor3b((SByte)red, (SByte)green, (SByte)blue);
-        }
-
-        public static 
-        void glColor3b(Byte red, Byte green, Byte blue)
-        {
-            Delegates.glColor3b((SByte)red, (SByte)green, (SByte)blue);
-        }
-
-        public static 
-        void glColor3bv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3bv((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3bv(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3bv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3bv(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3bv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3d(Double red, Double green, Double blue)
-        {
-            Delegates.glColor3d((Double)red, (Double)green, (Double)blue);
-        }
-
-        public static 
-        void glColor3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glColor3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glColor3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glColor3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3f(Single red, Single green, Single blue)
-        {
-            Delegates.glColor3f((Single)red, (Single)green, (Single)blue);
-        }
-
-        public static 
-        void glColor3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glColor3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3i(Int32 red, Int32 green, Int32 blue)
-        {
-            Delegates.glColor3i((Int32)red, (Int32)green, (Int32)blue);
-        }
-
-        public static 
-        void glColor3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glColor3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glColor3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glColor3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3s(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glColor3s((Int16)red, (Int16)green, (Int16)blue);
-        }
-
-        public static 
-        void glColor3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glColor3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3ub(Byte red, Byte green, Byte blue)
-        {
-            Delegates.glColor3ub((Byte)red, (Byte)green, (Byte)blue);
-        }
-
-        public static 
-        void glColor3ubv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3ubv((Byte*)v);
-            }
-        }
-
-        public static 
-        void glColor3ubv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glColor3ubv((Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3ubv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glColor3ubv((Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3ui(UInt32 red, UInt32 green, UInt32 blue)
-        {
-            Delegates.glColor3ui((UInt32)red, (UInt32)green, (UInt32)blue);
-        }
-
-        public static 
-        void glColor3ui(Int32 red, Int32 green, Int32 blue)
-        {
-            Delegates.glColor3ui((UInt32)red, (UInt32)green, (UInt32)blue);
-        }
-
-        public static 
-        void glColor3uiv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3uiv((UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3uiv(UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3uiv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3uiv(ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3uiv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3us(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            Delegates.glColor3us((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glColor3us(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glColor3us((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glColor3usv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3usv((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3usv(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3usv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3usv(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3usv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4b(SByte red, SByte green, SByte blue, SByte alpha)
-        {
-            Delegates.glColor4b((SByte)red, (SByte)green, (SByte)blue, (SByte)alpha);
-        }
-
-        public static 
-        void glColor4b(Byte red, Byte green, Byte blue, Byte alpha)
-        {
-            Delegates.glColor4b((SByte)red, (SByte)green, (SByte)blue, (SByte)alpha);
-        }
-
-        public static 
-        void glColor4bv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4bv((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4bv(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glColor4bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4bv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glColor4bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4bv(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glColor4bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4bv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glColor4bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4d(Double red, Double green, Double blue, Double alpha)
-        {
-            Delegates.glColor4d((Double)red, (Double)green, (Double)blue, (Double)alpha);
-        }
-
-        public static 
-        void glColor4dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glColor4dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glColor4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glColor4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4f(Single red, Single green, Single blue, Single alpha)
-        {
-            Delegates.glColor4f((Single)red, (Single)green, (Single)blue, (Single)alpha);
-        }
-
-        public static 
-        void glColor4fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glColor4fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4i(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            Delegates.glColor4i((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha);
-        }
-
-        public static 
-        void glColor4iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glColor4iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glColor4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glColor4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4s(Int16 red, Int16 green, Int16 blue, Int16 alpha)
-        {
-            Delegates.glColor4s((Int16)red, (Int16)green, (Int16)blue, (Int16)alpha);
-        }
-
-        public static 
-        void glColor4sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glColor4sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ub(Byte red, Byte green, Byte blue, Byte alpha)
-        {
-            Delegates.glColor4ub((Byte)red, (Byte)green, (Byte)blue, (Byte)alpha);
-        }
-
-        public static 
-        void glColor4ubv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4ubv((Byte*)v);
-            }
-        }
-
-        public static 
-        void glColor4ubv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glColor4ubv((Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glColor4ubv((Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha)
-        {
-            Delegates.glColor4ui((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha);
-        }
-
-        public static 
-        void glColor4ui(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            Delegates.glColor4ui((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha);
-        }
-
-        public static 
-        void glColor4uiv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4uiv((UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4uiv(UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glColor4uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4uiv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glColor4uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4uiv(ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glColor4uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4uiv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glColor4uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha)
-        {
-            Delegates.glColor4us((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha);
-        }
-
-        public static 
-        void glColor4us(Int16 red, Int16 green, Int16 blue, Int16 alpha)
-        {
-            Delegates.glColor4us((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha);
-        }
-
-        public static 
-        void glColor4usv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4usv((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4usv(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glColor4usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4usv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor4usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4usv(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glColor4usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4usv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor4usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEdgeFlag(Int32 flag)
-        {
-            Delegates.glEdgeFlag((Int32)flag);
-        }
-
-        public static 
-        void glEdgeFlagv(IntPtr flag)
-        {
-            unsafe
-            {
-                Delegates.glEdgeFlagv((Int32*)flag);
-            }
-        }
-
-        public static 
-        void glEdgeFlagv(Int32[] flag)
-        {
-            unsafe
-            {
-                fixed (Int32* flag_ptr = flag)
-                {
-                    Delegates.glEdgeFlagv((Int32*)flag_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEdgeFlagv(ref Int32 flag)
-        {
-            unsafe
-            {
-                fixed (Int32* flag_ptr = &flag)
-                {
-                    Delegates.glEdgeFlagv((Int32*)flag_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEnd()
-        {
-            Delegates.glEnd();
-        }
-
-        public static 
-        void glIndexd(Double c)
-        {
-            Delegates.glIndexd((Double)c);
-        }
-
-        public static 
-        void glIndexdv(IntPtr c)
-        {
-            unsafe
-            {
-                Delegates.glIndexdv((Double*)c);
-            }
-        }
-
-        public static 
-        void glIndexdv(Double[] c)
-        {
-            unsafe
-            {
-                fixed (Double* c_ptr = c)
-                {
-                    Delegates.glIndexdv((Double*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexdv(ref Double c)
-        {
-            unsafe
-            {
-                fixed (Double* c_ptr = &c)
-                {
-                    Delegates.glIndexdv((Double*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexf(Single c)
-        {
-            Delegates.glIndexf((Single)c);
-        }
-
-        public static 
-        void glIndexfv(IntPtr c)
-        {
-            unsafe
-            {
-                Delegates.glIndexfv((Single*)c);
-            }
-        }
-
-        public static 
-        void glIndexfv(Single[] c)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glIndexfv((Single*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexfv(ref Single c)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glIndexfv((Single*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexi(Int32 c)
-        {
-            Delegates.glIndexi((Int32)c);
-        }
-
-        public static 
-        void glIndexiv(IntPtr c)
-        {
-            unsafe
-            {
-                Delegates.glIndexiv((Int32*)c);
-            }
-        }
-
-        public static 
-        void glIndexiv(Int32[] c)
-        {
-            unsafe
-            {
-                fixed (Int32* c_ptr = c)
-                {
-                    Delegates.glIndexiv((Int32*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexiv(ref Int32 c)
-        {
-            unsafe
-            {
-                fixed (Int32* c_ptr = &c)
-                {
-                    Delegates.glIndexiv((Int32*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexs(Int16 c)
-        {
-            Delegates.glIndexs((Int16)c);
-        }
-
-        public static 
-        void glIndexsv(IntPtr c)
-        {
-            unsafe
-            {
-                Delegates.glIndexsv((Int16*)c);
-            }
-        }
-
-        public static 
-        void glIndexsv(Int16[] c)
-        {
-            unsafe
-            {
-                fixed (Int16* c_ptr = c)
-                {
-                    Delegates.glIndexsv((Int16*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexsv(ref Int16 c)
-        {
-            unsafe
-            {
-                fixed (Int16* c_ptr = &c)
-                {
-                    Delegates.glIndexsv((Int16*)c_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormal3b(SByte nx, SByte ny, SByte nz)
-        {
-            Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz);
-        }
-
-        public static 
-        void glNormal3b(Byte nx, Byte ny, Byte nz)
-        {
-            Delegates.glNormal3b((SByte)nx, (SByte)ny, (SByte)nz);
-        }
-
-        public static 
-        void glNormal3bv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3bv((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormal3bv(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3bv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormal3bv(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3bv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glNormal3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3d(Double nx, Double ny, Double nz)
-        {
-            Delegates.glNormal3d((Double)nx, (Double)ny, (Double)nz);
-        }
-
-        public static 
-        void glNormal3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glNormal3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glNormal3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glNormal3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3f(Single nx, Single ny, Single nz)
-        {
-            Delegates.glNormal3f((Single)nx, (Single)ny, (Single)nz);
-        }
-
-        public static 
-        void glNormal3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glNormal3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glNormal3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glNormal3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3i(Int32 nx, Int32 ny, Int32 nz)
-        {
-            Delegates.glNormal3i((Int32)nx, (Int32)ny, (Int32)nz);
-        }
-
-        public static 
-        void glNormal3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glNormal3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glNormal3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glNormal3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3s(Int16 nx, Int16 ny, Int16 nz)
-        {
-            Delegates.glNormal3s((Int16)nx, (Int16)ny, (Int16)nz);
-        }
-
-        public static 
-        void glNormal3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glNormal3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glNormal3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glNormal3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2d(Double x, Double y)
-        {
-            Delegates.glRasterPos2d((Double)x, (Double)y);
-        }
-
-        public static 
-        void glRasterPos2dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos2dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos2dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glRasterPos2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2f(Single x, Single y)
-        {
-            Delegates.glRasterPos2f((Single)x, (Single)y);
-        }
-
-        public static 
-        void glRasterPos2fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos2fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos2fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glRasterPos2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2i(Int32 x, Int32 y)
-        {
-            Delegates.glRasterPos2i((Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glRasterPos2iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos2iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos2iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glRasterPos2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2s(Int16 x, Int16 y)
-        {
-            Delegates.glRasterPos2s((Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glRasterPos2sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos2sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos2sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glRasterPos2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos2sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glRasterPos2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3d(Double x, Double y, Double z)
-        {
-            Delegates.glRasterPos3d((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glRasterPos3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glRasterPos3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3f(Single x, Single y, Single z)
-        {
-            Delegates.glRasterPos3f((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glRasterPos3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glRasterPos3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3i(Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glRasterPos3i((Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glRasterPos3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glRasterPos3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3s(Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glRasterPos3s((Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glRasterPos3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glRasterPos3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glRasterPos3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4d(Double x, Double y, Double z, Double w)
-        {
-            Delegates.glRasterPos4d((Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glRasterPos4dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos4dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos4dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glRasterPos4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4f(Single x, Single y, Single z, Single w)
-        {
-            Delegates.glRasterPos4f((Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glRasterPos4fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos4fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos4fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glRasterPos4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glRasterPos4i((Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glRasterPos4iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos4iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos4iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glRasterPos4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glRasterPos4s((Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glRasterPos4sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glRasterPos4sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glRasterPos4sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glRasterPos4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRasterPos4sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glRasterPos4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectd(Double x1, Double y1, Double x2, Double y2)
-        {
-            Delegates.glRectd((Double)x1, (Double)y1, (Double)x2, (Double)y2);
-        }
-
-        public static 
-        void glRectdv(IntPtr v1, IntPtr v2)
-        {
-            unsafe
-            {
-                Delegates.glRectdv((Double*)v1, (Double*)v2);
-            }
-        }
-
-        public static 
-        void glRectdv(IntPtr v1, Double[] v2)
-        {
-            unsafe
-            {
-                fixed (Double* v2_ptr = v2)
-                {
-                    Delegates.glRectdv((Double*)v1, (Double*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(IntPtr v1, ref Double v2)
-        {
-            unsafe
-            {
-                fixed (Double* v2_ptr = &v2)
-                {
-                    Delegates.glRectdv((Double*)v1, (Double*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(Double[] v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Double* v1_ptr = v1)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(Double[] v1, Double[] v2)
-        {
-            unsafe
-            {
-                fixed (Double* v1_ptr = v1)
-                fixed (Double* v2_ptr = v2)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(Double[] v1, ref Double v2)
-        {
-            unsafe
-            {
-                fixed (Double* v1_ptr = v1)
-                fixed (Double* v2_ptr = &v2)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(ref Double v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Double* v1_ptr = &v1)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(ref Double v1, Double[] v2)
-        {
-            unsafe
-            {
-                fixed (Double* v1_ptr = &v1)
-                fixed (Double* v2_ptr = v2)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectdv(ref Double v1, ref Double v2)
-        {
-            unsafe
-            {
-                fixed (Double* v1_ptr = &v1)
-                fixed (Double* v2_ptr = &v2)
-                {
-                    Delegates.glRectdv((Double*)v1_ptr, (Double*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectf(Single x1, Single y1, Single x2, Single y2)
-        {
-            Delegates.glRectf((Single)x1, (Single)y1, (Single)x2, (Single)y2);
-        }
-
-        public static 
-        void glRectfv(IntPtr v1, IntPtr v2)
-        {
-            unsafe
-            {
-                Delegates.glRectfv((Single*)v1, (Single*)v2);
-            }
-        }
-
-        public static 
-        void glRectfv(IntPtr v1, Single[] v2)
-        {
-            unsafe
-            {
-                fixed (Single* v2_ptr = v2)
-                {
-                    Delegates.glRectfv((Single*)v1, (Single*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(IntPtr v1, ref Single v2)
-        {
-            unsafe
-            {
-                fixed (Single* v2_ptr = &v2)
-                {
-                    Delegates.glRectfv((Single*)v1, (Single*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(Single[] v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Single* v1_ptr = v1)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(Single[] v1, Single[] v2)
-        {
-            unsafe
-            {
-                fixed (Single* v1_ptr = v1)
-                fixed (Single* v2_ptr = v2)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(Single[] v1, ref Single v2)
-        {
-            unsafe
-            {
-                fixed (Single* v1_ptr = v1)
-                fixed (Single* v2_ptr = &v2)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(ref Single v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Single* v1_ptr = &v1)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(ref Single v1, Single[] v2)
-        {
-            unsafe
-            {
-                fixed (Single* v1_ptr = &v1)
-                fixed (Single* v2_ptr = v2)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectfv(ref Single v1, ref Single v2)
-        {
-            unsafe
-            {
-                fixed (Single* v1_ptr = &v1)
-                fixed (Single* v2_ptr = &v2)
-                {
-                    Delegates.glRectfv((Single*)v1_ptr, (Single*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRecti(Int32 x1, Int32 y1, Int32 x2, Int32 y2)
-        {
-            Delegates.glRecti((Int32)x1, (Int32)y1, (Int32)x2, (Int32)y2);
-        }
-
-        public static 
-        void glRectiv(IntPtr v1, IntPtr v2)
-        {
-            unsafe
-            {
-                Delegates.glRectiv((Int32*)v1, (Int32*)v2);
-            }
-        }
-
-        public static 
-        void glRectiv(IntPtr v1, Int32[] v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v2_ptr = v2)
-                {
-                    Delegates.glRectiv((Int32*)v1, (Int32*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(IntPtr v1, ref Int32 v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v2_ptr = &v2)
-                {
-                    Delegates.glRectiv((Int32*)v1, (Int32*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(Int32[] v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v1_ptr = v1)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(Int32[] v1, Int32[] v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v1_ptr = v1)
-                fixed (Int32* v2_ptr = v2)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(Int32[] v1, ref Int32 v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v1_ptr = v1)
-                fixed (Int32* v2_ptr = &v2)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(ref Int32 v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v1_ptr = &v1)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(ref Int32 v1, Int32[] v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v1_ptr = &v1)
-                fixed (Int32* v2_ptr = v2)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectiv(ref Int32 v1, ref Int32 v2)
-        {
-            unsafe
-            {
-                fixed (Int32* v1_ptr = &v1)
-                fixed (Int32* v2_ptr = &v2)
-                {
-                    Delegates.glRectiv((Int32*)v1_ptr, (Int32*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRects(Int16 x1, Int16 y1, Int16 x2, Int16 y2)
-        {
-            Delegates.glRects((Int16)x1, (Int16)y1, (Int16)x2, (Int16)y2);
-        }
-
-        public static 
-        void glRectsv(IntPtr v1, IntPtr v2)
-        {
-            unsafe
-            {
-                Delegates.glRectsv((Int16*)v1, (Int16*)v2);
-            }
-        }
-
-        public static 
-        void glRectsv(IntPtr v1, Int16[] v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v2_ptr = v2)
-                {
-                    Delegates.glRectsv((Int16*)v1, (Int16*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(IntPtr v1, ref Int16 v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v2_ptr = &v2)
-                {
-                    Delegates.glRectsv((Int16*)v1, (Int16*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(Int16[] v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v1_ptr = v1)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(Int16[] v1, Int16[] v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v1_ptr = v1)
-                fixed (Int16* v2_ptr = v2)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(Int16[] v1, ref Int16 v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v1_ptr = v1)
-                fixed (Int16* v2_ptr = &v2)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(ref Int16 v1, IntPtr v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v1_ptr = &v1)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(ref Int16 v1, Int16[] v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v1_ptr = &v1)
-                fixed (Int16* v2_ptr = v2)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRectsv(ref Int16 v1, ref Int16 v2)
-        {
-            unsafe
-            {
-                fixed (Int16* v1_ptr = &v1)
-                fixed (Int16* v2_ptr = &v2)
-                {
-                    Delegates.glRectsv((Int16*)v1_ptr, (Int16*)v2_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1d(Double s)
-        {
-            Delegates.glTexCoord1d((Double)s);
-        }
-
-        public static 
-        void glTexCoord1dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord1dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord1dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord1dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord1dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1f(Single s)
-        {
-            Delegates.glTexCoord1f((Single)s);
-        }
-
-        public static 
-        void glTexCoord1fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord1fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord1fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord1fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord1fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1i(Int32 s)
-        {
-            Delegates.glTexCoord1i((Int32)s);
-        }
-
-        public static 
-        void glTexCoord1iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord1iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord1iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord1iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord1iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1s(Int16 s)
-        {
-            Delegates.glTexCoord1s((Int16)s);
-        }
-
-        public static 
-        void glTexCoord1sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord1sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord1sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord1sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord1sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2d(Double s, Double t)
-        {
-            Delegates.glTexCoord2d((Double)s, (Double)t);
-        }
-
-        public static 
-        void glTexCoord2dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2f(Single s, Single t)
-        {
-            Delegates.glTexCoord2f((Single)s, (Single)t);
-        }
-
-        public static 
-        void glTexCoord2fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2i(Int32 s, Int32 t)
-        {
-            Delegates.glTexCoord2i((Int32)s, (Int32)t);
-        }
-
-        public static 
-        void glTexCoord2iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2s(Int16 s, Int16 t)
-        {
-            Delegates.glTexCoord2s((Int16)s, (Int16)t);
-        }
-
-        public static 
-        void glTexCoord2sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3d(Double s, Double t, Double r)
-        {
-            Delegates.glTexCoord3d((Double)s, (Double)t, (Double)r);
-        }
-
-        public static 
-        void glTexCoord3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3f(Single s, Single t, Single r)
-        {
-            Delegates.glTexCoord3f((Single)s, (Single)t, (Single)r);
-        }
-
-        public static 
-        void glTexCoord3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3i(Int32 s, Int32 t, Int32 r)
-        {
-            Delegates.glTexCoord3i((Int32)s, (Int32)t, (Int32)r);
-        }
-
-        public static 
-        void glTexCoord3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3s(Int16 s, Int16 t, Int16 r)
-        {
-            Delegates.glTexCoord3s((Int16)s, (Int16)t, (Int16)r);
-        }
-
-        public static 
-        void glTexCoord3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4d(Double s, Double t, Double r, Double q)
-        {
-            Delegates.glTexCoord4d((Double)s, (Double)t, (Double)r, (Double)q);
-        }
-
-        public static 
-        void glTexCoord4dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord4dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTexCoord4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4f(Single s, Single t, Single r, Single q)
-        {
-            Delegates.glTexCoord4f((Single)s, (Single)t, (Single)r, (Single)q);
-        }
-
-        public static 
-        void glTexCoord4fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord4fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q)
-        {
-            Delegates.glTexCoord4i((Int32)s, (Int32)t, (Int32)r, (Int32)q);
-        }
-
-        public static 
-        void glTexCoord4iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord4iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTexCoord4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            Delegates.glTexCoord4s((Int16)s, (Int16)t, (Int16)r, (Int16)q);
-        }
-
-        public static 
-        void glTexCoord4sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord4sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2d(Double x, Double y)
-        {
-            Delegates.glVertex2d((Double)x, (Double)y);
-        }
-
-        public static 
-        void glVertex2dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex2dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glVertex2dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertex2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertex2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2f(Single x, Single y)
-        {
-            Delegates.glVertex2f((Single)x, (Single)y);
-        }
-
-        public static 
-        void glVertex2fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex2fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glVertex2fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertex2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertex2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2i(Int32 x, Int32 y)
-        {
-            Delegates.glVertex2i((Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glVertex2iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex2iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertex2iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertex2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertex2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2s(Int16 x, Int16 y)
-        {
-            Delegates.glVertex2s((Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glVertex2sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex2sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertex2sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3d(Double x, Double y, Double z)
-        {
-            Delegates.glVertex3d((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glVertex3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glVertex3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertex3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertex3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3f(Single x, Single y, Single z)
-        {
-            Delegates.glVertex3f((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glVertex3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glVertex3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertex3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertex3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3i(Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glVertex3i((Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glVertex3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertex3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertex3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertex3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3s(Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertex3s((Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glVertex3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertex3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4d(Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertex4d((Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glVertex4dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex4dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glVertex4dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertex4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertex4dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4f(Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertex4f((Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glVertex4fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex4fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glVertex4fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertex4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertex4fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4i(Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glVertex4i((Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glVertex4iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex4iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertex4iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertex4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertex4iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4s(Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertex4s((Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glVertex4sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex4sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertex4sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex4sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glClipPlane(int plane, IntPtr equation)
-        {
-            unsafe
-            {
-                Delegates.glClipPlane((int)plane, (Double*)equation);
-            }
-        }
-
-        public static 
-        void glClipPlane(int plane, Double[] equation)
-        {
-            unsafe
-            {
-                fixed (Double* equation_ptr = equation)
-                {
-                    Delegates.glClipPlane((int)plane, (Double*)equation_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glClipPlane(int plane, ref Double equation)
-        {
-            unsafe
-            {
-                fixed (Double* equation_ptr = &equation)
-                {
-                    Delegates.glClipPlane((int)plane, (Double*)equation_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorMaterial(int face, int mode)
-        {
-            Delegates.glColorMaterial((int)face, (int)mode);
-        }
-
-        public static 
-        void glCullFace(int mode)
-        {
-            Delegates.glCullFace((int)mode);
-        }
-
-        public static 
-        void glFogf(int pname, Single param)
-        {
-            Delegates.glFogf((int)pname, (Single)param);
-        }
-
-        public static 
-        void glFogfv(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFogfv((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glFogfv(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glFogfv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogfv(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glFogfv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogi(int pname, Int32 param)
-        {
-            Delegates.glFogi((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glFogiv(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFogiv((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glFogiv(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glFogiv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogiv(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glFogiv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFrontFace(int mode)
-        {
-            Delegates.glFrontFace((int)mode);
-        }
-
-        public static 
-        void glHint(int target, int mode)
-        {
-            Delegates.glHint((int)target, (int)mode);
-        }
-
-        public static 
-        void glLightf(int light, int pname, Single param)
-        {
-            Delegates.glLightf((int)light, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glLightfv(int light, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glLightfv((int)light, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glLightfv(int light, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glLightfv((int)light, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLightfv(int light, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glLightfv((int)light, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLighti(int light, int pname, Int32 param)
-        {
-            Delegates.glLighti((int)light, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glLightiv(int light, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glLightiv((int)light, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glLightiv(int light, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glLightiv((int)light, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLightiv(int light, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glLightiv((int)light, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLightModelf(int pname, Single param)
-        {
-            Delegates.glLightModelf((int)pname, (Single)param);
-        }
-
-        public static 
-        void glLightModelfv(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glLightModelfv((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glLightModelfv(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glLightModelfv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLightModelfv(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glLightModelfv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLightModeli(int pname, Int32 param)
-        {
-            Delegates.glLightModeli((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glLightModeliv(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glLightModeliv((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glLightModeliv(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glLightModeliv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLightModeliv(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glLightModeliv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLineStipple(Int32 factor, UInt16 pattern)
-        {
-            unsafe
-            {
-                Delegates.glLineStipple((Int32)factor, (UInt16)pattern);
-            }
-        }
-
-        public static 
-        void glLineStipple(Int32 factor, Int16 pattern)
-        {
-            unsafe
-            {
-                Delegates.glLineStipple((Int32)factor, (UInt16)pattern);
-            }
-        }
-
-        public static 
-        void glLineWidth(Single width)
-        {
-            Delegates.glLineWidth((Single)width);
-        }
-
-        public static 
-        void glMaterialf(int face, int pname, Single param)
-        {
-            Delegates.glMaterialf((int)face, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glMaterialfv(int face, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glMaterialfv((int)face, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glMaterialfv(int face, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glMaterialfv((int)face, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMaterialfv(int face, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glMaterialfv((int)face, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMateriali(int face, int pname, Int32 param)
-        {
-            Delegates.glMateriali((int)face, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glMaterialiv(int face, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glMaterialiv((int)face, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glMaterialiv(int face, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glMaterialiv((int)face, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMaterialiv(int face, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glMaterialiv((int)face, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointSize(Single size)
-        {
-            Delegates.glPointSize((Single)size);
-        }
-
-        public static 
-        void glPolygonMode(int face, int mode)
-        {
-            Delegates.glPolygonMode((int)face, (int)mode);
-        }
-
-        public static 
-        void glPolygonStipple(IntPtr mask)
-        {
-            unsafe
-            {
-                Delegates.glPolygonStipple((Byte*)mask);
-            }
-        }
-
-        public static 
-        void glPolygonStipple(Byte[] mask)
-        {
-            unsafe
-            {
-                fixed (Byte* mask_ptr = mask)
-                {
-                    Delegates.glPolygonStipple((Byte*)mask_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPolygonStipple(ref Byte mask)
-        {
-            unsafe
-            {
-                fixed (Byte* mask_ptr = &mask)
-                {
-                    Delegates.glPolygonStipple((Byte*)mask_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glScissor(Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glScissor((Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glShadeModel(int mode)
-        {
-            Delegates.glShadeModel((int)mode);
-        }
-
-        public static 
-        void glTexParameterf(int target, int pname, Single param)
-        {
-            Delegates.glTexParameterf((int)target, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glTexParameterfv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glTexParameterfv(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameterfv(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameteri(int target, int pname, Int32 param)
-        {
-            Delegates.glTexParameteri((int)target, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glTexParameteriv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glTexParameteriv(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameteriv(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexEnvf(int target, int pname, Single param)
-        {
-            Delegates.glTexEnvf((int)target, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glTexEnvfv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexEnvfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glTexEnvfv(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glTexEnvfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexEnvfv(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glTexEnvfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexEnvi(int target, int pname, Int32 param)
-        {
-            Delegates.glTexEnvi((int)target, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glTexEnviv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexEnviv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glTexEnviv(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexEnviv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexEnviv(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glTexEnviv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexGend(int coord, int pname, Double param)
-        {
-            Delegates.glTexGend((int)coord, (int)pname, (Double)param);
-        }
-
-        public static 
-        void glTexGendv(int coord, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexGendv((int)coord, (int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glTexGendv(int coord, int pname, Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glTexGendv((int)coord, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexGendv(int coord, int pname, ref Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glTexGendv((int)coord, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexGenf(int coord, int pname, Single param)
-        {
-            Delegates.glTexGenf((int)coord, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glTexGenfv(int coord, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexGenfv((int)coord, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glTexGenfv(int coord, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glTexGenfv((int)coord, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexGenfv(int coord, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glTexGenfv((int)coord, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexGeni(int coord, int pname, Int32 param)
-        {
-            Delegates.glTexGeni((int)coord, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glTexGeniv(int coord, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexGeniv((int)coord, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glTexGeniv(int coord, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexGeniv(int coord, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFeedbackBuffer(Int32 size, int type, [Out] IntPtr buffer)
-        {
-            unsafe
-            {
-                Delegates.glFeedbackBuffer((Int32)size, (int)type, (Single*)buffer);
-            }
-        }
-
-        public static 
-        void glFeedbackBuffer(Int32 size, int type, [Out] Single[] buffer)
-        {
-            unsafe
-            {
-                fixed (Single* buffer_ptr = buffer)
-                {
-                    Delegates.glFeedbackBuffer((Int32)size, (int)type, (Single*)buffer_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFeedbackBuffer(Int32 size, int type, [Out] out Single buffer)
-        {
-            unsafe
-            {
-                fixed (Single* buffer_ptr = &buffer)
-                {
-                    Delegates.glFeedbackBuffer((Int32)size, (int)type, (Single*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glSelectBuffer(Int32 size, [Out] IntPtr buffer)
-        {
-            unsafe
-            {
-                Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSelectBuffer(Int32 size, [Out] UInt32[] buffer)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffer_ptr = buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSelectBuffer(Int32 size, [Out] Int32[] buffer)
-        {
-            unsafe
-            {
-                fixed (Int32* buffer_ptr = buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSelectBuffer(Int32 size, [Out] out UInt32 buffer)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffer_ptr = &buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glSelectBuffer(Int32 size, [Out] out Int32 buffer)
-        {
-            unsafe
-            {
-                fixed (Int32* buffer_ptr = &buffer)
-                {
-                    Delegates.glSelectBuffer((Int32)size, (UInt32*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-        }
-
-        public static 
-        Int32 glRenderMode(int mode)
-        {
-            return Delegates.glRenderMode((int)mode);
-        }
-
-        public static 
-        void glInitNames()
-        {
-            Delegates.glInitNames();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLoadName(UInt32 name)
-        {
-            Delegates.glLoadName((UInt32)name);
-        }
-
-        public static 
-        void glLoadName(Int32 name)
-        {
-            Delegates.glLoadName((UInt32)name);
-        }
-
-        public static 
-        void glPassThrough(Single token)
-        {
-            Delegates.glPassThrough((Single)token);
-        }
-
-        public static 
-        void glPopName()
-        {
-            Delegates.glPopName();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPushName(UInt32 name)
-        {
-            Delegates.glPushName((UInt32)name);
-        }
-
-        public static 
-        void glPushName(Int32 name)
-        {
-            Delegates.glPushName((UInt32)name);
-        }
-
-        public static 
-        void glDrawBuffer(int mode)
-        {
-            Delegates.glDrawBuffer((int)mode);
-        }
-
-        public static 
-        void glClear(int mask)
-        {
-            Delegates.glClear((int)mask);
-        }
-
-        public static 
-        void glClearAccum(Single red, Single green, Single blue, Single alpha)
-        {
-            Delegates.glClearAccum((Single)red, (Single)green, (Single)blue, (Single)alpha);
-        }
-
-        public static 
-        void glClearIndex(Single c)
-        {
-            Delegates.glClearIndex((Single)c);
-        }
-
-        public static 
-        void glClearColor(Single red, Single green, Single blue, Single alpha)
-        {
-            Delegates.glClearColor((Single)red, (Single)green, (Single)blue, (Single)alpha);
-        }
-
-        public static 
-        void glClearStencil(Int32 s)
-        {
-            Delegates.glClearStencil((Int32)s);
-        }
-
-        public static 
-        void glClearDepth(Double depth)
-        {
-            Delegates.glClearDepth((Double)depth);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glStencilMask(UInt32 mask)
-        {
-            Delegates.glStencilMask((UInt32)mask);
-        }
-
-        public static 
-        void glStencilMask(Int32 mask)
-        {
-            Delegates.glStencilMask((UInt32)mask);
-        }
-
-        public static 
-        void glColorMask(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            Delegates.glColorMask((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha);
-        }
-
-        public static 
-        void glDepthMask(Int32 flag)
-        {
-            Delegates.glDepthMask((Int32)flag);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glIndexMask(UInt32 mask)
-        {
-            Delegates.glIndexMask((UInt32)mask);
-        }
-
-        public static 
-        void glIndexMask(Int32 mask)
-        {
-            Delegates.glIndexMask((UInt32)mask);
-        }
-
-        public static 
-        void glAccum(int op, Single value)
-        {
-            Delegates.glAccum((int)op, (Single)value);
-        }
-
-        public static 
-        void glDisable(int cap)
-        {
-            Delegates.glDisable((int)cap);
-        }
-
-        public static 
-        void glEnable(int cap)
-        {
-            Delegates.glEnable((int)cap);
-        }
-
-        public static 
-        void glFinish()
-        {
-            Delegates.glFinish();
-        }
-
-        public static 
-        void glFlush()
-        {
-            Delegates.glFlush();
-        }
-
-        public static 
-        void glPopAttrib()
-        {
-            Delegates.glPopAttrib();
-        }
-
-        public static 
-        void glPushAttrib(int mask)
-        {
-            Delegates.glPushAttrib((int)mask);
-        }
-
-        public static 
-        void glMap1d(int target, Double u1, Double u2, Int32 stride, Int32 order, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glMap1d((int)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points);
-            }
-        }
-
-        public static 
-        void glMap1d(int target, Double u1, Double u2, Int32 stride, Int32 order, Double[] points)
-        {
-            unsafe
-            {
-                fixed (Double* points_ptr = points)
-                {
-                    Delegates.glMap1d((int)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap1d(int target, Double u1, Double u2, Int32 stride, Int32 order, ref Double points)
-        {
-            unsafe
-            {
-                fixed (Double* points_ptr = &points)
-                {
-                    Delegates.glMap1d((int)target, (Double)u1, (Double)u2, (Int32)stride, (Int32)order, (Double*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap1f(int target, Single u1, Single u2, Int32 stride, Int32 order, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glMap1f((int)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points);
-            }
-        }
-
-        public static 
-        void glMap1f(int target, Single u1, Single u2, Int32 stride, Int32 order, Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glMap1f((int)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap1f(int target, Single u1, Single u2, Int32 stride, Int32 order, ref Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glMap1f((int)target, (Single)u1, (Single)u2, (Int32)stride, (Int32)order, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glMap2d((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points);
-            }
-        }
-
-        public static 
-        void glMap2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double[] points)
-        {
-            unsafe
-            {
-                fixed (Double* points_ptr = points)
-                {
-                    Delegates.glMap2d((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap2d(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, ref Double points)
-        {
-            unsafe
-            {
-                fixed (Double* points_ptr = &points)
-                {
-                    Delegates.glMap2d((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glMap2f((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points);
-            }
-        }
-
-        public static 
-        void glMap2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glMap2f((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMap2f(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, ref Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glMap2f((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMapGrid1d(Int32 un, Double u1, Double u2)
-        {
-            Delegates.glMapGrid1d((Int32)un, (Double)u1, (Double)u2);
-        }
-
-        public static 
-        void glMapGrid1f(Int32 un, Single u1, Single u2)
-        {
-            Delegates.glMapGrid1f((Int32)un, (Single)u1, (Single)u2);
-        }
-
-        public static 
-        void glMapGrid2d(Int32 un, Double u1, Double u2, Int32 vn, Double v1, Double v2)
-        {
-            Delegates.glMapGrid2d((Int32)un, (Double)u1, (Double)u2, (Int32)vn, (Double)v1, (Double)v2);
-        }
-
-        public static 
-        void glMapGrid2f(Int32 un, Single u1, Single u2, Int32 vn, Single v1, Single v2)
-        {
-            Delegates.glMapGrid2f((Int32)un, (Single)u1, (Single)u2, (Int32)vn, (Single)v1, (Single)v2);
-        }
-
-        public static 
-        void glEvalCoord1d(Double u)
-        {
-            Delegates.glEvalCoord1d((Double)u);
-        }
-
-        public static 
-        void glEvalCoord1dv(IntPtr u)
-        {
-            unsafe
-            {
-                Delegates.glEvalCoord1dv((Double*)u);
-            }
-        }
-
-        public static 
-        void glEvalCoord1dv(Double[] u)
-        {
-            unsafe
-            {
-                fixed (Double* u_ptr = u)
-                {
-                    Delegates.glEvalCoord1dv((Double*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord1dv(ref Double u)
-        {
-            unsafe
-            {
-                fixed (Double* u_ptr = &u)
-                {
-                    Delegates.glEvalCoord1dv((Double*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord1f(Single u)
-        {
-            Delegates.glEvalCoord1f((Single)u);
-        }
-
-        public static 
-        void glEvalCoord1fv(IntPtr u)
-        {
-            unsafe
-            {
-                Delegates.glEvalCoord1fv((Single*)u);
-            }
-        }
-
-        public static 
-        void glEvalCoord1fv(Single[] u)
-        {
-            unsafe
-            {
-                fixed (Single* u_ptr = u)
-                {
-                    Delegates.glEvalCoord1fv((Single*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord1fv(ref Single u)
-        {
-            unsafe
-            {
-                fixed (Single* u_ptr = &u)
-                {
-                    Delegates.glEvalCoord1fv((Single*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord2d(Double u, Double v)
-        {
-            Delegates.glEvalCoord2d((Double)u, (Double)v);
-        }
-
-        public static 
-        void glEvalCoord2dv(IntPtr u)
-        {
-            unsafe
-            {
-                Delegates.glEvalCoord2dv((Double*)u);
-            }
-        }
-
-        public static 
-        void glEvalCoord2dv(Double[] u)
-        {
-            unsafe
-            {
-                fixed (Double* u_ptr = u)
-                {
-                    Delegates.glEvalCoord2dv((Double*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord2dv(ref Double u)
-        {
-            unsafe
-            {
-                fixed (Double* u_ptr = &u)
-                {
-                    Delegates.glEvalCoord2dv((Double*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord2f(Single u, Single v)
-        {
-            Delegates.glEvalCoord2f((Single)u, (Single)v);
-        }
-
-        public static 
-        void glEvalCoord2fv(IntPtr u)
-        {
-            unsafe
-            {
-                Delegates.glEvalCoord2fv((Single*)u);
-            }
-        }
-
-        public static 
-        void glEvalCoord2fv(Single[] u)
-        {
-            unsafe
-            {
-                fixed (Single* u_ptr = u)
-                {
-                    Delegates.glEvalCoord2fv((Single*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalCoord2fv(ref Single u)
-        {
-            unsafe
-            {
-                fixed (Single* u_ptr = &u)
-                {
-                    Delegates.glEvalCoord2fv((Single*)u_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEvalMesh1(int mode, Int32 i1, Int32 i2)
-        {
-            Delegates.glEvalMesh1((int)mode, (Int32)i1, (Int32)i2);
-        }
-
-        public static 
-        void glEvalPoint1(Int32 i)
-        {
-            Delegates.glEvalPoint1((Int32)i);
-        }
-
-        public static 
-        void glEvalMesh2(int mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2)
-        {
-            Delegates.glEvalMesh2((int)mode, (Int32)i1, (Int32)i2, (Int32)j1, (Int32)j2);
-        }
-
-        public static 
-        void glEvalPoint2(Int32 i, Int32 j)
-        {
-            Delegates.glEvalPoint2((Int32)i, (Int32)j);
-        }
-
-        public static 
-        void glAlphaFunc(int func, Single @ref)
-        {
-            Delegates.glAlphaFunc((int)func, (Single)@ref);
-        }
-
-        public static 
-        void glBlendFunc(int sfactor, int dfactor)
-        {
-            Delegates.glBlendFunc((int)sfactor, (int)dfactor);
-        }
-
-        public static 
-        void glLogicOp(int opcode)
-        {
-            Delegates.glLogicOp((int)opcode);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glStencilFunc(int func, Int32 @ref, UInt32 mask)
-        {
-            Delegates.glStencilFunc((int)func, (Int32)@ref, (UInt32)mask);
-        }
-
-        public static 
-        void glStencilFunc(int func, Int32 @ref, Int32 mask)
-        {
-            Delegates.glStencilFunc((int)func, (Int32)@ref, (UInt32)mask);
-        }
-
-        public static 
-        void glStencilOp(int fail, int zfail, int zpass)
-        {
-            Delegates.glStencilOp((int)fail, (int)zfail, (int)zpass);
-        }
-
-        public static 
-        void glDepthFunc(int func)
-        {
-            Delegates.glDepthFunc((int)func);
-        }
-
-        public static 
-        void glPixelZoom(Single xfactor, Single yfactor)
-        {
-            Delegates.glPixelZoom((Single)xfactor, (Single)yfactor);
-        }
-
-        public static 
-        void glPixelTransferf(int pname, Single param)
-        {
-            Delegates.glPixelTransferf((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPixelTransferi(int pname, Int32 param)
-        {
-            Delegates.glPixelTransferi((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPixelStoref(int pname, Single param)
-        {
-            Delegates.glPixelStoref((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPixelStorei(int pname, Int32 param)
-        {
-            Delegates.glPixelStorei((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPixelMapfv(int map, Int32 mapsize, IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glPixelMapfv((int)map, (Int32)mapsize, (Single*)values);
-            }
-        }
-
-        public static 
-        void glPixelMapfv(int map, Int32 mapsize, Single[] values)
-        {
-            unsafe
-            {
-                fixed (Single* values_ptr = values)
-                {
-                    Delegates.glPixelMapfv((int)map, (Int32)mapsize, (Single*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapfv(int map, Int32 mapsize, ref Single values)
-        {
-            unsafe
-            {
-                fixed (Single* values_ptr = &values)
-                {
-                    Delegates.glPixelMapfv((int)map, (Int32)mapsize, (Single*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapuiv(int map, Int32 mapsize, IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPixelMapuiv(int map, Int32 mapsize, UInt32[] values)
-        {
-            unsafe
-            {
-                fixed (UInt32* values_ptr = values)
-                {
-                    Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapuiv(int map, Int32 mapsize, Int32[] values)
-        {
-            unsafe
-            {
-                fixed (Int32* values_ptr = values)
-                {
-                    Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPixelMapuiv(int map, Int32 mapsize, ref UInt32 values)
-        {
-            unsafe
-            {
-                fixed (UInt32* values_ptr = &values)
-                {
-                    Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapuiv(int map, Int32 mapsize, ref Int32 values)
-        {
-            unsafe
-            {
-                fixed (Int32* values_ptr = &values)
-                {
-                    Delegates.glPixelMapuiv((int)map, (Int32)mapsize, (UInt32*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapusv(int map, Int32 mapsize, IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPixelMapusv(int map, Int32 mapsize, UInt16[] values)
-        {
-            unsafe
-            {
-                fixed (UInt16* values_ptr = values)
-                {
-                    Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapusv(int map, Int32 mapsize, Int16[] values)
-        {
-            unsafe
-            {
-                fixed (Int16* values_ptr = values)
-                {
-                    Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPixelMapusv(int map, Int32 mapsize, ref UInt16 values)
-        {
-            unsafe
-            {
-                fixed (UInt16* values_ptr = &values)
-                {
-                    Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelMapusv(int map, Int32 mapsize, ref Int16 values)
-        {
-            unsafe
-            {
-                fixed (Int16* values_ptr = &values)
-                {
-                    Delegates.glPixelMapusv((int)map, (Int32)mapsize, (UInt16*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReadBuffer(int mode)
-        {
-            Delegates.glReadBuffer((int)mode);
-        }
-
-        public static 
-        void glCopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, int type)
-        {
-            Delegates.glCopyPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (int)type);
-        }
-
-        public static 
-        void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [Out] IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glReadPixels((Int32)x, (Int32)y, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDrawPixels(Int32 width, Int32 height, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glDrawPixels((Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glDrawPixels(Int32 width, Int32 height, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawPixels((Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetBooleanv(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetBooleanv((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetBooleanv(int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetBooleanv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetBooleanv(int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetBooleanv((int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetClipPlane(int plane, [Out] IntPtr equation)
-        {
-            unsafe
-            {
-                Delegates.glGetClipPlane((int)plane, (Double*)equation);
-            }
-        }
-
-        public static 
-        void glGetClipPlane(int plane, [Out] Double[] equation)
-        {
-            unsafe
-            {
-                fixed (Double* equation_ptr = equation)
-                {
-                    Delegates.glGetClipPlane((int)plane, (Double*)equation_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetClipPlane(int plane, [Out] out Double equation)
-        {
-            unsafe
-            {
-                fixed (Double* equation_ptr = &equation)
-                {
-                    Delegates.glGetClipPlane((int)plane, (Double*)equation_ptr);
-                    equation = *equation_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetDoublev(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetDoublev((int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetDoublev(int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetDoublev((int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetDoublev(int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetDoublev((int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        int glGetError()
-        {
-            return Delegates.glGetError();
-        }
-
-        public static 
-        void glGetFloatv(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFloatv((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetFloatv(int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetFloatv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFloatv(int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetFloatv((int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetIntegerv(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetIntegerv((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetIntegerv(int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetIntegerv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetIntegerv(int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetIntegerv((int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetLightfv(int light, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetLightfv((int)light, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetLightfv(int light, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetLightfv((int)light, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetLightfv(int light, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetLightfv((int)light, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetLightiv(int light, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetLightiv((int)light, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetLightiv(int light, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetLightiv((int)light, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetLightiv(int light, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetLightiv((int)light, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMapdv(int target, int query, [Out] IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glGetMapdv((int)target, (int)query, (Double*)v);
-            }
-        }
-
-        public static 
-        void glGetMapdv(int target, int query, [Out] Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glGetMapdv((int)target, (int)query, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapdv(int target, int query, [Out] out Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glGetMapdv((int)target, (int)query, (Double*)v_ptr);
-                    v = *v_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMapfv(int target, int query, [Out] IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glGetMapfv((int)target, (int)query, (Single*)v);
-            }
-        }
-
-        public static 
-        void glGetMapfv(int target, int query, [Out] Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glGetMapfv((int)target, (int)query, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapfv(int target, int query, [Out] out Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glGetMapfv((int)target, (int)query, (Single*)v_ptr);
-                    v = *v_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMapiv(int target, int query, [Out] IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glGetMapiv((int)target, (int)query, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glGetMapiv(int target, int query, [Out] Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glGetMapiv((int)target, (int)query, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapiv(int target, int query, [Out] out Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glGetMapiv((int)target, (int)query, (Int32*)v_ptr);
-                    v = *v_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMaterialfv(int face, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMaterialfv((int)face, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetMaterialfv(int face, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMaterialfv((int)face, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMaterialfv(int face, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMaterialfv((int)face, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMaterialiv(int face, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMaterialiv((int)face, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetMaterialiv(int face, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMaterialiv((int)face, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMaterialiv(int face, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMaterialiv((int)face, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapfv(int map, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetPixelMapfv((int)map, (Single*)values);
-            }
-        }
-
-        public static 
-        void glGetPixelMapfv(int map, [Out] Single[] values)
-        {
-            unsafe
-            {
-                fixed (Single* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapfv((int)map, (Single*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapfv(int map, [Out] out Single values)
-        {
-            unsafe
-            {
-                fixed (Single* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapfv((int)map, (Single*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapuiv(int map, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetPixelMapuiv((int)map, (UInt32*)values);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetPixelMapuiv(int map, [Out] UInt32[] values)
-        {
-            unsafe
-            {
-                fixed (UInt32* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapuiv(int map, [Out] Int32[] values)
-        {
-            unsafe
-            {
-                fixed (Int32* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetPixelMapuiv(int map, [Out] out UInt32 values)
-        {
-            unsafe
-            {
-                fixed (UInt32* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapuiv(int map, [Out] out Int32 values)
-        {
-            unsafe
-            {
-                fixed (Int32* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapuiv((int)map, (UInt32*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapusv(int map, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetPixelMapusv((int)map, (UInt16*)values);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetPixelMapusv(int map, [Out] UInt16[] values)
-        {
-            unsafe
-            {
-                fixed (UInt16* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapusv(int map, [Out] Int16[] values)
-        {
-            unsafe
-            {
-                fixed (Int16* values_ptr = values)
-                {
-                    Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetPixelMapusv(int map, [Out] out UInt16 values)
-        {
-            unsafe
-            {
-                fixed (UInt16* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelMapusv(int map, [Out] out Int16 values)
-        {
-            unsafe
-            {
-                fixed (Int16* values_ptr = &values)
-                {
-                    Delegates.glGetPixelMapusv((int)map, (UInt16*)values_ptr);
-                    values = *values_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPolygonStipple([Out] IntPtr mask)
-        {
-            unsafe
-            {
-                Delegates.glGetPolygonStipple((Byte*)mask);
-            }
-        }
-
-        public static 
-        void glGetPolygonStipple([Out] Byte[] mask)
-        {
-            unsafe
-            {
-                fixed (Byte* mask_ptr = mask)
-                {
-                    Delegates.glGetPolygonStipple((Byte*)mask_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPolygonStipple([Out] out Byte mask)
-        {
-            unsafe
-            {
-                fixed (Byte* mask_ptr = &mask)
-                {
-                    Delegates.glGetPolygonStipple((Byte*)mask_ptr);
-                    mask = *mask_ptr;
-                }
-            }
-        }
-
-        public static 
-        string glGetString(int name)
-        {
-            unsafe
-            {
-                return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(Delegates.glGetString((int)name));
-            }
-        }
-
-        public static 
-        void glGetTexEnvfv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexEnvfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexEnvfv(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexEnvfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexEnvfv(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexEnvfv((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexEnviv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexEnviv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexEnviv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexEnviv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexEnviv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexEnviv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexGendv(int coord, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexGendv((int)coord, (int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexGendv(int coord, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetTexGendv((int)coord, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexGendv(int coord, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexGendv((int)coord, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexGenfv(int coord, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexGenfv((int)coord, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexGenfv(int coord, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexGenfv((int)coord, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexGenfv(int coord, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexGenfv((int)coord, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexGeniv(int coord, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexGeniv((int)coord, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexGeniv(int coord, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexGeniv(int coord, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexGeniv((int)coord, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexImage(int target, Int32 level, int format, int type, [Out] IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glGetTexImage((int)target, (Int32)level, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glGetTexImage(int target, Int32 level, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetTexImage((int)target, (Int32)level, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterfv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexParameterfv(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterfv(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameteriv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexParameteriv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameteriv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexLevelParameterfv(int target, Int32 level, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexLevelParameterfv((int)target, (Int32)level, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexLevelParameterfv(int target, Int32 level, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetTexLevelParameterfv((int)target, (Int32)level, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexLevelParameterfv(int target, Int32 level, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexLevelParameterfv((int)target, (Int32)level, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexLevelParameteriv(int target, Int32 level, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexLevelParameteriv((int)target, (Int32)level, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexLevelParameteriv(int target, Int32 level, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexLevelParameteriv((int)target, (Int32)level, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexLevelParameteriv(int target, Int32 level, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexLevelParameteriv((int)target, (Int32)level, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        Int32 glIsEnabled(int cap)
-        {
-            return Delegates.glIsEnabled((int)cap);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsList(UInt32 list)
-        {
-            return Delegates.glIsList((UInt32)list);
-        }
-
-        public static 
-        Int32 glIsList(Int32 list)
-        {
-            return Delegates.glIsList((UInt32)list);
-        }
-
-        public static 
-        void glDepthRange(Double near, Double far)
-        {
-            Delegates.glDepthRange((Double)near, (Double)far);
-        }
-
-        public static 
-        void glFrustum(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar)
-        {
-            Delegates.glFrustum((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar);
-        }
-
-        public static 
-        void glLoadIdentity()
-        {
-            Delegates.glLoadIdentity();
-        }
-
-        public static 
-        void glLoadMatrixf(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glLoadMatrixf((Single*)m);
-            }
-        }
-
-        public static 
-        void glLoadMatrixf(Single[] m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glLoadMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadMatrixf(ref Single m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glLoadMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadMatrixd(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glLoadMatrixd((Double*)m);
-            }
-        }
-
-        public static 
-        void glLoadMatrixd(Double[] m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glLoadMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadMatrixd(ref Double m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glLoadMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixMode(int mode)
-        {
-            Delegates.glMatrixMode((int)mode);
-        }
-
-        public static 
-        void glMultMatrixf(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glMultMatrixf((Single*)m);
-            }
-        }
-
-        public static 
-        void glMultMatrixf(Single[] m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glMultMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultMatrixf(ref Single m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glMultMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultMatrixd(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glMultMatrixd((Double*)m);
-            }
-        }
-
-        public static 
-        void glMultMatrixd(Double[] m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glMultMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultMatrixd(ref Double m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glMultMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glOrtho(Double left, Double right, Double bottom, Double top, Double zNear, Double zFar)
-        {
-            Delegates.glOrtho((Double)left, (Double)right, (Double)bottom, (Double)top, (Double)zNear, (Double)zFar);
-        }
-
-        public static 
-        void glPopMatrix()
-        {
-            Delegates.glPopMatrix();
-        }
-
-        public static 
-        void glPushMatrix()
-        {
-            Delegates.glPushMatrix();
-        }
-
-        public static 
-        void glRotated(Double angle, Double x, Double y, Double z)
-        {
-            Delegates.glRotated((Double)angle, (Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glRotatef(Single angle, Single x, Single y, Single z)
-        {
-            Delegates.glRotatef((Single)angle, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glScaled(Double x, Double y, Double z)
-        {
-            Delegates.glScaled((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glScalef(Single x, Single y, Single z)
-        {
-            Delegates.glScalef((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glTranslated(Double x, Double y, Double z)
-        {
-            Delegates.glTranslated((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glTranslatef(Single x, Single y, Single z)
-        {
-            Delegates.glTranslatef((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glViewport(Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glViewport((Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glArrayElement(Int32 i)
-        {
-            Delegates.glArrayElement((Int32)i);
-        }
-
-        public static 
-        void glColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glColorPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDisableClientState(int array)
-        {
-            Delegates.glDisableClientState((int)array);
-        }
-
-        public static 
-        void glDrawArrays(int mode, Int32 first, Int32 count)
-        {
-            Delegates.glDrawArrays((int)mode, (Int32)first, (Int32)count);
-        }
-
-        public static 
-        void glDrawElements(int mode, Int32 count, int type, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glDrawElements((int)mode, (Int32)count, (int)type, (IntPtr)indices);
-            }
-        }
-
-        public static 
-        void glDrawElements(int mode, Int32 count, int type, [In, Out] object indices)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElements((int)mode, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointer(Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointer(Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glEdgeFlagPointer((Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glEnableClientState(int array)
-        {
-            Delegates.glEnableClientState((int)array);
-        }
-
-        public static 
-        void glGetPointerv(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetPointerv((int)pname, (IntPtr)@params);
-            }
-        }
-
-        public static 
-        void glGetPointerv(int pname, [In, Out] object @params)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointerv((int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glIndexPointer(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glIndexPointer((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glIndexPointer(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointer((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glInterleavedArrays(int format, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glInterleavedArrays((int)format, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glInterleavedArrays(int format, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glInterleavedArrays((int)format, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glNormalPointer(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glNormalPointer((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glNormalPointer(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointer((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexCoordPointer(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glTexCoordPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glTexCoordPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexPointer(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glPolygonOffset(Single factor, Single units)
-        {
-            Delegates.glPolygonOffset((Single)factor, (Single)units);
-        }
-
-        public static 
-        void glCopyTexImage1D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-        {
-            Delegates.glCopyTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-        }
-
-        public static 
-        void glCopyTexImage2D(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-        {
-            Delegates.glCopyTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-        }
-
-        public static 
-        void glCopyTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glCopyTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glCopyTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, IntPtr textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (Int32*)residences);
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, IntPtr textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, IntPtr textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResident(Int32 n, UInt32[] textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, Int32[] textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResident(Int32 n, UInt32[] textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, Int32[] textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResident(Int32 n, UInt32[] textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, Int32[] textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResident(Int32 n, ref UInt32 textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, ref Int32 textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResident(Int32 n, ref UInt32 textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, ref Int32 textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResident(Int32 n, ref UInt32 textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResident(Int32 n, ref Int32 textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResident((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindTexture(int target, UInt32 texture)
-        {
-            Delegates.glBindTexture((int)target, (UInt32)texture);
-        }
-
-        public static 
-        void glBindTexture(int target, Int32 texture)
-        {
-            Delegates.glBindTexture((int)target, (UInt32)texture);
-        }
-
-        public static 
-        void glDeleteTextures(Int32 n, IntPtr textures)
-        {
-            unsafe
-            {
-                Delegates.glDeleteTextures((Int32)n, (UInt32*)textures);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteTextures(Int32 n, UInt32[] textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteTextures(Int32 n, Int32[] textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteTextures(Int32 n, ref UInt32 textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteTextures(Int32 n, ref Int32 textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glDeleteTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenTextures(Int32 n, [Out] IntPtr textures)
-        {
-            unsafe
-            {
-                Delegates.glGenTextures((Int32)n, (UInt32*)textures);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenTextures(Int32 n, [Out] UInt32[] textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenTextures(Int32 n, [Out] Int32[] textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenTextures(Int32 n, [Out] out UInt32 textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                    textures = *textures_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenTextures(Int32 n, [Out] out Int32 textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glGenTextures((Int32)n, (UInt32*)textures_ptr);
-                    textures = *textures_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsTexture(UInt32 texture)
-        {
-            return Delegates.glIsTexture((UInt32)texture);
-        }
-
-        public static 
-        Int32 glIsTexture(Int32 texture)
-        {
-            return Delegates.glIsTexture((UInt32)texture);
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, IntPtr textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities);
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, IntPtr textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, IntPtr textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTextures(Int32 n, UInt32[] textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, Int32[] textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTextures(Int32 n, UInt32[] textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, Int32[] textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTextures(Int32 n, UInt32[] textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, Int32[] textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTextures(Int32 n, ref UInt32 textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, ref Int32 textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTextures(Int32 n, ref UInt32 textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, ref Int32 textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTextures(Int32 n, ref UInt32 textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTextures(Int32 n, ref Int32 textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTextures((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexub(Byte c)
-        {
-            Delegates.glIndexub((Byte)c);
-        }
-
-        public static 
-        void glIndexubv(IntPtr c)
-        {
-            unsafe
-            {
-                Delegates.glIndexubv((Byte*)c);
-            }
-        }
-
-        public static 
-        void glIndexubv(Byte[] c)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glIndexubv((Byte*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glIndexubv(ref Byte c)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glIndexubv((Byte*)c_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPopClientAttrib()
-        {
-            Delegates.glPopClientAttrib();
-        }
-
-        public static 
-        void glPushClientAttrib(int mask)
-        {
-            Delegates.glPushClientAttrib((int)mask);
-        }
-
-        public static 
-        void glBlendColor(Single red, Single green, Single blue, Single alpha)
-        {
-            Delegates.glBlendColor((Single)red, (Single)green, (Single)blue, (Single)alpha);
-        }
-
-        public static 
-        void glBlendEquation(int mode)
-        {
-            Delegates.glBlendEquation((int)mode);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices);
-            }
-        }
-
-        public static 
-        void glDrawRangeElements(int mode, Int32 start, Int32 end, Int32 count, int type, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDrawRangeElements(int mode, UInt32 start, UInt32 end, Int32 count, int type, [In, Out] object indices)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDrawRangeElements(int mode, Int32 start, Int32 end, Int32 count, int type, [In, Out] object indices)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElements((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glColorTable(int target, int internalformat, Int32 width, int format, int type, IntPtr table)
-        {
-            unsafe
-            {
-                Delegates.glColorTable((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table);
-            }
-        }
-
-        public static 
-        void glColorTable(int target, int internalformat, Int32 width, int format, int type, [In, Out] object table)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTable((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameterfv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glColorTableParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glColorTableParameterfv(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameterfv(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameteriv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glColorTableParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glColorTableParameteriv(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameteriv(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCopyColorTable(int target, int internalformat, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyColorTable((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glGetColorTable(int target, int format, int type, [Out] IntPtr table)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTable((int)target, (int)format, (int)type, (IntPtr)table);
-            }
-        }
-
-        public static 
-        void glGetColorTable(int target, int format, int type, [In, Out] object table)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTable((int)target, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfv(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfv(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameteriv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetColorTableParameteriv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameteriv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glColorSubTable(int target, Int32 start, Int32 count, int format, int type, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glColorSubTable((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glColorSubTable(int target, Int32 start, Int32 count, int format, int type, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorSubTable((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCopyColorSubTable(int target, Int32 start, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyColorSubTable((int)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, IntPtr image)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionFilter1D((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image);
-            }
-        }
-
-        public static 
-        void glConvolutionFilter1D(int target, int internalformat, Int32 width, int format, int type, [In, Out] object image)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter1D((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image);
-            }
-        }
-
-        public static 
-        void glConvolutionFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object image)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameterf(int target, int pname, Single @params)
-        {
-            Delegates.glConvolutionParameterf((int)target, (int)pname, (Single)@params);
-        }
-
-        public static 
-        void glConvolutionParameterfv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glConvolutionParameterfv(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameterfv(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameteri(int target, int pname, Int32 @params)
-        {
-            Delegates.glConvolutionParameteri((int)target, (int)pname, (Int32)@params);
-        }
-
-        public static 
-        void glConvolutionParameteriv(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glConvolutionParameteriv(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameteriv(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCopyConvolutionFilter1D(int target, int internalformat, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyConvolutionFilter1D((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glCopyConvolutionFilter2D(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glCopyConvolutionFilter2D((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glGetConvolutionFilter(int target, int format, int type, [Out] IntPtr image)
-        {
-            unsafe
-            {
-                Delegates.glGetConvolutionFilter((int)target, (int)format, (int)type, (IntPtr)image);
-            }
-        }
-
-        public static 
-        void glGetConvolutionFilter(int target, int format, int type, [In, Out] object image)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetConvolutionFilter((int)target, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterfv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetConvolutionParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterfv(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterfv(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetConvolutionParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameteriv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetConvolutionParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameteriv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameteriv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetConvolutionParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span);
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span);
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span);
-                }
-                finally
-                {
-                    row_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [In, Out] object column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span);
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilter(int target, int format, int type, [In, Out] object row, [In, Out] object column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilter((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column)
-        {
-            unsafe
-            {
-                Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column);
-            }
-        }
-
-        public static 
-        void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, [In, Out] object column)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, IntPtr column)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column);
-                }
-                finally
-                {
-                    row_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSeparableFilter2D(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, [In, Out] object column)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2D((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogram(int target, Int32 reset, int format, int type, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetHistogram((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values);
-            }
-        }
-
-        public static 
-        void glGetHistogram(int target, Int32 reset, int format, int type, [In, Out] object values)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetHistogram((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterfv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetHistogramParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterfv(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetHistogramParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterfv(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetHistogramParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameteriv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetHistogramParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetHistogramParameteriv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetHistogramParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameteriv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetHistogramParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmax(int target, Int32 reset, int format, int type, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetMinmax((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values);
-            }
-        }
-
-        public static 
-        void glGetMinmax(int target, Int32 reset, int format, int type, [In, Out] object values)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMinmax((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterfv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMinmaxParameterfv((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterfv(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMinmaxParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterfv(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMinmaxParameterfv((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameteriv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMinmaxParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameteriv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMinmaxParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameteriv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMinmaxParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glHistogram(int target, Int32 width, int internalformat, Int32 sink)
-        {
-            Delegates.glHistogram((int)target, (Int32)width, (int)internalformat, (Int32)sink);
-        }
-
-        public static 
-        void glMinmax(int target, int internalformat, Int32 sink)
-        {
-            Delegates.glMinmax((int)target, (int)internalformat, (Int32)sink);
-        }
-
-        public static 
-        void glResetHistogram(int target)
-        {
-            Delegates.glResetHistogram((int)target);
-        }
-
-        public static 
-        void glResetMinmax(int target)
-        {
-            Delegates.glResetMinmax((int)target);
-        }
-
-        public static 
-        void glTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCopyTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glCopyTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glActiveTexture(int texture)
-        {
-            Delegates.glActiveTexture((int)texture);
-        }
-
-        public static 
-        void glClientActiveTexture(int texture)
-        {
-            Delegates.glClientActiveTexture((int)texture);
-        }
-
-        public static 
-        void glMultiTexCoord1d(int target, Double s)
-        {
-            Delegates.glMultiTexCoord1d((int)target, (Double)s);
-        }
-
-        public static 
-        void glMultiTexCoord1dv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1dv((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1dv(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1dv(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1f(int target, Single s)
-        {
-            Delegates.glMultiTexCoord1f((int)target, (Single)s);
-        }
-
-        public static 
-        void glMultiTexCoord1fv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1fv((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1fv(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1fv(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1i(int target, Int32 s)
-        {
-            Delegates.glMultiTexCoord1i((int)target, (Int32)s);
-        }
-
-        public static 
-        void glMultiTexCoord1iv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1iv((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1iv(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1iv(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1s(int target, Int16 s)
-        {
-            Delegates.glMultiTexCoord1s((int)target, (Int16)s);
-        }
-
-        public static 
-        void glMultiTexCoord1sv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1sv((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1sv(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1sv(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2d(int target, Double s, Double t)
-        {
-            Delegates.glMultiTexCoord2d((int)target, (Double)s, (Double)t);
-        }
-
-        public static 
-        void glMultiTexCoord2dv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2dv((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2dv(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2dv(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2f(int target, Single s, Single t)
-        {
-            Delegates.glMultiTexCoord2f((int)target, (Single)s, (Single)t);
-        }
-
-        public static 
-        void glMultiTexCoord2fv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2fv((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2fv(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2fv(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2i(int target, Int32 s, Int32 t)
-        {
-            Delegates.glMultiTexCoord2i((int)target, (Int32)s, (Int32)t);
-        }
-
-        public static 
-        void glMultiTexCoord2iv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2iv((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2iv(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2iv(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2s(int target, Int16 s, Int16 t)
-        {
-            Delegates.glMultiTexCoord2s((int)target, (Int16)s, (Int16)t);
-        }
-
-        public static 
-        void glMultiTexCoord2sv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2sv((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2sv(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2sv(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3d(int target, Double s, Double t, Double r)
-        {
-            Delegates.glMultiTexCoord3d((int)target, (Double)s, (Double)t, (Double)r);
-        }
-
-        public static 
-        void glMultiTexCoord3dv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3dv((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3dv(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3dv(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3f(int target, Single s, Single t, Single r)
-        {
-            Delegates.glMultiTexCoord3f((int)target, (Single)s, (Single)t, (Single)r);
-        }
-
-        public static 
-        void glMultiTexCoord3fv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3fv((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3fv(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3fv(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3i(int target, Int32 s, Int32 t, Int32 r)
-        {
-            Delegates.glMultiTexCoord3i((int)target, (Int32)s, (Int32)t, (Int32)r);
-        }
-
-        public static 
-        void glMultiTexCoord3iv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3iv((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3iv(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3iv(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3s(int target, Int16 s, Int16 t, Int16 r)
-        {
-            Delegates.glMultiTexCoord3s((int)target, (Int16)s, (Int16)t, (Int16)r);
-        }
-
-        public static 
-        void glMultiTexCoord3sv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3sv((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3sv(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3sv(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4d(int target, Double s, Double t, Double r, Double q)
-        {
-            Delegates.glMultiTexCoord4d((int)target, (Double)s, (Double)t, (Double)r, (Double)q);
-        }
-
-        public static 
-        void glMultiTexCoord4dv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4dv((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4dv(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4dv(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4dv((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4f(int target, Single s, Single t, Single r, Single q)
-        {
-            Delegates.glMultiTexCoord4f((int)target, (Single)s, (Single)t, (Single)r, (Single)q);
-        }
-
-        public static 
-        void glMultiTexCoord4fv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4fv((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4fv(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4fv(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4fv((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4i(int target, Int32 s, Int32 t, Int32 r, Int32 q)
-        {
-            Delegates.glMultiTexCoord4i((int)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q);
-        }
-
-        public static 
-        void glMultiTexCoord4iv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4iv((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4iv(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4iv(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4iv((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4s(int target, Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            Delegates.glMultiTexCoord4s((int)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q);
-        }
-
-        public static 
-        void glMultiTexCoord4sv(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4sv((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4sv(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4sv(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4sv((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixf(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glLoadTransposeMatrixf((Single*)m);
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixf(Single[] m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glLoadTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixf(ref Single m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glLoadTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixd(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glLoadTransposeMatrixd((Double*)m);
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixd(Double[] m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glLoadTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixd(ref Double m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glLoadTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixf(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glMultTransposeMatrixf((Single*)m);
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixf(Single[] m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glMultTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixf(ref Single m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glMultTransposeMatrixf((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixd(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glMultTransposeMatrixd((Double*)m);
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixd(Double[] m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glMultTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixd(ref Double m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glMultTransposeMatrixd((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSampleCoverage(Single value, Int32 invert)
-        {
-            Delegates.glSampleCoverage((Single)value, (Int32)invert);
-        }
-
-        public static 
-        void glCompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexImage3D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage3D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexImage2D(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage2D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexImage1D(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage1D((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage3D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage3D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage2D(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage2D((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage1D(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage1D((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetCompressedTexImage(int target, Int32 level, [Out] IntPtr img)
-        {
-            unsafe
-            {
-                Delegates.glGetCompressedTexImage((int)target, (Int32)level, (IntPtr)img);
-            }
-        }
-
-        public static 
-        void glGetCompressedTexImage(int target, Int32 level, [In, Out] object img)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle img_ptr = System.Runtime.InteropServices.GCHandle.Alloc(img, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTexImage((int)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha)
-        {
-            Delegates.glBlendFuncSeparate((int)sfactorRGB, (int)dfactorRGB, (int)sfactorAlpha, (int)dfactorAlpha);
-        }
-
-        public static 
-        void glFogCoordf(Single coord)
-        {
-            Delegates.glFogCoordf((Single)coord);
-        }
-
-        public static 
-        void glFogCoordfv(IntPtr coord)
-        {
-            unsafe
-            {
-                Delegates.glFogCoordfv((Single*)coord);
-            }
-        }
-
-        public static 
-        void glFogCoordfv(Single[] coord)
-        {
-            unsafe
-            {
-                fixed (Single* coord_ptr = coord)
-                {
-                    Delegates.glFogCoordfv((Single*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordfv(ref Single coord)
-        {
-            unsafe
-            {
-                fixed (Single* coord_ptr = &coord)
-                {
-                    Delegates.glFogCoordfv((Single*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordd(Double coord)
-        {
-            Delegates.glFogCoordd((Double)coord);
-        }
-
-        public static 
-        void glFogCoorddv(IntPtr coord)
-        {
-            unsafe
-            {
-                Delegates.glFogCoorddv((Double*)coord);
-            }
-        }
-
-        public static 
-        void glFogCoorddv(Double[] coord)
-        {
-            unsafe
-            {
-                fixed (Double* coord_ptr = coord)
-                {
-                    Delegates.glFogCoorddv((Double*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoorddv(ref Double coord)
-        {
-            unsafe
-            {
-                fixed (Double* coord_ptr = &coord)
-                {
-                    Delegates.glFogCoorddv((Double*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordPointer(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glFogCoordPointer((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glFogCoordPointer(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointer((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] IntPtr first, [Out] IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawArrays((int)mode, (Int32*)first, (Int32*)count, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] IntPtr first, [Out] Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] IntPtr first, [Out] out Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] Int32[] first, [Out] IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] Int32[] first, [Out] out Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] out Int32 first, [Out] IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                    first = *first_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] out Int32 first, [Out] Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    first = *first_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArrays(int mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArrays((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    first = *first_ptr;
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElements(int mode, IntPtr count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawElements((int)mode, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glMultiDrawElements(int mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiDrawElements((int)mode, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElements(int mode, Int32[] count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElements(int mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElements(int mode, ref Int32 count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElements(int mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElements((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterf(int pname, Single param)
-        {
-            Delegates.glPointParameterf((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPointParameterfv(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPointParameterfv((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glPointParameterfv(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPointParameterfv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterfv(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glPointParameterfv((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameteri(int pname, Int32 param)
-        {
-            Delegates.glPointParameteri((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPointParameteriv(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPointParameteriv((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glPointParameteriv(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glPointParameteriv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameteriv(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glPointParameteriv((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3b(SByte red, SByte green, SByte blue)
-        {
-            Delegates.glSecondaryColor3b((SByte)red, (SByte)green, (SByte)blue);
-        }
-
-        public static 
-        void glSecondaryColor3b(Byte red, Byte green, Byte blue)
-        {
-            Delegates.glSecondaryColor3b((SByte)red, (SByte)green, (SByte)blue);
-        }
-
-        public static 
-        void glSecondaryColor3bv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3bv((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3bv(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3bv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3bv(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3bv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3bv((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3d(Double red, Double green, Double blue)
-        {
-            Delegates.glSecondaryColor3d((Double)red, (Double)green, (Double)blue);
-        }
-
-        public static 
-        void glSecondaryColor3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3f(Single red, Single green, Single blue)
-        {
-            Delegates.glSecondaryColor3f((Single)red, (Single)green, (Single)blue);
-        }
-
-        public static 
-        void glSecondaryColor3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3i(Int32 red, Int32 green, Int32 blue)
-        {
-            Delegates.glSecondaryColor3i((Int32)red, (Int32)green, (Int32)blue);
-        }
-
-        public static 
-        void glSecondaryColor3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3s(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glSecondaryColor3s((Int16)red, (Int16)green, (Int16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ub(Byte red, Byte green, Byte blue)
-        {
-            Delegates.glSecondaryColor3ub((Byte)red, (Byte)green, (Byte)blue);
-        }
-
-        public static 
-        void glSecondaryColor3ubv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3ubv((Byte*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ubv(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3ubv((Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ubv(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3ubv((Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue)
-        {
-            Delegates.glSecondaryColor3ui((UInt32)red, (UInt32)green, (UInt32)blue);
-        }
-
-        public static 
-        void glSecondaryColor3ui(Int32 red, Int32 green, Int32 blue)
-        {
-            Delegates.glSecondaryColor3ui((UInt32)red, (UInt32)green, (UInt32)blue);
-        }
-
-        public static 
-        void glSecondaryColor3uiv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3uiv((UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3uiv(UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3uiv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3uiv(ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3uiv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3uiv((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            Delegates.glSecondaryColor3us((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3us(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glSecondaryColor3us((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3usv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3usv((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3usv(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3usv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3usv(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3usv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3usv((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColorPointer(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glSecondaryColorPointer(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointer((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2d(Double x, Double y)
-        {
-            Delegates.glWindowPos2d((Double)x, (Double)y);
-        }
-
-        public static 
-        void glWindowPos2dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2f(Single x, Single y)
-        {
-            Delegates.glWindowPos2f((Single)x, (Single)y);
-        }
-
-        public static 
-        void glWindowPos2fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2i(Int32 x, Int32 y)
-        {
-            Delegates.glWindowPos2i((Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glWindowPos2iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2s(Int16 x, Int16 y)
-        {
-            Delegates.glWindowPos2s((Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glWindowPos2sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3d(Double x, Double y, Double z)
-        {
-            Delegates.glWindowPos3d((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glWindowPos3dv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3dv((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3dv(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3dv(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3dv((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3f(Single x, Single y, Single z)
-        {
-            Delegates.glWindowPos3f((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glWindowPos3fv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3fv((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3fv(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3fv(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3fv((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3i(Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glWindowPos3i((Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glWindowPos3iv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3iv((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3iv(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3iv(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3iv((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3s(Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glWindowPos3s((Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glWindowPos3sv(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3sv((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3sv(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3sv(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3sv((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenQueries(Int32 n, [Out] IntPtr ids)
-        {
-            unsafe
-            {
-                Delegates.glGenQueries((Int32)n, (UInt32*)ids);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenQueries(Int32 n, [Out] UInt32[] ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenQueries(Int32 n, [Out] Int32[] ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenQueries(Int32 n, [Out] out UInt32 ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenQueries(Int32 n, [Out] out Int32 ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glGenQueries((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glDeleteQueries(Int32 n, IntPtr ids)
-        {
-            unsafe
-            {
-                Delegates.glDeleteQueries((Int32)n, (UInt32*)ids);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteQueries(Int32 n, UInt32[] ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteQueries(Int32 n, Int32[] ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteQueries(Int32 n, ref UInt32 ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteQueries(Int32 n, ref Int32 ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteQueries((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsQuery(UInt32 id)
-        {
-            return Delegates.glIsQuery((UInt32)id);
-        }
-
-        public static 
-        Int32 glIsQuery(Int32 id)
-        {
-            return Delegates.glIsQuery((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBeginQuery(int target, UInt32 id)
-        {
-            Delegates.glBeginQuery((int)target, (UInt32)id);
-        }
-
-        public static 
-        void glBeginQuery(int target, Int32 id)
-        {
-            Delegates.glBeginQuery((int)target, (UInt32)id);
-        }
-
-        public static 
-        void glEndQuery(int target)
-        {
-            Delegates.glEndQuery((int)target);
-        }
-
-        public static 
-        void glGetQueryiv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryiv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryiv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryiv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryiv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryiv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectiv(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryObjectiv(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectiv(UInt32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectiv(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectiv(UInt32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectiv(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectiv((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectuiv(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryObjectuiv(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectuiv(UInt32 id, int pname, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectuiv(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectuiv(UInt32 id, int pname, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectuiv(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectuiv((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindBuffer(int target, UInt32 buffer)
-        {
-            Delegates.glBindBuffer((int)target, (UInt32)buffer);
-        }
-
-        public static 
-        void glBindBuffer(int target, Int32 buffer)
-        {
-            Delegates.glBindBuffer((int)target, (UInt32)buffer);
-        }
-
-        public static 
-        void glDeleteBuffers(Int32 n, IntPtr buffers)
-        {
-            unsafe
-            {
-                Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteBuffers(Int32 n, UInt32[] buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteBuffers(Int32 n, Int32[] buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteBuffers(Int32 n, ref UInt32 buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = &buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteBuffers(Int32 n, ref Int32 buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = &buffers)
-                {
-                    Delegates.glDeleteBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenBuffers(Int32 n, [Out] IntPtr buffers)
-        {
-            unsafe
-            {
-                Delegates.glGenBuffers((Int32)n, (UInt32*)buffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenBuffers(Int32 n, [Out] UInt32[] buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenBuffers(Int32 n, [Out] Int32[] buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenBuffers(Int32 n, [Out] out UInt32 buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = &buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                    buffers = *buffers_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenBuffers(Int32 n, [Out] out Int32 buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = &buffers)
-                {
-                    Delegates.glGenBuffers((Int32)n, (UInt32*)buffers_ptr);
-                    buffers = *buffers_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsBuffer(UInt32 buffer)
-        {
-            return Delegates.glIsBuffer((UInt32)buffer);
-        }
-
-        public static 
-        Int32 glIsBuffer(Int32 buffer)
-        {
-            return Delegates.glIsBuffer((UInt32)buffer);
-        }
-
-        public static 
-        void glBufferData(int target, IntPtr size, IntPtr data, int usage)
-        {
-            unsafe
-            {
-                Delegates.glBufferData((int)target, (IntPtr)size, (IntPtr)data, (int)usage);
-            }
-        }
-
-        public static 
-        void glBufferData(int target, IntPtr size, [In, Out] object data, int usage)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferData((int)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (int)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBufferSubData(int target, IntPtr offset, IntPtr size, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glBufferSubData(int target, IntPtr offset, IntPtr size, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetBufferSubData(int target, IntPtr offset, IntPtr size, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glGetBufferSubData(int target, IntPtr offset, IntPtr size, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferSubData((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        IntPtr glMapBuffer(int target, int access)
-        {
-            return Delegates.glMapBuffer((int)target, (int)access);
-        }
-
-        public static 
-        Int32 glUnmapBuffer(int target)
-        {
-            return Delegates.glUnmapBuffer((int)target);
-        }
-
-        public static 
-        void glGetBufferParameteriv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetBufferParameteriv((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetBufferParameteriv(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetBufferParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetBufferParameteriv(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetBufferParameteriv((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetBufferPointerv(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetBufferPointerv((int)target, (int)pname, (IntPtr)@params);
-            }
-        }
-
-        public static 
-        void glGetBufferPointerv(int target, int pname, [In, Out] object @params)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferPointerv((int)target, (int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBlendEquationSeparate(int modeRGB, int modeAlpha)
-        {
-            Delegates.glBlendEquationSeparate((int)modeRGB, (int)modeAlpha);
-        }
-
-        public static 
-        void glDrawBuffers(Int32 n, IntPtr bufs)
-        {
-            unsafe
-            {
-                Delegates.glDrawBuffers((Int32)n, (int*)bufs);
-            }
-        }
-
-        public static 
-        void glDrawBuffers(Int32 n, int[] bufs)
-        {
-            unsafe
-            {
-                fixed (int* bufs_ptr = bufs)
-                {
-                    Delegates.glDrawBuffers((Int32)n, (int*)bufs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDrawBuffers(Int32 n, ref int bufs)
-        {
-            unsafe
-            {
-                fixed (int* bufs_ptr = &bufs)
-                {
-                    Delegates.glDrawBuffers((Int32)n, (int*)bufs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass)
-        {
-            Delegates.glStencilOpSeparate((int)face, (int)sfail, (int)dpfail, (int)dppass);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glStencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, UInt32 mask)
-        {
-            Delegates.glStencilFuncSeparate((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask);
-        }
-
-        public static 
-        void glStencilFuncSeparate(int frontfunc, int backfunc, Int32 @ref, Int32 mask)
-        {
-            Delegates.glStencilFuncSeparate((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glStencilMaskSeparate(int face, UInt32 mask)
-        {
-            Delegates.glStencilMaskSeparate((int)face, (UInt32)mask);
-        }
-
-        public static 
-        void glStencilMaskSeparate(int face, Int32 mask)
-        {
-            Delegates.glStencilMaskSeparate((int)face, (UInt32)mask);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glAttachShader(UInt32 program, UInt32 shader)
-        {
-            Delegates.glAttachShader((UInt32)program, (UInt32)shader);
-        }
-
-        public static 
-        void glAttachShader(Int32 program, Int32 shader)
-        {
-            Delegates.glAttachShader((UInt32)program, (UInt32)shader);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindAttribLocation(UInt32 program, UInt32 index, System.String name)
-        {
-            Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (System.String)name);
-        }
-
-        public static 
-        void glBindAttribLocation(Int32 program, Int32 index, System.String name)
-        {
-            Delegates.glBindAttribLocation((UInt32)program, (UInt32)index, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glCompileShader(UInt32 shader)
-        {
-            Delegates.glCompileShader((UInt32)shader);
-        }
-
-        public static 
-        void glCompileShader(Int32 shader)
-        {
-            Delegates.glCompileShader((UInt32)shader);
-        }
-
-        public static 
-        Int32 glCreateProgram()
-        {
-            return Delegates.glCreateProgram();
-        }
-
-        public static 
-        Int32 glCreateShader(int type)
-        {
-            return Delegates.glCreateShader((int)type);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteProgram(UInt32 program)
-        {
-            Delegates.glDeleteProgram((UInt32)program);
-        }
-
-        public static 
-        void glDeleteProgram(Int32 program)
-        {
-            Delegates.glDeleteProgram((UInt32)program);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteShader(UInt32 shader)
-        {
-            Delegates.glDeleteShader((UInt32)shader);
-        }
-
-        public static 
-        void glDeleteShader(Int32 shader)
-        {
-            Delegates.glDeleteShader((UInt32)shader);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDetachShader(UInt32 program, UInt32 shader)
-        {
-            Delegates.glDetachShader((UInt32)program, (UInt32)shader);
-        }
-
-        public static 
-        void glDetachShader(Int32 program, Int32 shader)
-        {
-            Delegates.glDetachShader((UInt32)program, (UInt32)shader);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDisableVertexAttribArray(UInt32 index)
-        {
-            Delegates.glDisableVertexAttribArray((UInt32)index);
-        }
-
-        public static 
-        void glDisableVertexAttribArray(Int32 index)
-        {
-            Delegates.glDisableVertexAttribArray((UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glEnableVertexAttribArray(UInt32 index)
-        {
-            Delegates.glEnableVertexAttribArray((UInt32)index);
-        }
-
-        public static 
-        void glEnableVertexAttribArray(Int32 index)
-        {
-            Delegates.glEnableVertexAttribArray((UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttrib(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttrib((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniform(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniform((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] IntPtr count, [Out] UInt32[] obj)
-        {
-            unsafe
-            {
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] IntPtr count, [Out] Int32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] IntPtr count, [Out] out UInt32 obj)
-        {
-            unsafe
-            {
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] IntPtr count, [Out] out Int32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32[] count, [Out] UInt32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32[] count, [Out] Int32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] Int32[] count, [Out] out UInt32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] Int32[] count, [Out] out Int32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] UInt32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] Int32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedShaders(UInt32 program, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedShaders(Int32 program, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedShaders((UInt32)program, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetAttribLocation(UInt32 program, System.String name)
-        {
-            return Delegates.glGetAttribLocation((UInt32)program, (System.String)name);
-        }
-
-        public static 
-        Int32 glGetAttribLocation(Int32 program, System.String name)
-        {
-            return Delegates.glGetAttribLocation((UInt32)program, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramiv(UInt32 program, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramiv(Int32 program, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramiv(UInt32 program, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramiv(Int32 program, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramiv(UInt32 program, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramiv(Int32 program, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramiv((UInt32)program, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            }
-        }
-
-        public static 
-        void glGetProgramInfoLog(Int32 program, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramInfoLog(Int32 program, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramInfoLog(Int32 program, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetProgramInfoLog((UInt32)program, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderiv(UInt32 shader, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetShaderiv(Int32 shader, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderiv(UInt32 shader, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderiv(Int32 shader, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderiv(UInt32 shader, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderiv(Int32 shader, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetShaderiv((UInt32)shader, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            }
-        }
-
-        public static 
-        void glGetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderInfoLog(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderInfoLog((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderSource(UInt32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder[])source);
-            }
-        }
-
-        public static 
-        void glGetShaderSource(Int32 shader, Int32 bufSize, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length, (System.Text.StringBuilder[])source);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderSource(UInt32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderSource(Int32 shader, Int32 bufSize, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderSource(UInt32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderSource(Int32 shader, Int32 bufSize, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderSource((UInt32)shader, (Int32)bufSize, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetUniformLocation(UInt32 program, System.String name)
-        {
-            return Delegates.glGetUniformLocation((UInt32)program, (System.String)name);
-        }
-
-        public static 
-        Int32 glGetUniformLocation(Int32 program, System.String name)
-        {
-            return Delegates.glGetUniformLocation((UInt32)program, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformfv(UInt32 program, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetUniformfv(Int32 program, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformfv(UInt32 program, Int32 location, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformfv(Int32 program, Int32 location, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformfv(UInt32 program, Int32 location, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformfv(Int32 program, Int32 location, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformfv((UInt32)program, (Int32)location, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformiv(UInt32 program, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetUniformiv(Int32 program, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformiv(UInt32 program, Int32 location, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformiv(Int32 program, Int32 location, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformiv(UInt32 program, Int32 location, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformiv(Int32 program, Int32 location, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformiv((UInt32)program, (Int32)location, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdv(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdv(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdv(UInt32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdv(Int32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdv(UInt32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdv(Int32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdv((UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfv(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfv(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfv(UInt32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfv(Int32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfv(UInt32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfv(Int32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfv((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribiv(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribiv(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribiv(UInt32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribiv(Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribiv(UInt32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribiv(Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribiv((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribPointerv(UInt32 index, int pname, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribPointerv(Int32 index, int pname, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribPointerv(UInt32 index, int pname, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribPointerv(Int32 index, int pname, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointerv((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsProgram(UInt32 program)
-        {
-            return Delegates.glIsProgram((UInt32)program);
-        }
-
-        public static 
-        Int32 glIsProgram(Int32 program)
-        {
-            return Delegates.glIsProgram((UInt32)program);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsShader(UInt32 shader)
-        {
-            return Delegates.glIsShader((UInt32)shader);
-        }
-
-        public static 
-        Int32 glIsShader(Int32 shader)
-        {
-            return Delegates.glIsShader((UInt32)shader);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLinkProgram(UInt32 program)
-        {
-            Delegates.glLinkProgram((UInt32)program);
-        }
-
-        public static 
-        void glLinkProgram(Int32 program)
-        {
-            Delegates.glLinkProgram((UInt32)program);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderSource(UInt32 shader, Int32 count, System.String[] @string, IntPtr length)
-        {
-            unsafe
-            {
-                Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length);
-            }
-        }
-
-        public static 
-        void glShaderSource(Int32 shader, Int32 count, System.String[] @string, IntPtr length)
-        {
-            unsafe
-            {
-                Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderSource(UInt32 shader, Int32 count, System.String[] @string, Int32[] length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glShaderSource(Int32 shader, Int32 count, System.String[] @string, Int32[] length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderSource(UInt32 shader, Int32 count, System.String[] @string, ref Int32 length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glShaderSource(Int32 shader, Int32 count, System.String[] @string, ref Int32 length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glShaderSource((UInt32)shader, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUseProgram(UInt32 program)
-        {
-            Delegates.glUseProgram((UInt32)program);
-        }
-
-        public static 
-        void glUseProgram(Int32 program)
-        {
-            Delegates.glUseProgram((UInt32)program);
-        }
-
-        public static 
-        void glUniform1f(Int32 location, Single v0)
-        {
-            Delegates.glUniform1f((Int32)location, (Single)v0);
-        }
-
-        public static 
-        void glUniform2f(Int32 location, Single v0, Single v1)
-        {
-            Delegates.glUniform2f((Int32)location, (Single)v0, (Single)v1);
-        }
-
-        public static 
-        void glUniform3f(Int32 location, Single v0, Single v1, Single v2)
-        {
-            Delegates.glUniform3f((Int32)location, (Single)v0, (Single)v1, (Single)v2);
-        }
-
-        public static 
-        void glUniform4f(Int32 location, Single v0, Single v1, Single v2, Single v3)
-        {
-            Delegates.glUniform4f((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3);
-        }
-
-        public static 
-        void glUniform1i(Int32 location, Int32 v0)
-        {
-            Delegates.glUniform1i((Int32)location, (Int32)v0);
-        }
-
-        public static 
-        void glUniform2i(Int32 location, Int32 v0, Int32 v1)
-        {
-            Delegates.glUniform2i((Int32)location, (Int32)v0, (Int32)v1);
-        }
-
-        public static 
-        void glUniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2)
-        {
-            Delegates.glUniform3i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2);
-        }
-
-        public static 
-        void glUniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-        {
-            Delegates.glUniform4i((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3);
-        }
-
-        public static 
-        void glUniform1fv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform1fv(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1fv(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform1fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2fv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform2fv(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2fv(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform2fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3fv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform3fv(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3fv(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform3fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4fv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform4fv(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4fv(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform4fv((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1iv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform1iv(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1iv(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform1iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2iv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform2iv(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2iv(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform2iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3iv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform3iv(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3iv(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform3iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4iv(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform4iv(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4iv(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform4iv((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glValidateProgram(UInt32 program)
-        {
-            Delegates.glValidateProgram((UInt32)program);
-        }
-
-        public static 
-        void glValidateProgram(Int32 program)
-        {
-            Delegates.glValidateProgram((UInt32)program);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1d(UInt32 index, Double x)
-        {
-            Delegates.glVertexAttrib1d((UInt32)index, (Double)x);
-        }
-
-        public static 
-        void glVertexAttrib1d(Int32 index, Double x)
-        {
-            Delegates.glVertexAttrib1d((UInt32)index, (Double)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dv(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dv(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dv(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dv(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1f(UInt32 index, Single x)
-        {
-            Delegates.glVertexAttrib1f((UInt32)index, (Single)x);
-        }
-
-        public static 
-        void glVertexAttrib1f(Int32 index, Single x)
-        {
-            Delegates.glVertexAttrib1f((UInt32)index, (Single)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fv(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fv(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fv(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fv(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1s(UInt32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1s((UInt32)index, (Int16)x);
-        }
-
-        public static 
-        void glVertexAttrib1s(Int32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1s((UInt32)index, (Int16)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1sv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1sv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1sv(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1sv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1sv(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1sv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2d(UInt32 index, Double x, Double y)
-        {
-            Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y);
-        }
-
-        public static 
-        void glVertexAttrib2d(Int32 index, Double x, Double y)
-        {
-            Delegates.glVertexAttrib2d((UInt32)index, (Double)x, (Double)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dv(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dv(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dv(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dv(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2f(UInt32 index, Single x, Single y)
-        {
-            Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y);
-        }
-
-        public static 
-        void glVertexAttrib2f(Int32 index, Single x, Single y)
-        {
-            Delegates.glVertexAttrib2f((UInt32)index, (Single)x, (Single)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fv(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fv(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fv(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fv(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2s(UInt32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glVertexAttrib2s(Int32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2s((UInt32)index, (Int16)x, (Int16)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2sv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2sv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2sv(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2sv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2sv(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2sv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3d(UInt32 index, Double x, Double y, Double z)
-        {
-            Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glVertexAttrib3d(Int32 index, Double x, Double y, Double z)
-        {
-            Delegates.glVertexAttrib3d((UInt32)index, (Double)x, (Double)y, (Double)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dv(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dv(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dv(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dv(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3f(UInt32 index, Single x, Single y, Single z)
-        {
-            Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glVertexAttrib3f(Int32 index, Single x, Single y, Single z)
-        {
-            Delegates.glVertexAttrib3f((UInt32)index, (Single)x, (Single)y, (Single)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fv(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fv(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fv(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fv(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glVertexAttrib3s(Int32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3s((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3sv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3sv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3sv(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3sv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3sv(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3sv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nbv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nbv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nbv(UInt32 index, SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nbv(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nbv(UInt32 index, ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nbv(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nbv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Niv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Niv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Niv(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Niv(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Niv(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Niv(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Niv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nsv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nsv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nsv(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nsv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nsv(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nsv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nsv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nub(UInt32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-        }
-
-        public static 
-        void glVertexAttrib4Nub(Int32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            Delegates.glVertexAttrib4Nub((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nubv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nubv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nubv(UInt32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nubv(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nubv(UInt32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nubv(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nuiv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nuiv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nuiv(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nuiv(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nuiv(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nuiv(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nuiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nusv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nusv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nusv(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nusv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4Nusv(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4Nusv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4Nusv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4bv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4bv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4bv(UInt32 index, SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4bv(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4bv(UInt32 index, ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4bv(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4bv((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4d(UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glVertexAttrib4d(Int32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexAttrib4d((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dv(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dv(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dv(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dv(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dv((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4f(UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glVertexAttrib4f(Int32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexAttrib4f((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fv(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fv(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fv(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fv(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fv((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4iv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4iv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4iv(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4iv(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4iv(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4iv(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4iv((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glVertexAttrib4s(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4s((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4sv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4sv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4sv(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4sv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4sv(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4sv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4sv((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubv(UInt32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubv(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubv(UInt32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubv(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubv((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4uiv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4uiv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4uiv(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4uiv(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4uiv(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4uiv(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4uiv((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4usv(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4usv(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4usv(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4usv(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4usv(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4usv(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4usv((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexAttribPointer(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribPointer(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribPointer(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointer((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2x3fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3x2fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2x4fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4x2fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4x2fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3x4fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3x4fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4x3fv(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4x3fv((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glActiveTextureARB(int texture)
-        {
-            Delegates.glActiveTextureARB((int)texture);
-        }
-
-        public static 
-        void glClientActiveTextureARB(int texture)
-        {
-            Delegates.glClientActiveTextureARB((int)texture);
-        }
-
-        public static 
-        void glMultiTexCoord1dARB(int target, Double s)
-        {
-            Delegates.glMultiTexCoord1dARB((int)target, (Double)s);
-        }
-
-        public static 
-        void glMultiTexCoord1dvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1dvARB((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1dvARB(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1dvARB(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1fARB(int target, Single s)
-        {
-            Delegates.glMultiTexCoord1fARB((int)target, (Single)s);
-        }
-
-        public static 
-        void glMultiTexCoord1fvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1fvARB((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1fvARB(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1fvARB(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1iARB(int target, Int32 s)
-        {
-            Delegates.glMultiTexCoord1iARB((int)target, (Int32)s);
-        }
-
-        public static 
-        void glMultiTexCoord1ivARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1ivARB((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1ivARB(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1ivARB(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1sARB(int target, Int16 s)
-        {
-            Delegates.glMultiTexCoord1sARB((int)target, (Int16)s);
-        }
-
-        public static 
-        void glMultiTexCoord1svARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1svARB((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1svARB(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1svARB(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2dARB(int target, Double s, Double t)
-        {
-            Delegates.glMultiTexCoord2dARB((int)target, (Double)s, (Double)t);
-        }
-
-        public static 
-        void glMultiTexCoord2dvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2dvARB((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2dvARB(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2dvARB(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2fARB(int target, Single s, Single t)
-        {
-            Delegates.glMultiTexCoord2fARB((int)target, (Single)s, (Single)t);
-        }
-
-        public static 
-        void glMultiTexCoord2fvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2fvARB((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2fvARB(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2fvARB(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2iARB(int target, Int32 s, Int32 t)
-        {
-            Delegates.glMultiTexCoord2iARB((int)target, (Int32)s, (Int32)t);
-        }
-
-        public static 
-        void glMultiTexCoord2ivARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2ivARB((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2ivARB(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2ivARB(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2sARB(int target, Int16 s, Int16 t)
-        {
-            Delegates.glMultiTexCoord2sARB((int)target, (Int16)s, (Int16)t);
-        }
-
-        public static 
-        void glMultiTexCoord2svARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2svARB((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2svARB(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2svARB(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3dARB(int target, Double s, Double t, Double r)
-        {
-            Delegates.glMultiTexCoord3dARB((int)target, (Double)s, (Double)t, (Double)r);
-        }
-
-        public static 
-        void glMultiTexCoord3dvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3dvARB((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3dvARB(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3dvARB(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3fARB(int target, Single s, Single t, Single r)
-        {
-            Delegates.glMultiTexCoord3fARB((int)target, (Single)s, (Single)t, (Single)r);
-        }
-
-        public static 
-        void glMultiTexCoord3fvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3fvARB((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3fvARB(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3fvARB(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3iARB(int target, Int32 s, Int32 t, Int32 r)
-        {
-            Delegates.glMultiTexCoord3iARB((int)target, (Int32)s, (Int32)t, (Int32)r);
-        }
-
-        public static 
-        void glMultiTexCoord3ivARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3ivARB((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3ivARB(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3ivARB(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3sARB(int target, Int16 s, Int16 t, Int16 r)
-        {
-            Delegates.glMultiTexCoord3sARB((int)target, (Int16)s, (Int16)t, (Int16)r);
-        }
-
-        public static 
-        void glMultiTexCoord3svARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3svARB((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3svARB(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3svARB(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4dARB(int target, Double s, Double t, Double r, Double q)
-        {
-            Delegates.glMultiTexCoord4dARB((int)target, (Double)s, (Double)t, (Double)r, (Double)q);
-        }
-
-        public static 
-        void glMultiTexCoord4dvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4dvARB((int)target, (Double*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4dvARB(int target, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4dvARB(int target, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4dvARB((int)target, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4fARB(int target, Single s, Single t, Single r, Single q)
-        {
-            Delegates.glMultiTexCoord4fARB((int)target, (Single)s, (Single)t, (Single)r, (Single)q);
-        }
-
-        public static 
-        void glMultiTexCoord4fvARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4fvARB((int)target, (Single*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4fvARB(int target, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4fvARB(int target, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4fvARB((int)target, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4iARB(int target, Int32 s, Int32 t, Int32 r, Int32 q)
-        {
-            Delegates.glMultiTexCoord4iARB((int)target, (Int32)s, (Int32)t, (Int32)r, (Int32)q);
-        }
-
-        public static 
-        void glMultiTexCoord4ivARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4ivARB((int)target, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4ivARB(int target, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4ivARB(int target, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4ivARB((int)target, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4sARB(int target, Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            Delegates.glMultiTexCoord4sARB((int)target, (Int16)s, (Int16)t, (Int16)r, (Int16)q);
-        }
-
-        public static 
-        void glMultiTexCoord4svARB(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4svARB((int)target, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4svARB(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4svARB(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4svARB((int)target, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixfARB(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glLoadTransposeMatrixfARB((Single*)m);
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixfARB(Single[] m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixfARB(ref Single m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glLoadTransposeMatrixfARB((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixdARB(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glLoadTransposeMatrixdARB((Double*)m);
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixdARB(Double[] m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadTransposeMatrixdARB(ref Double m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glLoadTransposeMatrixdARB((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixfARB(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glMultTransposeMatrixfARB((Single*)m);
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixfARB(Single[] m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = m)
-                {
-                    Delegates.glMultTransposeMatrixfARB((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixfARB(ref Single m)
-        {
-            unsafe
-            {
-                fixed (Single* m_ptr = &m)
-                {
-                    Delegates.glMultTransposeMatrixfARB((Single*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixdARB(IntPtr m)
-        {
-            unsafe
-            {
-                Delegates.glMultTransposeMatrixdARB((Double*)m);
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixdARB(Double[] m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = m)
-                {
-                    Delegates.glMultTransposeMatrixdARB((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultTransposeMatrixdARB(ref Double m)
-        {
-            unsafe
-            {
-                fixed (Double* m_ptr = &m)
-                {
-                    Delegates.glMultTransposeMatrixdARB((Double*)m_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSampleCoverageARB(Single value, Int32 invert)
-        {
-            Delegates.glSampleCoverageARB((Single)value, (Int32)invert);
-        }
-
-        public static 
-        void glCompressedTexImage3DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexImage3DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexImage3DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage3DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexImage2DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexImage2DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexImage2DARB(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage2DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexImage1DARB(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexImage1DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexImage1DARB(int target, Int32 level, int internalformat, Int32 width, Int32 border, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexImage1DARB((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)border, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage3DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexSubImage3DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage3DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage3DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage2DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexSubImage2DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage2DARB(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage2DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage1DARB(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glCompressedTexSubImage1DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glCompressedTexSubImage1DARB(int target, Int32 level, Int32 xoffset, Int32 width, int format, Int32 imageSize, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glCompressedTexSubImage1DARB((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (Int32)imageSize, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetCompressedTexImageARB(int target, Int32 level, [Out] IntPtr img)
-        {
-            unsafe
-            {
-                Delegates.glGetCompressedTexImageARB((int)target, (Int32)level, (IntPtr)img);
-            }
-        }
-
-        public static 
-        void glGetCompressedTexImageARB(int target, Int32 level, [In, Out] object img)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle img_ptr = System.Runtime.InteropServices.GCHandle.Alloc(img, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetCompressedTexImageARB((int)target, (Int32)level, (IntPtr)img_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    img_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterfARB(int pname, Single param)
-        {
-            Delegates.glPointParameterfARB((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPointParameterfvARB(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPointParameterfvARB((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glPointParameterfvARB(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPointParameterfvARB((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterfvARB(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glPointParameterfvARB((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightbvARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightbvARB((Int32)size, (SByte*)weights);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWeightbvARB(Int32 size, SByte[] weights)
-        {
-            unsafe
-            {
-                fixed (SByte* weights_ptr = weights)
-                {
-                    Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightbvARB(Int32 size, Byte[] weights)
-        {
-            unsafe
-            {
-                fixed (Byte* weights_ptr = weights)
-                {
-                    Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWeightbvARB(Int32 size, ref SByte weights)
-        {
-            unsafe
-            {
-                fixed (SByte* weights_ptr = &weights)
-                {
-                    Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightbvARB(Int32 size, ref Byte weights)
-        {
-            unsafe
-            {
-                fixed (Byte* weights_ptr = &weights)
-                {
-                    Delegates.glWeightbvARB((Int32)size, (SByte*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightsvARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightsvARB((Int32)size, (Int16*)weights);
-            }
-        }
-
-        public static 
-        void glWeightsvARB(Int32 size, Int16[] weights)
-        {
-            unsafe
-            {
-                fixed (Int16* weights_ptr = weights)
-                {
-                    Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightsvARB(Int32 size, ref Int16 weights)
-        {
-            unsafe
-            {
-                fixed (Int16* weights_ptr = &weights)
-                {
-                    Delegates.glWeightsvARB((Int32)size, (Int16*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightivARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightivARB((Int32)size, (Int32*)weights);
-            }
-        }
-
-        public static 
-        void glWeightivARB(Int32 size, Int32[] weights)
-        {
-            unsafe
-            {
-                fixed (Int32* weights_ptr = weights)
-                {
-                    Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightivARB(Int32 size, ref Int32 weights)
-        {
-            unsafe
-            {
-                fixed (Int32* weights_ptr = &weights)
-                {
-                    Delegates.glWeightivARB((Int32)size, (Int32*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightfvARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightfvARB((Int32)size, (Single*)weights);
-            }
-        }
-
-        public static 
-        void glWeightfvARB(Int32 size, Single[] weights)
-        {
-            unsafe
-            {
-                fixed (Single* weights_ptr = weights)
-                {
-                    Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightfvARB(Int32 size, ref Single weights)
-        {
-            unsafe
-            {
-                fixed (Single* weights_ptr = &weights)
-                {
-                    Delegates.glWeightfvARB((Int32)size, (Single*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightdvARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightdvARB((Int32)size, (Double*)weights);
-            }
-        }
-
-        public static 
-        void glWeightdvARB(Int32 size, Double[] weights)
-        {
-            unsafe
-            {
-                fixed (Double* weights_ptr = weights)
-                {
-                    Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightdvARB(Int32 size, ref Double weights)
-        {
-            unsafe
-            {
-                fixed (Double* weights_ptr = &weights)
-                {
-                    Delegates.glWeightdvARB((Int32)size, (Double*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightubvARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightubvARB((Int32)size, (Byte*)weights);
-            }
-        }
-
-        public static 
-        void glWeightubvARB(Int32 size, Byte[] weights)
-        {
-            unsafe
-            {
-                fixed (Byte* weights_ptr = weights)
-                {
-                    Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightubvARB(Int32 size, ref Byte weights)
-        {
-            unsafe
-            {
-                fixed (Byte* weights_ptr = &weights)
-                {
-                    Delegates.glWeightubvARB((Int32)size, (Byte*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightusvARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightusvARB((Int32)size, (UInt16*)weights);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWeightusvARB(Int32 size, UInt16[] weights)
-        {
-            unsafe
-            {
-                fixed (UInt16* weights_ptr = weights)
-                {
-                    Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightusvARB(Int32 size, Int16[] weights)
-        {
-            unsafe
-            {
-                fixed (Int16* weights_ptr = weights)
-                {
-                    Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWeightusvARB(Int32 size, ref UInt16 weights)
-        {
-            unsafe
-            {
-                fixed (UInt16* weights_ptr = &weights)
-                {
-                    Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightusvARB(Int32 size, ref Int16 weights)
-        {
-            unsafe
-            {
-                fixed (Int16* weights_ptr = &weights)
-                {
-                    Delegates.glWeightusvARB((Int32)size, (UInt16*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightuivARB(Int32 size, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glWeightuivARB((Int32)size, (UInt32*)weights);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWeightuivARB(Int32 size, UInt32[] weights)
-        {
-            unsafe
-            {
-                fixed (UInt32* weights_ptr = weights)
-                {
-                    Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightuivARB(Int32 size, Int32[] weights)
-        {
-            unsafe
-            {
-                fixed (Int32* weights_ptr = weights)
-                {
-                    Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWeightuivARB(Int32 size, ref UInt32 weights)
-        {
-            unsafe
-            {
-                fixed (UInt32* weights_ptr = &weights)
-                {
-                    Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightuivARB(Int32 size, ref Int32 weights)
-        {
-            unsafe
-            {
-                fixed (Int32* weights_ptr = &weights)
-                {
-                    Delegates.glWeightuivARB((Int32)size, (UInt32*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWeightPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glWeightPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glWeightPointerARB(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glWeightPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexBlendARB(Int32 count)
-        {
-            Delegates.glVertexBlendARB((Int32)count);
-        }
-
-        public static 
-        void glCurrentPaletteMatrixARB(Int32 index)
-        {
-            Delegates.glCurrentPaletteMatrixARB((Int32)index);
-        }
-
-        public static 
-        void glMatrixIndexubvARB(Int32 size, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices);
-            }
-        }
-
-        public static 
-        void glMatrixIndexubvARB(Int32 size, Byte[] indices)
-        {
-            unsafe
-            {
-                fixed (Byte* indices_ptr = indices)
-                {
-                    Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexubvARB(Int32 size, ref Byte indices)
-        {
-            unsafe
-            {
-                fixed (Byte* indices_ptr = &indices)
-                {
-                    Delegates.glMatrixIndexubvARB((Int32)size, (Byte*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexusvARB(Int32 size, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMatrixIndexusvARB(Int32 size, UInt16[] indices)
-        {
-            unsafe
-            {
-                fixed (UInt16* indices_ptr = indices)
-                {
-                    Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexusvARB(Int32 size, Int16[] indices)
-        {
-            unsafe
-            {
-                fixed (Int16* indices_ptr = indices)
-                {
-                    Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMatrixIndexusvARB(Int32 size, ref UInt16 indices)
-        {
-            unsafe
-            {
-                fixed (UInt16* indices_ptr = &indices)
-                {
-                    Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexusvARB(Int32 size, ref Int16 indices)
-        {
-            unsafe
-            {
-                fixed (Int16* indices_ptr = &indices)
-                {
-                    Delegates.glMatrixIndexusvARB((Int32)size, (UInt16*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexuivARB(Int32 size, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMatrixIndexuivARB(Int32 size, UInt32[] indices)
-        {
-            unsafe
-            {
-                fixed (UInt32* indices_ptr = indices)
-                {
-                    Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexuivARB(Int32 size, Int32[] indices)
-        {
-            unsafe
-            {
-                fixed (Int32* indices_ptr = indices)
-                {
-                    Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMatrixIndexuivARB(Int32 size, ref UInt32 indices)
-        {
-            unsafe
-            {
-                fixed (UInt32* indices_ptr = &indices)
-                {
-                    Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexuivARB(Int32 size, ref Int32 indices)
-        {
-            unsafe
-            {
-                fixed (Int32* indices_ptr = &indices)
-                {
-                    Delegates.glMatrixIndexuivARB((Int32)size, (UInt32*)indices_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMatrixIndexPointerARB(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glMatrixIndexPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glMatrixIndexPointerARB(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMatrixIndexPointerARB((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2dARB(Double x, Double y)
-        {
-            Delegates.glWindowPos2dARB((Double)x, (Double)y);
-        }
-
-        public static 
-        void glWindowPos2dvARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2dvARB((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2dvARB(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos2dvARB((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2dvARB(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2dvARB((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2fARB(Single x, Single y)
-        {
-            Delegates.glWindowPos2fARB((Single)x, (Single)y);
-        }
-
-        public static 
-        void glWindowPos2fvARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2fvARB((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2fvARB(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos2fvARB((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2fvARB(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2fvARB((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2iARB(Int32 x, Int32 y)
-        {
-            Delegates.glWindowPos2iARB((Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glWindowPos2ivARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2ivARB((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2ivARB(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos2ivARB((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2ivARB(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2ivARB((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2sARB(Int16 x, Int16 y)
-        {
-            Delegates.glWindowPos2sARB((Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glWindowPos2svARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2svARB((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2svARB(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos2svARB((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2svARB(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2svARB((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3dARB(Double x, Double y, Double z)
-        {
-            Delegates.glWindowPos3dARB((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glWindowPos3dvARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3dvARB((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3dvARB(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos3dvARB((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3dvARB(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3dvARB((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3fARB(Single x, Single y, Single z)
-        {
-            Delegates.glWindowPos3fARB((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glWindowPos3fvARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3fvARB((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3fvARB(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos3fvARB((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3fvARB(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3fvARB((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3iARB(Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glWindowPos3iARB((Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glWindowPos3ivARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3ivARB((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3ivARB(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos3ivARB((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3ivARB(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3ivARB((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3sARB(Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glWindowPos3sARB((Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glWindowPos3svARB(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3svARB((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3svARB(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos3svARB((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3svARB(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3svARB((Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dARB(UInt32 index, Double x)
-        {
-            Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x);
-        }
-
-        public static 
-        void glVertexAttrib1dARB(Int32 index, Double x)
-        {
-            Delegates.glVertexAttrib1dARB((UInt32)index, (Double)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dvARB(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dvARB(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dvARB(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dvARB(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fARB(UInt32 index, Single x)
-        {
-            Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x);
-        }
-
-        public static 
-        void glVertexAttrib1fARB(Int32 index, Single x)
-        {
-            Delegates.glVertexAttrib1fARB((UInt32)index, (Single)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fvARB(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fvARB(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fvARB(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fvARB(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1sARB(UInt32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x);
-        }
-
-        public static 
-        void glVertexAttrib1sARB(Int32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1sARB((UInt32)index, (Int16)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1svARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1svARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1svARB(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1svARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1svARB(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1svARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dARB(UInt32 index, Double x, Double y)
-        {
-            Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y);
-        }
-
-        public static 
-        void glVertexAttrib2dARB(Int32 index, Double x, Double y)
-        {
-            Delegates.glVertexAttrib2dARB((UInt32)index, (Double)x, (Double)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dvARB(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dvARB(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dvARB(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dvARB(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fARB(UInt32 index, Single x, Single y)
-        {
-            Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y);
-        }
-
-        public static 
-        void glVertexAttrib2fARB(Int32 index, Single x, Single y)
-        {
-            Delegates.glVertexAttrib2fARB((UInt32)index, (Single)x, (Single)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fvARB(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fvARB(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fvARB(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fvARB(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2sARB(UInt32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glVertexAttrib2sARB(Int32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2sARB((UInt32)index, (Int16)x, (Int16)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2svARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2svARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2svARB(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2svARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2svARB(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2svARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dARB(UInt32 index, Double x, Double y, Double z)
-        {
-            Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glVertexAttrib3dARB(Int32 index, Double x, Double y, Double z)
-        {
-            Delegates.glVertexAttrib3dARB((UInt32)index, (Double)x, (Double)y, (Double)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dvARB(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dvARB(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dvARB(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dvARB(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fARB(UInt32 index, Single x, Single y, Single z)
-        {
-            Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glVertexAttrib3fARB(Int32 index, Single x, Single y, Single z)
-        {
-            Delegates.glVertexAttrib3fARB((UInt32)index, (Single)x, (Single)y, (Single)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fvARB(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fvARB(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fvARB(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fvARB(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glVertexAttrib3sARB(Int32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3svARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3svARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3svARB(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3svARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3svARB(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3svARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NbvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NbvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NbvARB(UInt32 index, SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NbvARB(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NbvARB(UInt32 index, ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NbvARB(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NbvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NivARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NivARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NivARB(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NivARB(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NivARB(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NivARB(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NsvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NsvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NsvARB(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NsvARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NsvARB(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NsvARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NsvARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NubARB(UInt32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-        }
-
-        public static 
-        void glVertexAttrib4NubARB(Int32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            Delegates.glVertexAttrib4NubARB((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NubvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NubvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NubvARB(UInt32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NubvARB(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NubvARB(UInt32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NubvARB(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NuivARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NuivARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NuivARB(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NuivARB(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NuivARB(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NuivARB(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NuivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NusvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NusvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NusvARB(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NusvARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4NusvARB(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4NusvARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4NusvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4bvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4bvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4bvARB(UInt32 index, SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4bvARB(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4bvARB(UInt32 index, ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4bvARB(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4bvARB((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dARB(UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glVertexAttrib4dARB(Int32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexAttrib4dARB((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dvARB(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dvARB(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dvARB(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dvARB(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dvARB((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fARB(UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glVertexAttrib4fARB(Int32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexAttrib4fARB((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fvARB(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fvARB(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fvARB(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fvARB(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fvARB((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ivARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ivARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ivARB(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ivARB(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ivARB(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ivARB(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ivARB((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glVertexAttrib4sARB(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4sARB((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4svARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4svARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4svARB(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4svARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4svARB(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4svARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4svARB((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubvARB(UInt32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubvARB(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubvARB(UInt32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubvARB(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubvARB((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4uivARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4uivARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4uivARB(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4uivARB(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4uivARB(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4uivARB(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4uivARB((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4usvARB(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4usvARB(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4usvARB(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4usvARB(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4usvARB(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4usvARB(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4usvARB((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribPointerARB(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexAttribPointerARB(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribPointerARB(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribPointerARB(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerARB((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glEnableVertexAttribArrayARB(UInt32 index)
-        {
-            Delegates.glEnableVertexAttribArrayARB((UInt32)index);
-        }
-
-        public static 
-        void glEnableVertexAttribArrayARB(Int32 index)
-        {
-            Delegates.glEnableVertexAttribArrayARB((UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDisableVertexAttribArrayARB(UInt32 index)
-        {
-            Delegates.glDisableVertexAttribArrayARB((UInt32)index);
-        }
-
-        public static 
-        void glDisableVertexAttribArrayARB(Int32 index)
-        {
-            Delegates.glDisableVertexAttribArrayARB((UInt32)index);
-        }
-
-        public static 
-        void glProgramStringARB(int target, int format, Int32 len, IntPtr @string)
-        {
-            unsafe
-            {
-                Delegates.glProgramStringARB((int)target, (int)format, (Int32)len, (IntPtr)@string);
-            }
-        }
-
-        public static 
-        void glProgramStringARB(int target, int format, Int32 len, [In, Out] object @string)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @string_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@string, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glProgramStringARB((int)target, (int)format, (Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindProgramARB(int target, UInt32 program)
-        {
-            Delegates.glBindProgramARB((int)target, (UInt32)program);
-        }
-
-        public static 
-        void glBindProgramARB(int target, Int32 program)
-        {
-            Delegates.glBindProgramARB((int)target, (UInt32)program);
-        }
-
-        public static 
-        void glDeleteProgramsARB(Int32 n, IntPtr programs)
-        {
-            unsafe
-            {
-                Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteProgramsARB(Int32 n, UInt32[] programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                {
-                    Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteProgramsARB(Int32 n, Int32[] programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                {
-                    Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteProgramsARB(Int32 n, ref UInt32 programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                {
-                    Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteProgramsARB(Int32 n, ref Int32 programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                {
-                    Delegates.glDeleteProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenProgramsARB(Int32 n, [Out] IntPtr programs)
-        {
-            unsafe
-            {
-                Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenProgramsARB(Int32 n, [Out] UInt32[] programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                {
-                    Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenProgramsARB(Int32 n, [Out] Int32[] programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                {
-                    Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenProgramsARB(Int32 n, [Out] out UInt32 programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                {
-                    Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    programs = *programs_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenProgramsARB(Int32 n, [Out] out Int32 programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                {
-                    Delegates.glGenProgramsARB((Int32)n, (UInt32*)programs_ptr);
-                    programs = *programs_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glProgramEnvParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glProgramEnvParameter4dARB(int target, Int32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glProgramEnvParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4dvARB(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParameter4dvARB(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4dvARB(int target, UInt32 index, Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameter4dvARB(int target, Int32 index, Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4dvARB(int target, UInt32 index, ref Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameter4dvARB(int target, Int32 index, ref Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glProgramEnvParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glProgramEnvParameter4fARB(int target, Int32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glProgramEnvParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4fvARB(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParameter4fvARB(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4fvARB(int target, UInt32 index, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameter4fvARB(int target, Int32 index, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameter4fvARB(int target, UInt32 index, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameter4fvARB(int target, Int32 index, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4dARB(int target, UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glProgramLocalParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glProgramLocalParameter4dARB(int target, Int32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glProgramLocalParameter4dARB((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4dvARB(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParameter4dvARB(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4dvARB(int target, UInt32 index, Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameter4dvARB(int target, Int32 index, Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4dvARB(int target, UInt32 index, ref Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameter4dvARB(int target, Int32 index, ref Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameter4dvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4fARB(int target, UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glProgramLocalParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glProgramLocalParameter4fARB(int target, Int32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glProgramLocalParameter4fARB((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4fvARB(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParameter4fvARB(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4fvARB(int target, UInt32 index, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameter4fvARB(int target, Int32 index, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameter4fvARB(int target, UInt32 index, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameter4fvARB(int target, Int32 index, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameter4fvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterdvARB(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterdvARB(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterdvARB(int target, UInt32 index, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterdvARB(int target, Int32 index, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterdvARB(int target, UInt32 index, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterdvARB(int target, Int32 index, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterfvARB(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterfvARB(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterfvARB(int target, UInt32 index, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterfvARB(int target, Int32 index, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterfvARB(int target, UInt32 index, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterfvARB(int target, Int32 index, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterdvARB(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterdvARB(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterdvARB(int target, UInt32 index, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterdvARB(int target, Int32 index, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterdvARB(int target, UInt32 index, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterdvARB(int target, Int32 index, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterdvARB((int)target, (UInt32)index, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterfvARB(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterfvARB(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterfvARB(int target, UInt32 index, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterfvARB(int target, Int32 index, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterfvARB(int target, UInt32 index, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterfvARB(int target, Int32 index, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterfvARB((int)target, (UInt32)index, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramivARB(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramivARB((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramivARB(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramivARB((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramivARB(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramivARB((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramStringARB(int target, int pname, [Out] IntPtr @string)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramStringARB((int)target, (int)pname, (IntPtr)@string);
-            }
-        }
-
-        public static 
-        void glGetProgramStringARB(int target, int pname, [In, Out] object @string)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @string_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@string, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetProgramStringARB((int)target, (int)pname, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdvARB(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdvARB(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdvARB(UInt32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdvARB(Int32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdvARB(UInt32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdvARB(Int32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdvARB((UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfvARB(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfvARB(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfvARB(UInt32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfvARB(Int32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfvARB(UInt32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfvARB(Int32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfvARB((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribivARB(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribivARB(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribivARB(UInt32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribivARB(Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribivARB(UInt32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribivARB(Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribivARB((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribPointervARB(UInt32 index, int pname, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribPointervARB(Int32 index, int pname, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribPointervARB(UInt32 index, int pname, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribPointervARB(Int32 index, int pname, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervARB((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsProgramARB(UInt32 program)
-        {
-            return Delegates.glIsProgramARB((UInt32)program);
-        }
-
-        public static 
-        Int32 glIsProgramARB(Int32 program)
-        {
-            return Delegates.glIsProgramARB((UInt32)program);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindBufferARB(int target, UInt32 buffer)
-        {
-            Delegates.glBindBufferARB((int)target, (UInt32)buffer);
-        }
-
-        public static 
-        void glBindBufferARB(int target, Int32 buffer)
-        {
-            Delegates.glBindBufferARB((int)target, (UInt32)buffer);
-        }
-
-        public static 
-        void glDeleteBuffersARB(Int32 n, IntPtr buffers)
-        {
-            unsafe
-            {
-                Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteBuffersARB(Int32 n, UInt32[] buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = buffers)
-                {
-                    Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteBuffersARB(Int32 n, Int32[] buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = buffers)
-                {
-                    Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteBuffersARB(Int32 n, ref UInt32 buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = &buffers)
-                {
-                    Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteBuffersARB(Int32 n, ref Int32 buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = &buffers)
-                {
-                    Delegates.glDeleteBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenBuffersARB(Int32 n, [Out] IntPtr buffers)
-        {
-            unsafe
-            {
-                Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenBuffersARB(Int32 n, [Out] UInt32[] buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = buffers)
-                {
-                    Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenBuffersARB(Int32 n, [Out] Int32[] buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = buffers)
-                {
-                    Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenBuffersARB(Int32 n, [Out] out UInt32 buffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* buffers_ptr = &buffers)
-                {
-                    Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    buffers = *buffers_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenBuffersARB(Int32 n, [Out] out Int32 buffers)
-        {
-            unsafe
-            {
-                fixed (Int32* buffers_ptr = &buffers)
-                {
-                    Delegates.glGenBuffersARB((Int32)n, (UInt32*)buffers_ptr);
-                    buffers = *buffers_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsBufferARB(UInt32 buffer)
-        {
-            return Delegates.glIsBufferARB((UInt32)buffer);
-        }
-
-        public static 
-        Int32 glIsBufferARB(Int32 buffer)
-        {
-            return Delegates.glIsBufferARB((UInt32)buffer);
-        }
-
-        public static 
-        void glBufferDataARB(int target, IntPtr size, IntPtr data, int usage)
-        {
-            unsafe
-            {
-                Delegates.glBufferDataARB((int)target, (IntPtr)size, (IntPtr)data, (int)usage);
-            }
-        }
-
-        public static 
-        void glBufferDataARB(int target, IntPtr size, [In, Out] object data, int usage)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferDataARB((int)target, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject(), (int)usage);
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBufferSubDataARB(int target, IntPtr offset, IntPtr size, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glBufferSubDataARB(int target, IntPtr offset, IntPtr size, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetBufferSubDataARB(int target, IntPtr offset, IntPtr size, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glGetBufferSubDataARB(int target, IntPtr offset, IntPtr size, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferSubDataARB((int)target, (IntPtr)offset, (IntPtr)size, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        IntPtr glMapBufferARB(int target, int access)
-        {
-            return Delegates.glMapBufferARB((int)target, (int)access);
-        }
-
-        public static 
-        Int32 glUnmapBufferARB(int target)
-        {
-            return Delegates.glUnmapBufferARB((int)target);
-        }
-
-        public static 
-        void glGetBufferParameterivARB(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetBufferParameterivARB((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetBufferParameterivARB(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetBufferParameterivARB((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetBufferParameterivARB(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetBufferParameterivARB((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetBufferPointervARB(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetBufferPointervARB((int)target, (int)pname, (IntPtr)@params);
-            }
-        }
-
-        public static 
-        void glGetBufferPointervARB(int target, int pname, [In, Out] object @params)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetBufferPointervARB((int)target, (int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGenQueriesARB(Int32 n, [Out] IntPtr ids)
-        {
-            unsafe
-            {
-                Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenQueriesARB(Int32 n, [Out] UInt32[] ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenQueriesARB(Int32 n, [Out] Int32[] ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenQueriesARB(Int32 n, [Out] out UInt32 ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenQueriesARB(Int32 n, [Out] out Int32 ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glGenQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glDeleteQueriesARB(Int32 n, IntPtr ids)
-        {
-            unsafe
-            {
-                Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteQueriesARB(Int32 n, UInt32[] ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteQueriesARB(Int32 n, Int32[] ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteQueriesARB(Int32 n, ref UInt32 ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteQueriesARB(Int32 n, ref Int32 ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteQueriesARB((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsQueryARB(UInt32 id)
-        {
-            return Delegates.glIsQueryARB((UInt32)id);
-        }
-
-        public static 
-        Int32 glIsQueryARB(Int32 id)
-        {
-            return Delegates.glIsQueryARB((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBeginQueryARB(int target, UInt32 id)
-        {
-            Delegates.glBeginQueryARB((int)target, (UInt32)id);
-        }
-
-        public static 
-        void glBeginQueryARB(int target, Int32 id)
-        {
-            Delegates.glBeginQueryARB((int)target, (UInt32)id);
-        }
-
-        public static 
-        void glEndQueryARB(int target)
-        {
-            Delegates.glEndQueryARB((int)target);
-        }
-
-        public static 
-        void glGetQueryivARB(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryivARB((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryivARB(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryivARB((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryivARB(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryivARB((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectivARB(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryObjectivARB(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectivARB(UInt32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectivARB(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectivARB(UInt32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectivARB(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectivARB((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectuivARB(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryObjectuivARB(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectuivARB(UInt32 id, int pname, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectuivARB(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectuivARB(UInt32 id, int pname, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectuivARB(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectuivARB((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteObjectARB(UInt32 obj)
-        {
-            Delegates.glDeleteObjectARB((UInt32)obj);
-        }
-
-        public static 
-        void glDeleteObjectARB(Int32 obj)
-        {
-            Delegates.glDeleteObjectARB((UInt32)obj);
-        }
-
-        public static 
-        Int32 glGetHandleARB(int pname)
-        {
-            return Delegates.glGetHandleARB((int)pname);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDetachObjectARB(UInt32 containerObj, UInt32 attachedObj)
-        {
-            Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj);
-        }
-
-        public static 
-        void glDetachObjectARB(Int32 containerObj, Int32 attachedObj)
-        {
-            Delegates.glDetachObjectARB((UInt32)containerObj, (UInt32)attachedObj);
-        }
-
-        public static 
-        Int32 glCreateShaderObjectARB(int shaderType)
-        {
-            return Delegates.glCreateShaderObjectARB((int)shaderType);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, IntPtr length)
-        {
-            unsafe
-            {
-                Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length);
-            }
-        }
-
-        public static 
-        void glShaderSourceARB(Int32 shaderObj, Int32 count, System.String[] @string, IntPtr length)
-        {
-            unsafe
-            {
-                Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, Int32[] length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glShaderSourceARB(Int32 shaderObj, Int32 count, System.String[] @string, Int32[] length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderSourceARB(UInt32 shaderObj, Int32 count, System.String[] @string, ref Int32 length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glShaderSourceARB(Int32 shaderObj, Int32 count, System.String[] @string, ref Int32 length)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glShaderSourceARB((UInt32)shaderObj, (Int32)count, (System.String[])@string, (Int32*)length_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glCompileShaderARB(UInt32 shaderObj)
-        {
-            Delegates.glCompileShaderARB((UInt32)shaderObj);
-        }
-
-        public static 
-        void glCompileShaderARB(Int32 shaderObj)
-        {
-            Delegates.glCompileShaderARB((UInt32)shaderObj);
-        }
-
-        public static 
-        Int32 glCreateProgramObjectARB()
-        {
-            return Delegates.glCreateProgramObjectARB();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glAttachObjectARB(UInt32 containerObj, UInt32 obj)
-        {
-            Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj);
-        }
-
-        public static 
-        void glAttachObjectARB(Int32 containerObj, Int32 obj)
-        {
-            Delegates.glAttachObjectARB((UInt32)containerObj, (UInt32)obj);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLinkProgramARB(UInt32 programObj)
-        {
-            Delegates.glLinkProgramARB((UInt32)programObj);
-        }
-
-        public static 
-        void glLinkProgramARB(Int32 programObj)
-        {
-            Delegates.glLinkProgramARB((UInt32)programObj);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUseProgramObjectARB(UInt32 programObj)
-        {
-            Delegates.glUseProgramObjectARB((UInt32)programObj);
-        }
-
-        public static 
-        void glUseProgramObjectARB(Int32 programObj)
-        {
-            Delegates.glUseProgramObjectARB((UInt32)programObj);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glValidateProgramARB(UInt32 programObj)
-        {
-            Delegates.glValidateProgramARB((UInt32)programObj);
-        }
-
-        public static 
-        void glValidateProgramARB(Int32 programObj)
-        {
-            Delegates.glValidateProgramARB((UInt32)programObj);
-        }
-
-        public static 
-        void glUniform1fARB(Int32 location, Single v0)
-        {
-            Delegates.glUniform1fARB((Int32)location, (Single)v0);
-        }
-
-        public static 
-        void glUniform2fARB(Int32 location, Single v0, Single v1)
-        {
-            Delegates.glUniform2fARB((Int32)location, (Single)v0, (Single)v1);
-        }
-
-        public static 
-        void glUniform3fARB(Int32 location, Single v0, Single v1, Single v2)
-        {
-            Delegates.glUniform3fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2);
-        }
-
-        public static 
-        void glUniform4fARB(Int32 location, Single v0, Single v1, Single v2, Single v3)
-        {
-            Delegates.glUniform4fARB((Int32)location, (Single)v0, (Single)v1, (Single)v2, (Single)v3);
-        }
-
-        public static 
-        void glUniform1iARB(Int32 location, Int32 v0)
-        {
-            Delegates.glUniform1iARB((Int32)location, (Int32)v0);
-        }
-
-        public static 
-        void glUniform2iARB(Int32 location, Int32 v0, Int32 v1)
-        {
-            Delegates.glUniform2iARB((Int32)location, (Int32)v0, (Int32)v1);
-        }
-
-        public static 
-        void glUniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2)
-        {
-            Delegates.glUniform3iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2);
-        }
-
-        public static 
-        void glUniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-        {
-            Delegates.glUniform4iARB((Int32)location, (Int32)v0, (Int32)v1, (Int32)v2, (Int32)v3);
-        }
-
-        public static 
-        void glUniform1fvARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform1fvARB(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1fvARB(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform1fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2fvARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform2fvARB(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2fvARB(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform2fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3fvARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform3fvARB(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3fvARB(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform3fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4fvARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniform4fvARB(Int32 location, Int32 count, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4fvARB(Int32 location, Int32 count, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniform4fvARB((Int32)location, (Int32)count, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1ivARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform1ivARB(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1ivARB(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform1ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2ivARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform2ivARB(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2ivARB(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform2ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3ivARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform3ivARB(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3ivARB(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform3ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4ivARB(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value);
-            }
-        }
-
-        public static 
-        void glUniform4ivARB(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4ivARB(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform4ivARB((Int32)location, (Int32)count, (Int32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix2fvARB(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix2fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix3fvARB(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix3fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value);
-            }
-        }
-
-        public static 
-        void glUniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniformMatrix4fvARB(Int32 location, Int32 count, Int32 transpose, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glUniformMatrix4fvARB((Int32)location, (Int32)count, (Int32)transpose, (Single*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectParameterfvARB(UInt32 obj, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetObjectParameterfvARB(Int32 obj, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectParameterfvARB(UInt32 obj, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectParameterfvARB(Int32 obj, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectParameterfvARB(UInt32 obj, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectParameterfvARB(Int32 obj, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectParameterfvARB((UInt32)obj, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectParameterivARB(UInt32 obj, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetObjectParameterivARB(Int32 obj, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectParameterivARB(UInt32 obj, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectParameterivARB(Int32 obj, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectParameterivARB(UInt32 obj, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectParameterivARB(Int32 obj, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectParameterivARB((UInt32)obj, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            }
-        }
-
-        public static 
-        void glGetInfoLogARB(Int32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder)infoLog);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                }
-            }
-        }
-
-        public static 
-        void glGetInfoLogARB(Int32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetInfoLogARB(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder infoLog)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetInfoLogARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder)infoLog);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] UInt32[] obj)
-        {
-            unsafe
-            {
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] Int32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] out UInt32 obj)
-        {
-            unsafe
-            {
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] IntPtr count, [Out] out Int32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] UInt32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] Int32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] out UInt32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] Int32[] count, [Out] out Int32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] IntPtr obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] UInt32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (UInt32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] Int32[] obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* obj_ptr = obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out UInt32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (UInt32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetAttachedObjectsARB(Int32 containerObj, Int32 maxCount, [Out] out Int32 count, [Out] out Int32 obj)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                fixed (Int32* obj_ptr = &obj)
-                {
-                    Delegates.glGetAttachedObjectsARB((UInt32)containerObj, (Int32)maxCount, (Int32*)count_ptr, (UInt32*)obj_ptr);
-                    count = *count_ptr;
-                    obj = *obj_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetUniformLocationARB(UInt32 programObj, System.String name)
-        {
-            return Delegates.glGetUniformLocationARB((UInt32)programObj, (System.String)name);
-        }
-
-        public static 
-        Int32 glGetUniformLocationARB(Int32 programObj, System.String name)
-        {
-            return Delegates.glGetUniformLocationARB((UInt32)programObj, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveUniformARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveUniformARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformfvARB(UInt32 programObj, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetUniformfvARB(Int32 programObj, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformfvARB(UInt32 programObj, Int32 location, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformfvARB(Int32 programObj, Int32 location, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformfvARB(UInt32 programObj, Int32 location, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformfvARB(Int32 programObj, Int32 location, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformfvARB((UInt32)programObj, (Int32)location, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformivARB(UInt32 programObj, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetUniformivARB(Int32 programObj, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformivARB(UInt32 programObj, Int32 location, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformivARB(Int32 programObj, Int32 location, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformivARB(UInt32 programObj, Int32 location, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformivARB(Int32 programObj, Int32 location, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformivARB((UInt32)programObj, (Int32)location, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder[])source);
-            }
-        }
-
-        public static 
-        void glGetShaderSourceARB(Int32 obj, Int32 maxLength, [Out] IntPtr length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length, (System.Text.StringBuilder[])source);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderSourceARB(Int32 obj, Int32 maxLength, [Out] Int32[] length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetShaderSourceARB(Int32 obj, Int32 maxLength, [Out] out Int32 length, [Out] System.Text.StringBuilder[] source)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetShaderSourceARB((UInt32)obj, (Int32)maxLength, (Int32*)length_ptr, (System.Text.StringBuilder[])source);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindAttribLocationARB(UInt32 programObj, UInt32 index, System.String name)
-        {
-            Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (System.String)name);
-        }
-
-        public static 
-        void glBindAttribLocationARB(Int32 programObj, Int32 index, System.String name)
-        {
-            Delegates.glBindAttribLocationARB((UInt32)programObj, (UInt32)index, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveAttribARB(Int32 programObj, Int32 index, Int32 maxLength, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveAttribARB((UInt32)programObj, (UInt32)index, (Int32)maxLength, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetAttribLocationARB(UInt32 programObj, System.String name)
-        {
-            return Delegates.glGetAttribLocationARB((UInt32)programObj, (System.String)name);
-        }
-
-        public static 
-        Int32 glGetAttribLocationARB(Int32 programObj, System.String name)
-        {
-            return Delegates.glGetAttribLocationARB((UInt32)programObj, (System.String)name);
-        }
-
-        public static 
-        void glDrawBuffersARB(Int32 n, IntPtr bufs)
-        {
-            unsafe
-            {
-                Delegates.glDrawBuffersARB((Int32)n, (int*)bufs);
-            }
-        }
-
-        public static 
-        void glDrawBuffersARB(Int32 n, int[] bufs)
-        {
-            unsafe
-            {
-                fixed (int* bufs_ptr = bufs)
-                {
-                    Delegates.glDrawBuffersARB((Int32)n, (int*)bufs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDrawBuffersARB(Int32 n, ref int bufs)
-        {
-            unsafe
-            {
-                fixed (int* bufs_ptr = &bufs)
-                {
-                    Delegates.glDrawBuffersARB((Int32)n, (int*)bufs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glClampColorARB(int target, int clamp)
-        {
-            Delegates.glClampColorARB((int)target, (int)clamp);
-        }
-
-        public static 
-        void glBlendColorEXT(Single red, Single green, Single blue, Single alpha)
-        {
-            Delegates.glBlendColorEXT((Single)red, (Single)green, (Single)blue, (Single)alpha);
-        }
-
-        public static 
-        void glPolygonOffsetEXT(Single factor, Single bias)
-        {
-            Delegates.glPolygonOffsetEXT((Single)factor, (Single)bias);
-        }
-
-        public static 
-        void glTexImage3DEXT(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexImage3DEXT((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexImage3DEXT(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage3DEXT((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage3DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage3DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)width, (Int32)height, (Int32)depth, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage1DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 width, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage1DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)width, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage2DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage2DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCopyTexImage1DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 border)
-        {
-            Delegates.glCopyTexImage1DEXT((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)border);
-        }
-
-        public static 
-        void glCopyTexImage2DEXT(int target, Int32 level, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border)
-        {
-            Delegates.glCopyTexImage2DEXT((int)target, (Int32)level, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height, (Int32)border);
-        }
-
-        public static 
-        void glCopyTexSubImage1DEXT(int target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyTexSubImage1DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glCopyTexSubImage2DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glCopyTexSubImage2DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glCopyTexSubImage3DEXT(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glCopyTexSubImage3DEXT((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glGetHistogramEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetHistogramEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values);
-            }
-        }
-
-        public static 
-        void glGetHistogramEXT(int target, Int32 reset, int format, int type, [In, Out] object values)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetHistogramEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterfvEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetHistogramParameterfvEXT((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterfvEXT(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetHistogramParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterfvEXT(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetHistogramParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetHistogramParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetHistogramParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetHistogramParameterivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetHistogramParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxEXT(int target, Int32 reset, int format, int type, [Out] IntPtr values)
-        {
-            unsafe
-            {
-                Delegates.glGetMinmaxEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values);
-            }
-        }
-
-        public static 
-        void glGetMinmaxEXT(int target, Int32 reset, int format, int type, [In, Out] object values)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle values_ptr = System.Runtime.InteropServices.GCHandle.Alloc(values, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMinmaxEXT((int)target, (Int32)reset, (int)format, (int)type, (IntPtr)values_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    values_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterfvEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMinmaxParameterfvEXT((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterfvEXT(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMinmaxParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterfvEXT(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMinmaxParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMinmaxParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMinmaxParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMinmaxParameterivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMinmaxParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glHistogramEXT(int target, Int32 width, int internalformat, Int32 sink)
-        {
-            Delegates.glHistogramEXT((int)target, (Int32)width, (int)internalformat, (Int32)sink);
-        }
-
-        public static 
-        void glMinmaxEXT(int target, int internalformat, Int32 sink)
-        {
-            Delegates.glMinmaxEXT((int)target, (int)internalformat, (Int32)sink);
-        }
-
-        public static 
-        void glResetHistogramEXT(int target)
-        {
-            Delegates.glResetHistogramEXT((int)target);
-        }
-
-        public static 
-        void glResetMinmaxEXT(int target)
-        {
-            Delegates.glResetMinmaxEXT((int)target);
-        }
-
-        public static 
-        void glConvolutionFilter1DEXT(int target, int internalformat, Int32 width, int format, int type, IntPtr image)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionFilter1DEXT((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image);
-            }
-        }
-
-        public static 
-        void glConvolutionFilter1DEXT(int target, int internalformat, Int32 width, int format, int type, [In, Out] object image)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter1DEXT((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr image)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image);
-            }
-        }
-
-        public static 
-        void glConvolutionFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object image)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glConvolutionFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameterfEXT(int target, int pname, Single @params)
-        {
-            Delegates.glConvolutionParameterfEXT((int)target, (int)pname, (Single)@params);
-        }
-
-        public static 
-        void glConvolutionParameterfvEXT(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glConvolutionParameterfvEXT(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameterfvEXT(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameteriEXT(int target, int pname, Int32 @params)
-        {
-            Delegates.glConvolutionParameteriEXT((int)target, (int)pname, (Int32)@params);
-        }
-
-        public static 
-        void glConvolutionParameterivEXT(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glConvolutionParameterivEXT(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glConvolutionParameterivEXT(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCopyConvolutionFilter1DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyConvolutionFilter1DEXT((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glCopyConvolutionFilter2DEXT(int target, int internalformat, Int32 x, Int32 y, Int32 width, Int32 height)
-        {
-            Delegates.glCopyConvolutionFilter2DEXT((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glGetConvolutionFilterEXT(int target, int format, int type, [Out] IntPtr image)
-        {
-            unsafe
-            {
-                Delegates.glGetConvolutionFilterEXT((int)target, (int)format, (int)type, (IntPtr)image);
-            }
-        }
-
-        public static 
-        void glGetConvolutionFilterEXT(int target, int format, int type, [In, Out] object image)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle image_ptr = System.Runtime.InteropServices.GCHandle.Alloc(image, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetConvolutionFilterEXT((int)target, (int)format, (int)type, (IntPtr)image_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    image_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterfvEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterfvEXT(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterfvEXT(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetConvolutionParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetConvolutionParameterivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetConvolutionParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span);
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [Out] IntPtr column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span);
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [Out] IntPtr row, [In, Out] object column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span);
-                }
-                finally
-                {
-                    row_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [Out] IntPtr column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column, (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [In, Out] object column, [Out] IntPtr span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span);
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetSeparableFilterEXT(int target, int format, int type, [In, Out] object row, [In, Out] object column, [In, Out] object span)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle span_ptr = System.Runtime.InteropServices.GCHandle.Alloc(span, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetSeparableFilterEXT((int)target, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject(), (IntPtr)span_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                    span_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, IntPtr column)
-        {
-            unsafe
-            {
-                Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column);
-            }
-        }
-
-        public static 
-        void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, IntPtr row, [In, Out] object column)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row, (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, IntPtr column)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column);
-                }
-                finally
-                {
-                    row_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSeparableFilter2DEXT(int target, int internalformat, Int32 width, Int32 height, int format, int type, [In, Out] object row, [In, Out] object column)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle row_ptr = System.Runtime.InteropServices.GCHandle.Alloc(row, System.Runtime.InteropServices.GCHandleType.Pinned);
-                System.Runtime.InteropServices.GCHandle column_ptr = System.Runtime.InteropServices.GCHandle.Alloc(column, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSeparableFilter2DEXT((int)target, (int)internalformat, (Int32)width, (Int32)height, (int)format, (int)type, (IntPtr)row_ptr.AddrOfPinnedObject(), (IntPtr)column_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    row_ptr.Free();
-                    column_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, IntPtr textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (Int32*)residences);
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, IntPtr textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, IntPtr textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, UInt32[] textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, Int32[] textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, UInt32[] textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, Int32[] textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, UInt32[] textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, Int32[] textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, ref UInt32 textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, ref Int32 textures, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, ref UInt32 textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, ref Int32 textures, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, ref UInt32 textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreTexturesResidentEXT(Int32 n, ref Int32 textures, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreTexturesResidentEXT((Int32)n, (UInt32*)textures_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindTextureEXT(int target, UInt32 texture)
-        {
-            Delegates.glBindTextureEXT((int)target, (UInt32)texture);
-        }
-
-        public static 
-        void glBindTextureEXT(int target, Int32 texture)
-        {
-            Delegates.glBindTextureEXT((int)target, (UInt32)texture);
-        }
-
-        public static 
-        void glDeleteTexturesEXT(Int32 n, IntPtr textures)
-        {
-            unsafe
-            {
-                Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteTexturesEXT(Int32 n, UInt32[] textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteTexturesEXT(Int32 n, Int32[] textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteTexturesEXT(Int32 n, ref UInt32 textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteTexturesEXT(Int32 n, ref Int32 textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glDeleteTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenTexturesEXT(Int32 n, [Out] IntPtr textures)
-        {
-            unsafe
-            {
-                Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenTexturesEXT(Int32 n, [Out] UInt32[] textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenTexturesEXT(Int32 n, [Out] Int32[] textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenTexturesEXT(Int32 n, [Out] out UInt32 textures)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    textures = *textures_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenTexturesEXT(Int32 n, [Out] out Int32 textures)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glGenTexturesEXT((Int32)n, (UInt32*)textures_ptr);
-                    textures = *textures_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsTextureEXT(UInt32 texture)
-        {
-            return Delegates.glIsTextureEXT((UInt32)texture);
-        }
-
-        public static 
-        Int32 glIsTextureEXT(Int32 texture)
-        {
-            return Delegates.glIsTextureEXT((UInt32)texture);
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities);
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, UInt32[] textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, Int32[] textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, UInt32[] textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, Int32[] textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, UInt32[] textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, Int32[] textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, ref UInt32 textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, ref Int32 textures, IntPtr priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, ref UInt32 textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, ref Int32 textures, Single[] priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, ref UInt32 textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (UInt32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPrioritizeTexturesEXT(Int32 n, ref Int32 textures, ref Single priorities)
-        {
-            unsafe
-            {
-                fixed (Int32* textures_ptr = &textures)
-                fixed (Single* priorities_ptr = &priorities)
-                {
-                    Delegates.glPrioritizeTexturesEXT((Int32)n, (UInt32*)textures_ptr, (Single*)priorities_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glArrayElementEXT(Int32 i)
-        {
-            Delegates.glArrayElementEXT((Int32)i);
-        }
-
-        public static 
-        void glColorPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glColorPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glColorPointerEXT(Int32 size, int type, Int32 stride, Int32 count, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDrawArraysEXT(int mode, Int32 first, Int32 count)
-        {
-            Delegates.glDrawArraysEXT((int)mode, (Int32)first, (Int32)count);
-        }
-
-        public static 
-        void glEdgeFlagPointerEXT(Int32 stride, Int32 count, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (Int32*)pointer);
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointerEXT(Int32 stride, Int32 count, Int32[] pointer)
-        {
-            unsafe
-            {
-                fixed (Int32* pointer_ptr = pointer)
-                {
-                    Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (Int32*)pointer_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointerEXT(Int32 stride, Int32 count, ref Int32 pointer)
-        {
-            unsafe
-            {
-                fixed (Int32* pointer_ptr = &pointer)
-                {
-                    Delegates.glEdgeFlagPointerEXT((Int32)stride, (Int32)count, (Int32*)pointer_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPointervEXT(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetPointervEXT((int)pname, (IntPtr)@params);
-            }
-        }
-
-        public static 
-        void glGetPointervEXT(int pname, [In, Out] object @params)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetPointervEXT((int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glIndexPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glIndexPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glIndexPointerEXT(int type, Int32 stride, Int32 count, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glNormalPointerEXT(int type, Int32 stride, Int32 count, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glNormalPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glNormalPointerEXT(int type, Int32 stride, Int32 count, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerEXT((int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexCoordPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glTexCoordPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glTexCoordPointerEXT(Int32 size, int type, Int32 stride, Int32 count, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexPointerEXT(Int32 size, int type, Int32 stride, Int32 count, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexPointerEXT(Int32 size, int type, Int32 stride, Int32 count, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerEXT((Int32)size, (int)type, (Int32)stride, (Int32)count, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBlendEquationEXT(int mode)
-        {
-            Delegates.glBlendEquationEXT((int)mode);
-        }
-
-        public static 
-        void glPointParameterfEXT(int pname, Single param)
-        {
-            Delegates.glPointParameterfEXT((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPointParameterfvEXT(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPointParameterfvEXT((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glPointParameterfvEXT(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPointParameterfvEXT((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterfvEXT(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glPointParameterfvEXT((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorSubTableEXT(int target, Int32 start, Int32 count, int format, int type, IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glColorSubTableEXT((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glColorSubTableEXT(int target, Int32 start, Int32 count, int format, int type, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorSubTableEXT((int)target, (Int32)start, (Int32)count, (int)format, (int)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCopyColorSubTableEXT(int target, Int32 start, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyColorSubTableEXT((int)target, (Int32)start, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glColorTableEXT(int target, int internalFormat, Int32 width, int format, int type, IntPtr table)
-        {
-            unsafe
-            {
-                Delegates.glColorTableEXT((int)target, (int)internalFormat, (Int32)width, (int)format, (int)type, (IntPtr)table);
-            }
-        }
-
-        public static 
-        void glColorTableEXT(int target, int internalFormat, Int32 width, int format, int type, [In, Out] object table)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableEXT((int)target, (int)internalFormat, (Int32)width, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableEXT(int target, int format, int type, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableEXT((int)target, (int)format, (int)type, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glGetColorTableEXT(int target, int format, int type, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableEXT((int)target, (int)format, (int)type, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfvEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableParameterfvEXT((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfvEXT(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfvEXT(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glIndexMaterialEXT(int face, int mode)
-        {
-            Delegates.glIndexMaterialEXT((int)face, (int)mode);
-        }
-
-        public static 
-        void glIndexFuncEXT(int func, Single @ref)
-        {
-            Delegates.glIndexFuncEXT((int)func, (Single)@ref);
-        }
-
-        public static 
-        void glLockArraysEXT(Int32 first, Int32 count)
-        {
-            Delegates.glLockArraysEXT((Int32)first, (Int32)count);
-        }
-
-        public static 
-        void glUnlockArraysEXT()
-        {
-            Delegates.glUnlockArraysEXT();
-        }
-
-        public static 
-        void glCullParameterdvEXT(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glCullParameterdvEXT((int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glCullParameterdvEXT(int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glCullParameterdvEXT((int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCullParameterdvEXT(int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glCullParameterdvEXT((int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glCullParameterfvEXT(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glCullParameterfvEXT((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glCullParameterfvEXT(int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glCullParameterfvEXT((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCullParameterfvEXT(int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glCullParameterfvEXT((int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDrawRangeElementsEXT(int mode, UInt32 start, UInt32 end, Int32 count, int type, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices);
-            }
-        }
-
-        public static 
-        void glDrawRangeElementsEXT(int mode, Int32 start, Int32 end, Int32 count, int type, IntPtr indices)
-        {
-            unsafe
-            {
-                Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDrawRangeElementsEXT(int mode, UInt32 start, UInt32 end, Int32 count, int type, [In, Out] object indices)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDrawRangeElementsEXT(int mode, Int32 start, Int32 end, Int32 count, int type, [In, Out] object indices)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawRangeElementsEXT((int)mode, (UInt32)start, (UInt32)end, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glApplyTextureEXT(int mode)
-        {
-            Delegates.glApplyTextureEXT((int)mode);
-        }
-
-        public static 
-        void glTextureLightEXT(int pname)
-        {
-            Delegates.glTextureLightEXT((int)pname);
-        }
-
-        public static 
-        void glTextureMaterialEXT(int face, int mode)
-        {
-            Delegates.glTextureMaterialEXT((int)face, (int)mode);
-        }
-
-        public static 
-        void glPixelTransformParameteriEXT(int target, int pname, Int32 param)
-        {
-            Delegates.glPixelTransformParameteriEXT((int)target, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPixelTransformParameterfEXT(int target, int pname, Single param)
-        {
-            Delegates.glPixelTransformParameterfEXT((int)target, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glPixelTransformParameterivEXT(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPixelTransformParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glPixelTransformParameterivEXT(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glPixelTransformParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTransformParameterivEXT(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glPixelTransformParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTransformParameterfvEXT(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPixelTransformParameterfvEXT((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glPixelTransformParameterfvEXT(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPixelTransformParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTransformParameterfvEXT(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glPixelTransformParameterfvEXT((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3bEXT(SByte red, SByte green, SByte blue)
-        {
-            Delegates.glSecondaryColor3bEXT((SByte)red, (SByte)green, (SByte)blue);
-        }
-
-        public static 
-        void glSecondaryColor3bEXT(Byte red, Byte green, Byte blue)
-        {
-            Delegates.glSecondaryColor3bEXT((SByte)red, (SByte)green, (SByte)blue);
-        }
-
-        public static 
-        void glSecondaryColor3bvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3bvEXT((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3bvEXT(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3bvEXT(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3bvEXT(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3bvEXT(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3dEXT(Double red, Double green, Double blue)
-        {
-            Delegates.glSecondaryColor3dEXT((Double)red, (Double)green, (Double)blue);
-        }
-
-        public static 
-        void glSecondaryColor3dvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3dvEXT((Double*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3dvEXT(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3dvEXT((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3dvEXT(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3dvEXT((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3fEXT(Single red, Single green, Single blue)
-        {
-            Delegates.glSecondaryColor3fEXT((Single)red, (Single)green, (Single)blue);
-        }
-
-        public static 
-        void glSecondaryColor3fvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3fvEXT((Single*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3fvEXT(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3fvEXT((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3fvEXT(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3fvEXT((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue)
-        {
-            Delegates.glSecondaryColor3iEXT((Int32)red, (Int32)green, (Int32)blue);
-        }
-
-        public static 
-        void glSecondaryColor3ivEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3ivEXT((Int32*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ivEXT(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ivEXT(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3ivEXT((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glSecondaryColor3sEXT((Int16)red, (Int16)green, (Int16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3svEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3svEXT((Int16*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3svEXT(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3svEXT((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3svEXT(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3svEXT((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ubEXT(Byte red, Byte green, Byte blue)
-        {
-            Delegates.glSecondaryColor3ubEXT((Byte)red, (Byte)green, (Byte)blue);
-        }
-
-        public static 
-        void glSecondaryColor3ubvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3ubvEXT((Byte*)v);
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ubvEXT(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3ubvEXT(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3ubvEXT((Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue)
-        {
-            Delegates.glSecondaryColor3uiEXT((UInt32)red, (UInt32)green, (UInt32)blue);
-        }
-
-        public static 
-        void glSecondaryColor3uiEXT(Int32 red, Int32 green, Int32 blue)
-        {
-            Delegates.glSecondaryColor3uiEXT((UInt32)red, (UInt32)green, (UInt32)blue);
-        }
-
-        public static 
-        void glSecondaryColor3uivEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3uivEXT((UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3uivEXT(UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3uivEXT(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3uivEXT(ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3uivEXT(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3uivEXT((UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            Delegates.glSecondaryColor3usEXT((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3usEXT(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glSecondaryColor3usEXT((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3usvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3usvEXT((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3usvEXT(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3usvEXT(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3usvEXT(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3usvEXT(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3usvEXT((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColorPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColorPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glSecondaryColorPointerEXT(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTextureNormalEXT(int mode)
-        {
-            Delegates.glTextureNormalEXT((int)mode);
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] IntPtr first, [Out] IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first, (Int32*)count, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] IntPtr first, [Out] Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] IntPtr first, [Out] out Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] Int32[] first, [Out] IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] Int32[] first, [Out] Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] Int32[] first, [Out] out Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] out Int32 first, [Out] IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                    first = *first_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] out Int32 first, [Out] Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    first = *first_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawArraysEXT(int mode, [Out] out Int32 first, [Out] out Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawArraysEXT((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                    first = *first_ptr;
-                    count = *count_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementsEXT(int mode, IntPtr count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glMultiDrawElementsEXT(int mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementsEXT(int mode, Int32[] count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementsEXT(int mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementsEXT(int mode, ref Int32 count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementsEXT(int mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiDrawElementsEXT((int)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordfEXT(Single coord)
-        {
-            Delegates.glFogCoordfEXT((Single)coord);
-        }
-
-        public static 
-        void glFogCoordfvEXT(IntPtr coord)
-        {
-            unsafe
-            {
-                Delegates.glFogCoordfvEXT((Single*)coord);
-            }
-        }
-
-        public static 
-        void glFogCoordfvEXT(Single[] coord)
-        {
-            unsafe
-            {
-                fixed (Single* coord_ptr = coord)
-                {
-                    Delegates.glFogCoordfvEXT((Single*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordfvEXT(ref Single coord)
-        {
-            unsafe
-            {
-                fixed (Single* coord_ptr = &coord)
-                {
-                    Delegates.glFogCoordfvEXT((Single*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoorddEXT(Double coord)
-        {
-            Delegates.glFogCoorddEXT((Double)coord);
-        }
-
-        public static 
-        void glFogCoorddvEXT(IntPtr coord)
-        {
-            unsafe
-            {
-                Delegates.glFogCoorddvEXT((Double*)coord);
-            }
-        }
-
-        public static 
-        void glFogCoorddvEXT(Double[] coord)
-        {
-            unsafe
-            {
-                fixed (Double* coord_ptr = coord)
-                {
-                    Delegates.glFogCoorddvEXT((Double*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoorddvEXT(ref Double coord)
-        {
-            unsafe
-            {
-                fixed (Double* coord_ptr = &coord)
-                {
-                    Delegates.glFogCoorddvEXT((Double*)coord_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordPointerEXT(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glFogCoordPointerEXT((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glFogCoordPointerEXT(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerEXT((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTangent3bEXT(SByte tx, SByte ty, SByte tz)
-        {
-            Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz);
-        }
-
-        public static 
-        void glTangent3bEXT(Byte tx, Byte ty, Byte tz)
-        {
-            Delegates.glTangent3bEXT((SByte)tx, (SByte)ty, (SByte)tz);
-        }
-
-        public static 
-        void glTangent3bvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTangent3bvEXT((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTangent3bvEXT(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3bvEXT(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTangent3bvEXT(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3bvEXT(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glTangent3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3dEXT(Double tx, Double ty, Double tz)
-        {
-            Delegates.glTangent3dEXT((Double)tx, (Double)ty, (Double)tz);
-        }
-
-        public static 
-        void glTangent3dvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTangent3dvEXT((Double*)v);
-            }
-        }
-
-        public static 
-        void glTangent3dvEXT(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glTangent3dvEXT((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3dvEXT(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glTangent3dvEXT((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3fEXT(Single tx, Single ty, Single tz)
-        {
-            Delegates.glTangent3fEXT((Single)tx, (Single)ty, (Single)tz);
-        }
-
-        public static 
-        void glTangent3fvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTangent3fvEXT((Single*)v);
-            }
-        }
-
-        public static 
-        void glTangent3fvEXT(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTangent3fvEXT((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3fvEXT(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTangent3fvEXT((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3iEXT(Int32 tx, Int32 ty, Int32 tz)
-        {
-            Delegates.glTangent3iEXT((Int32)tx, (Int32)ty, (Int32)tz);
-        }
-
-        public static 
-        void glTangent3ivEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTangent3ivEXT((Int32*)v);
-            }
-        }
-
-        public static 
-        void glTangent3ivEXT(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glTangent3ivEXT((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3ivEXT(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glTangent3ivEXT((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3sEXT(Int16 tx, Int16 ty, Int16 tz)
-        {
-            Delegates.glTangent3sEXT((Int16)tx, (Int16)ty, (Int16)tz);
-        }
-
-        public static 
-        void glTangent3svEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTangent3svEXT((Int16*)v);
-            }
-        }
-
-        public static 
-        void glTangent3svEXT(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTangent3svEXT((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangent3svEXT(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTangent3svEXT((Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBinormal3bEXT(SByte bx, SByte by, SByte bz)
-        {
-            Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz);
-        }
-
-        public static 
-        void glBinormal3bEXT(Byte bx, Byte by, Byte bz)
-        {
-            Delegates.glBinormal3bEXT((SByte)bx, (SByte)by, (SByte)bz);
-        }
-
-        public static 
-        void glBinormal3bvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glBinormal3bvEXT((SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBinormal3bvEXT(SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3bvEXT(Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBinormal3bvEXT(ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3bvEXT(ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glBinormal3bvEXT((SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3dEXT(Double bx, Double by, Double bz)
-        {
-            Delegates.glBinormal3dEXT((Double)bx, (Double)by, (Double)bz);
-        }
-
-        public static 
-        void glBinormal3dvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glBinormal3dvEXT((Double*)v);
-            }
-        }
-
-        public static 
-        void glBinormal3dvEXT(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glBinormal3dvEXT((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3dvEXT(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glBinormal3dvEXT((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3fEXT(Single bx, Single by, Single bz)
-        {
-            Delegates.glBinormal3fEXT((Single)bx, (Single)by, (Single)bz);
-        }
-
-        public static 
-        void glBinormal3fvEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glBinormal3fvEXT((Single*)v);
-            }
-        }
-
-        public static 
-        void glBinormal3fvEXT(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glBinormal3fvEXT((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3fvEXT(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glBinormal3fvEXT((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3iEXT(Int32 bx, Int32 by, Int32 bz)
-        {
-            Delegates.glBinormal3iEXT((Int32)bx, (Int32)by, (Int32)bz);
-        }
-
-        public static 
-        void glBinormal3ivEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glBinormal3ivEXT((Int32*)v);
-            }
-        }
-
-        public static 
-        void glBinormal3ivEXT(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glBinormal3ivEXT((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3ivEXT(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glBinormal3ivEXT((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3sEXT(Int16 bx, Int16 by, Int16 bz)
-        {
-            Delegates.glBinormal3sEXT((Int16)bx, (Int16)by, (Int16)bz);
-        }
-
-        public static 
-        void glBinormal3svEXT(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glBinormal3svEXT((Int16*)v);
-            }
-        }
-
-        public static 
-        void glBinormal3svEXT(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glBinormal3svEXT((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBinormal3svEXT(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glBinormal3svEXT((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTangentPointerEXT(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glTangentPointerEXT((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glTangentPointerEXT(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTangentPointerEXT((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBinormalPointerEXT(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glBinormalPointerEXT((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glBinormalPointerEXT(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glBinormalPointerEXT((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glBlendFuncSeparateEXT(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha)
-        {
-            Delegates.glBlendFuncSeparateEXT((int)sfactorRGB, (int)dfactorRGB, (int)sfactorAlpha, (int)dfactorAlpha);
-        }
-
-        public static 
-        void glVertexWeightfEXT(Single weight)
-        {
-            Delegates.glVertexWeightfEXT((Single)weight);
-        }
-
-        public static 
-        void glVertexWeightfvEXT(IntPtr weight)
-        {
-            unsafe
-            {
-                Delegates.glVertexWeightfvEXT((Single*)weight);
-            }
-        }
-
-        public static 
-        void glVertexWeightfvEXT(Single[] weight)
-        {
-            unsafe
-            {
-                fixed (Single* weight_ptr = weight)
-                {
-                    Delegates.glVertexWeightfvEXT((Single*)weight_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexWeightfvEXT(ref Single weight)
-        {
-            unsafe
-            {
-                fixed (Single* weight_ptr = &weight)
-                {
-                    Delegates.glVertexWeightfvEXT((Single*)weight_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexWeightPointerEXT(Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexWeightPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexWeightPointerEXT(Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexWeightPointerEXT((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSampleMaskEXT(Single value, Int32 invert)
-        {
-            Delegates.glSampleMaskEXT((Single)value, (Int32)invert);
-        }
-
-        public static 
-        void glSamplePatternEXT(int pattern)
-        {
-            Delegates.glSamplePatternEXT((int)pattern);
-        }
-
-        public static 
-        void glBeginVertexShaderEXT()
-        {
-            Delegates.glBeginVertexShaderEXT();
-        }
-
-        public static 
-        void glEndVertexShaderEXT()
-        {
-            Delegates.glEndVertexShaderEXT();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindVertexShaderEXT(UInt32 id)
-        {
-            Delegates.glBindVertexShaderEXT((UInt32)id);
-        }
-
-        public static 
-        void glBindVertexShaderEXT(Int32 id)
-        {
-            Delegates.glBindVertexShaderEXT((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGenVertexShadersEXT(UInt32 range)
-        {
-            return Delegates.glGenVertexShadersEXT((UInt32)range);
-        }
-
-        public static 
-        Int32 glGenVertexShadersEXT(Int32 range)
-        {
-            return Delegates.glGenVertexShadersEXT((UInt32)range);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteVertexShaderEXT(UInt32 id)
-        {
-            Delegates.glDeleteVertexShaderEXT((UInt32)id);
-        }
-
-        public static 
-        void glDeleteVertexShaderEXT(Int32 id)
-        {
-            Delegates.glDeleteVertexShaderEXT((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderOp1EXT(int op, UInt32 res, UInt32 arg1)
-        {
-            Delegates.glShaderOp1EXT((int)op, (UInt32)res, (UInt32)arg1);
-        }
-
-        public static 
-        void glShaderOp1EXT(int op, Int32 res, Int32 arg1)
-        {
-            Delegates.glShaderOp1EXT((int)op, (UInt32)res, (UInt32)arg1);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderOp2EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2)
-        {
-            Delegates.glShaderOp2EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2);
-        }
-
-        public static 
-        void glShaderOp2EXT(int op, Int32 res, Int32 arg1, Int32 arg2)
-        {
-            Delegates.glShaderOp2EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glShaderOp3EXT(int op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3)
-        {
-            Delegates.glShaderOp3EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3);
-        }
-
-        public static 
-        void glShaderOp3EXT(int op, Int32 res, Int32 arg1, Int32 arg2, Int32 arg3)
-        {
-            Delegates.glShaderOp3EXT((int)op, (UInt32)res, (UInt32)arg1, (UInt32)arg2, (UInt32)arg3);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSwizzleEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW)
-        {
-            Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW);
-        }
-
-        public static 
-        void glSwizzleEXT(Int32 res, Int32 @in, int outX, int outY, int outZ, int outW)
-        {
-            Delegates.glSwizzleEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glWriteMaskEXT(UInt32 res, UInt32 @in, int outX, int outY, int outZ, int outW)
-        {
-            Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW);
-        }
-
-        public static 
-        void glWriteMaskEXT(Int32 res, Int32 @in, int outX, int outY, int outZ, int outW)
-        {
-            Delegates.glWriteMaskEXT((UInt32)res, (UInt32)@in, (int)outX, (int)outY, (int)outZ, (int)outW);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glInsertComponentEXT(UInt32 res, UInt32 src, UInt32 num)
-        {
-            Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-        }
-
-        public static 
-        void glInsertComponentEXT(Int32 res, Int32 src, Int32 num)
-        {
-            Delegates.glInsertComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num)
-        {
-            Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-        }
-
-        public static 
-        void glExtractComponentEXT(Int32 res, Int32 src, Int32 num)
-        {
-            Delegates.glExtractComponentEXT((UInt32)res, (UInt32)src, (UInt32)num);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGenSymbolsEXT(int datatype, int storagetype, int range, UInt32 components)
-        {
-            return Delegates.glGenSymbolsEXT((int)datatype, (int)storagetype, (int)range, (UInt32)components);
-        }
-
-        public static 
-        Int32 glGenSymbolsEXT(int datatype, int storagetype, int range, Int32 components)
-        {
-            return Delegates.glGenSymbolsEXT((int)datatype, (int)storagetype, (int)range, (UInt32)components);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetInvariantEXT(UInt32 id, int type, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr);
-            }
-        }
-
-        public static 
-        void glSetInvariantEXT(Int32 id, int type, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetInvariantEXT(UInt32 id, int type, [In, Out] object addr)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSetInvariantEXT(Int32 id, int type, [In, Out] object addr)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetInvariantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetLocalConstantEXT(UInt32 id, int type, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr);
-            }
-        }
-
-        public static 
-        void glSetLocalConstantEXT(Int32 id, int type, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetLocalConstantEXT(UInt32 id, int type, [In, Out] object addr)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSetLocalConstantEXT(Int32 id, int type, [In, Out] object addr)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSetLocalConstantEXT((UInt32)id, (int)type, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantbvEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr);
-            }
-        }
-
-        public static 
-        void glVariantbvEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantbvEXT(UInt32 id, SByte[] addr)
-        {
-            unsafe
-            {
-                fixed (SByte* addr_ptr = addr)
-                {
-                    Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantbvEXT(Int32 id, Byte[] addr)
-        {
-            unsafe
-            {
-                fixed (Byte* addr_ptr = addr)
-                {
-                    Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantbvEXT(UInt32 id, ref SByte addr)
-        {
-            unsafe
-            {
-                fixed (SByte* addr_ptr = &addr)
-                {
-                    Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantbvEXT(Int32 id, ref Byte addr)
-        {
-            unsafe
-            {
-                fixed (Byte* addr_ptr = &addr)
-                {
-                    Delegates.glVariantbvEXT((UInt32)id, (SByte*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantsvEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr);
-            }
-        }
-
-        public static 
-        void glVariantsvEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantsvEXT(UInt32 id, Int16[] addr)
-        {
-            unsafe
-            {
-                fixed (Int16* addr_ptr = addr)
-                {
-                    Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantsvEXT(Int32 id, Int16[] addr)
-        {
-            unsafe
-            {
-                fixed (Int16* addr_ptr = addr)
-                {
-                    Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantsvEXT(UInt32 id, ref Int16 addr)
-        {
-            unsafe
-            {
-                fixed (Int16* addr_ptr = &addr)
-                {
-                    Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantsvEXT(Int32 id, ref Int16 addr)
-        {
-            unsafe
-            {
-                fixed (Int16* addr_ptr = &addr)
-                {
-                    Delegates.glVariantsvEXT((UInt32)id, (Int16*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantivEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantivEXT((UInt32)id, (Int32*)addr);
-            }
-        }
-
-        public static 
-        void glVariantivEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantivEXT((UInt32)id, (Int32*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantivEXT(UInt32 id, Int32[] addr)
-        {
-            unsafe
-            {
-                fixed (Int32* addr_ptr = addr)
-                {
-                    Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantivEXT(Int32 id, Int32[] addr)
-        {
-            unsafe
-            {
-                fixed (Int32* addr_ptr = addr)
-                {
-                    Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantivEXT(UInt32 id, ref Int32 addr)
-        {
-            unsafe
-            {
-                fixed (Int32* addr_ptr = &addr)
-                {
-                    Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantivEXT(Int32 id, ref Int32 addr)
-        {
-            unsafe
-            {
-                fixed (Int32* addr_ptr = &addr)
-                {
-                    Delegates.glVariantivEXT((UInt32)id, (Int32*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantfvEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantfvEXT((UInt32)id, (Single*)addr);
-            }
-        }
-
-        public static 
-        void glVariantfvEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantfvEXT((UInt32)id, (Single*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantfvEXT(UInt32 id, Single[] addr)
-        {
-            unsafe
-            {
-                fixed (Single* addr_ptr = addr)
-                {
-                    Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantfvEXT(Int32 id, Single[] addr)
-        {
-            unsafe
-            {
-                fixed (Single* addr_ptr = addr)
-                {
-                    Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantfvEXT(UInt32 id, ref Single addr)
-        {
-            unsafe
-            {
-                fixed (Single* addr_ptr = &addr)
-                {
-                    Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantfvEXT(Int32 id, ref Single addr)
-        {
-            unsafe
-            {
-                fixed (Single* addr_ptr = &addr)
-                {
-                    Delegates.glVariantfvEXT((UInt32)id, (Single*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantdvEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantdvEXT((UInt32)id, (Double*)addr);
-            }
-        }
-
-        public static 
-        void glVariantdvEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantdvEXT((UInt32)id, (Double*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantdvEXT(UInt32 id, Double[] addr)
-        {
-            unsafe
-            {
-                fixed (Double* addr_ptr = addr)
-                {
-                    Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantdvEXT(Int32 id, Double[] addr)
-        {
-            unsafe
-            {
-                fixed (Double* addr_ptr = addr)
-                {
-                    Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantdvEXT(UInt32 id, ref Double addr)
-        {
-            unsafe
-            {
-                fixed (Double* addr_ptr = &addr)
-                {
-                    Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantdvEXT(Int32 id, ref Double addr)
-        {
-            unsafe
-            {
-                fixed (Double* addr_ptr = &addr)
-                {
-                    Delegates.glVariantdvEXT((UInt32)id, (Double*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantubvEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr);
-            }
-        }
-
-        public static 
-        void glVariantubvEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantubvEXT(UInt32 id, Byte[] addr)
-        {
-            unsafe
-            {
-                fixed (Byte* addr_ptr = addr)
-                {
-                    Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantubvEXT(Int32 id, Byte[] addr)
-        {
-            unsafe
-            {
-                fixed (Byte* addr_ptr = addr)
-                {
-                    Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantubvEXT(UInt32 id, ref Byte addr)
-        {
-            unsafe
-            {
-                fixed (Byte* addr_ptr = &addr)
-                {
-                    Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantubvEXT(Int32 id, ref Byte addr)
-        {
-            unsafe
-            {
-                fixed (Byte* addr_ptr = &addr)
-                {
-                    Delegates.glVariantubvEXT((UInt32)id, (Byte*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantusvEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr);
-            }
-        }
-
-        public static 
-        void glVariantusvEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantusvEXT(UInt32 id, UInt16[] addr)
-        {
-            unsafe
-            {
-                fixed (UInt16* addr_ptr = addr)
-                {
-                    Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantusvEXT(Int32 id, Int16[] addr)
-        {
-            unsafe
-            {
-                fixed (Int16* addr_ptr = addr)
-                {
-                    Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantusvEXT(UInt32 id, ref UInt16 addr)
-        {
-            unsafe
-            {
-                fixed (UInt16* addr_ptr = &addr)
-                {
-                    Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantusvEXT(Int32 id, ref Int16 addr)
-        {
-            unsafe
-            {
-                fixed (Int16* addr_ptr = &addr)
-                {
-                    Delegates.glVariantusvEXT((UInt32)id, (UInt16*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantuivEXT(UInt32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr);
-            }
-        }
-
-        public static 
-        void glVariantuivEXT(Int32 id, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantuivEXT(UInt32 id, UInt32[] addr)
-        {
-            unsafe
-            {
-                fixed (UInt32* addr_ptr = addr)
-                {
-                    Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantuivEXT(Int32 id, Int32[] addr)
-        {
-            unsafe
-            {
-                fixed (Int32* addr_ptr = addr)
-                {
-                    Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantuivEXT(UInt32 id, ref UInt32 addr)
-        {
-            unsafe
-            {
-                fixed (UInt32* addr_ptr = &addr)
-                {
-                    Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVariantuivEXT(Int32 id, ref Int32 addr)
-        {
-            unsafe
-            {
-                fixed (Int32* addr_ptr = &addr)
-                {
-                    Delegates.glVariantuivEXT((UInt32)id, (UInt32*)addr_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantPointerEXT(UInt32 id, int type, UInt32 stride, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr);
-            }
-        }
-
-        public static 
-        void glVariantPointerEXT(Int32 id, int type, Int32 stride, IntPtr addr)
-        {
-            unsafe
-            {
-                Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantPointerEXT(UInt32 id, int type, UInt32 stride, [In, Out] object addr)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVariantPointerEXT(Int32 id, int type, Int32 stride, [In, Out] object addr)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle addr_ptr = System.Runtime.InteropServices.GCHandle.Alloc(addr, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVariantPointerEXT((UInt32)id, (int)type, (UInt32)stride, (IntPtr)addr_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    addr_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glEnableVariantClientStateEXT(UInt32 id)
-        {
-            Delegates.glEnableVariantClientStateEXT((UInt32)id);
-        }
-
-        public static 
-        void glEnableVariantClientStateEXT(Int32 id)
-        {
-            Delegates.glEnableVariantClientStateEXT((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDisableVariantClientStateEXT(UInt32 id)
-        {
-            Delegates.glDisableVariantClientStateEXT((UInt32)id);
-        }
-
-        public static 
-        void glDisableVariantClientStateEXT(Int32 id)
-        {
-            Delegates.glDisableVariantClientStateEXT((UInt32)id);
-        }
-
-        public static 
-        Int32 glBindLightParameterEXT(int light, int value)
-        {
-            return Delegates.glBindLightParameterEXT((int)light, (int)value);
-        }
-
-        public static 
-        Int32 glBindMaterialParameterEXT(int face, int value)
-        {
-            return Delegates.glBindMaterialParameterEXT((int)face, (int)value);
-        }
-
-        public static 
-        Int32 glBindTexGenParameterEXT(int unit, int coord, int value)
-        {
-            return Delegates.glBindTexGenParameterEXT((int)unit, (int)coord, (int)value);
-        }
-
-        public static 
-        Int32 glBindTextureUnitParameterEXT(int unit, int value)
-        {
-            return Delegates.glBindTextureUnitParameterEXT((int)unit, (int)value);
-        }
-
-        public static 
-        Int32 glBindParameterEXT(int value)
-        {
-            return Delegates.glBindParameterEXT((int)value);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsVariantEnabledEXT(UInt32 id, int cap)
-        {
-            return Delegates.glIsVariantEnabledEXT((UInt32)id, (int)cap);
-        }
-
-        public static 
-        Int32 glIsVariantEnabledEXT(Int32 id, int cap)
-        {
-            return Delegates.glIsVariantEnabledEXT((UInt32)id, (int)cap);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantBooleanvEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetVariantBooleanvEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantBooleanvEXT(UInt32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantBooleanvEXT(Int32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantBooleanvEXT(UInt32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantBooleanvEXT(Int32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetVariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantIntegervEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetVariantIntegervEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantIntegervEXT(UInt32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantIntegervEXT(Int32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantIntegervEXT(UInt32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantIntegervEXT(Int32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetVariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantFloatvEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data);
-            }
-        }
-
-        public static 
-        void glGetVariantFloatvEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantFloatvEXT(UInt32 id, int value, [Out] Single[] data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = data)
-                {
-                    Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantFloatvEXT(Int32 id, int value, [Out] Single[] data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = data)
-                {
-                    Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantFloatvEXT(UInt32 id, int value, [Out] out Single data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = &data)
-                {
-                    Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantFloatvEXT(Int32 id, int value, [Out] out Single data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = &data)
-                {
-                    Delegates.glGetVariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantPointervEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data);
-            }
-        }
-
-        public static 
-        void glGetVariantPointervEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantPointervEXT(UInt32 id, int value, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantPointervEXT(Int32 id, int value, [In, Out] object data)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle data_ptr = System.Runtime.InteropServices.GCHandle.Alloc(data, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVariantPointervEXT((UInt32)id, (int)value, (IntPtr)data_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    data_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantBooleanvEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetInvariantBooleanvEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantBooleanvEXT(UInt32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetInvariantBooleanvEXT(Int32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantBooleanvEXT(UInt32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetInvariantBooleanvEXT(Int32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetInvariantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantIntegervEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetInvariantIntegervEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantIntegervEXT(UInt32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetInvariantIntegervEXT(Int32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantIntegervEXT(UInt32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetInvariantIntegervEXT(Int32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetInvariantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantFloatvEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data);
-            }
-        }
-
-        public static 
-        void glGetInvariantFloatvEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantFloatvEXT(UInt32 id, int value, [Out] Single[] data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = data)
-                {
-                    Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetInvariantFloatvEXT(Int32 id, int value, [Out] Single[] data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = data)
-                {
-                    Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetInvariantFloatvEXT(UInt32 id, int value, [Out] out Single data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = &data)
-                {
-                    Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetInvariantFloatvEXT(Int32 id, int value, [Out] out Single data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = &data)
-                {
-                    Delegates.glGetInvariantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetLocalConstantBooleanvEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetLocalConstantBooleanvEXT(Int32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantBooleanvEXT(UInt32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetLocalConstantBooleanvEXT(Int32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetLocalConstantBooleanvEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantIntegervEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetLocalConstantIntegervEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantIntegervEXT(UInt32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetLocalConstantIntegervEXT(Int32 id, int value, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantIntegervEXT(UInt32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetLocalConstantIntegervEXT(Int32 id, int value, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetLocalConstantIntegervEXT((UInt32)id, (int)value, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantFloatvEXT(UInt32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data);
-            }
-        }
-
-        public static 
-        void glGetLocalConstantFloatvEXT(Int32 id, int value, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantFloatvEXT(UInt32 id, int value, [Out] Single[] data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = data)
-                {
-                    Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetLocalConstantFloatvEXT(Int32 id, int value, [Out] Single[] data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = data)
-                {
-                    Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetLocalConstantFloatvEXT(UInt32 id, int value, [Out] out Single data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = &data)
-                {
-                    Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetLocalConstantFloatvEXT(Int32 id, int value, [Out] out Single data)
-        {
-            unsafe
-            {
-                fixed (Single* data_ptr = &data)
-                {
-                    Delegates.glGetLocalConstantFloatvEXT((UInt32)id, (int)value, (Single*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glActiveStencilFaceEXT(int face)
-        {
-            Delegates.glActiveStencilFaceEXT((int)face);
-        }
-
-        public static 
-        void glDepthBoundsEXT(Double zmin, Double zmax)
-        {
-            Delegates.glDepthBoundsEXT((Double)zmin, (Double)zmax);
-        }
-
-        public static 
-        void glBlendEquationSeparateEXT(int modeRGB, int modeAlpha)
-        {
-            Delegates.glBlendEquationSeparateEXT((int)modeRGB, (int)modeAlpha);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsRenderbufferEXT(UInt32 renderbuffer)
-        {
-            return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer);
-        }
-
-        public static 
-        Int32 glIsRenderbufferEXT(Int32 renderbuffer)
-        {
-            return Delegates.glIsRenderbufferEXT((UInt32)renderbuffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindRenderbufferEXT(int target, UInt32 renderbuffer)
-        {
-            Delegates.glBindRenderbufferEXT((int)target, (UInt32)renderbuffer);
-        }
-
-        public static 
-        void glBindRenderbufferEXT(int target, Int32 renderbuffer)
-        {
-            Delegates.glBindRenderbufferEXT((int)target, (UInt32)renderbuffer);
-        }
-
-        public static 
-        void glDeleteRenderbuffersEXT(Int32 n, IntPtr renderbuffers)
-        {
-            unsafe
-            {
-                Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteRenderbuffersEXT(Int32 n, UInt32[] renderbuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteRenderbuffersEXT(Int32 n, Int32[] renderbuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteRenderbuffersEXT(Int32 n, ref UInt32 renderbuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteRenderbuffersEXT(Int32 n, ref Int32 renderbuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glDeleteRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenRenderbuffersEXT(Int32 n, [Out] IntPtr renderbuffers)
-        {
-            unsafe
-            {
-                Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenRenderbuffersEXT(Int32 n, [Out] UInt32[] renderbuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenRenderbuffersEXT(Int32 n, [Out] Int32[] renderbuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = renderbuffers)
-                {
-                    Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenRenderbuffersEXT(Int32 n, [Out] out UInt32 renderbuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    renderbuffers = *renderbuffers_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenRenderbuffersEXT(Int32 n, [Out] out Int32 renderbuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* renderbuffers_ptr = &renderbuffers)
-                {
-                    Delegates.glGenRenderbuffersEXT((Int32)n, (UInt32*)renderbuffers_ptr);
-                    renderbuffers = *renderbuffers_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glRenderbufferStorageEXT(int target, int internalformat, Int32 width, Int32 height)
-        {
-            Delegates.glRenderbufferStorageEXT((int)target, (int)internalformat, (Int32)width, (Int32)height);
-        }
-
-        public static 
-        void glGetRenderbufferParameterivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetRenderbufferParameterivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetRenderbufferParameterivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetRenderbufferParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetRenderbufferParameterivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetRenderbufferParameterivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsFramebufferEXT(UInt32 framebuffer)
-        {
-            return Delegates.glIsFramebufferEXT((UInt32)framebuffer);
-        }
-
-        public static 
-        Int32 glIsFramebufferEXT(Int32 framebuffer)
-        {
-            return Delegates.glIsFramebufferEXT((UInt32)framebuffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindFramebufferEXT(int target, UInt32 framebuffer)
-        {
-            Delegates.glBindFramebufferEXT((int)target, (UInt32)framebuffer);
-        }
-
-        public static 
-        void glBindFramebufferEXT(int target, Int32 framebuffer)
-        {
-            Delegates.glBindFramebufferEXT((int)target, (UInt32)framebuffer);
-        }
-
-        public static 
-        void glDeleteFramebuffersEXT(Int32 n, IntPtr framebuffers)
-        {
-            unsafe
-            {
-                Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFramebuffersEXT(Int32 n, UInt32[] framebuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFramebuffersEXT(Int32 n, Int32[] framebuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFramebuffersEXT(Int32 n, ref UInt32 framebuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFramebuffersEXT(Int32 n, ref Int32 framebuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glDeleteFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenFramebuffersEXT(Int32 n, [Out] IntPtr framebuffers)
-        {
-            unsafe
-            {
-                Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenFramebuffersEXT(Int32 n, [Out] UInt32[] framebuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenFramebuffersEXT(Int32 n, [Out] Int32[] framebuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = framebuffers)
-                {
-                    Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenFramebuffersEXT(Int32 n, [Out] out UInt32 framebuffers)
-        {
-            unsafe
-            {
-                fixed (UInt32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    framebuffers = *framebuffers_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenFramebuffersEXT(Int32 n, [Out] out Int32 framebuffers)
-        {
-            unsafe
-            {
-                fixed (Int32* framebuffers_ptr = &framebuffers)
-                {
-                    Delegates.glGenFramebuffersEXT((Int32)n, (UInt32*)framebuffers_ptr);
-                    framebuffers = *framebuffers_ptr;
-                }
-            }
-        }
-
-        public static 
-        int glCheckFramebufferStatusEXT(int target)
-        {
-            return Delegates.glCheckFramebufferStatusEXT((int)target);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferTexture1DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level)
-        {
-            Delegates.glFramebufferTexture1DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level);
-        }
-
-        public static 
-        void glFramebufferTexture1DEXT(int target, int attachment, int textarget, Int32 texture, Int32 level)
-        {
-            Delegates.glFramebufferTexture1DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferTexture2DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level)
-        {
-            Delegates.glFramebufferTexture2DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level);
-        }
-
-        public static 
-        void glFramebufferTexture2DEXT(int target, int attachment, int textarget, Int32 texture, Int32 level)
-        {
-            Delegates.glFramebufferTexture2DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferTexture3DEXT(int target, int attachment, int textarget, UInt32 texture, Int32 level, Int32 zoffset)
-        {
-            Delegates.glFramebufferTexture3DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-        }
-
-        public static 
-        void glFramebufferTexture3DEXT(int target, int attachment, int textarget, Int32 texture, Int32 level, Int32 zoffset)
-        {
-            Delegates.glFramebufferTexture3DEXT((int)target, (int)attachment, (int)textarget, (UInt32)texture, (Int32)level, (Int32)zoffset);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, UInt32 renderbuffer)
-        {
-            Delegates.glFramebufferRenderbufferEXT((int)target, (int)attachment, (int)renderbuffertarget, (UInt32)renderbuffer);
-        }
-
-        public static 
-        void glFramebufferRenderbufferEXT(int target, int attachment, int renderbuffertarget, Int32 renderbuffer)
-        {
-            Delegates.glFramebufferRenderbufferEXT((int)target, (int)attachment, (int)renderbuffertarget, (UInt32)renderbuffer);
-        }
-
-        public static 
-        void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFramebufferAttachmentParameterivEXT((int)target, (int)attachment, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFramebufferAttachmentParameterivEXT((int)target, (int)attachment, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFramebufferAttachmentParameterivEXT(int target, int attachment, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFramebufferAttachmentParameterivEXT((int)target, (int)attachment, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenerateMipmapEXT(int target)
-        {
-            Delegates.glGenerateMipmapEXT((int)target);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glStencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag)
-        {
-            Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag);
-        }
-
-        public static 
-        void glStencilClearTagEXT(Int32 stencilTagBits, Int32 stencilClearTag)
-        {
-            Delegates.glStencilClearTagEXT((Int32)stencilTagBits, (UInt32)stencilClearTag);
-        }
-
-        public static 
-        void glBlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, int mask, int filter)
-        {
-            Delegates.glBlitFramebufferEXT((Int32)srcX0, (Int32)srcY0, (Int32)srcX1, (Int32)srcY1, (Int32)dstX0, (Int32)dstY0, (Int32)dstX1, (Int32)dstY1, (int)mask, (int)filter);
-        }
-
-        public static 
-        void glRenderbufferStorageMultisampleEXT(int target, Int32 samples, int internalformat, Int32 width, Int32 height)
-        {
-            Delegates.glRenderbufferStorageMultisampleEXT((int)target, (Int32)samples, (int)internalformat, (Int32)width, (Int32)height);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjecti64vEXT(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryObjecti64vEXT(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjecti64vEXT(UInt32 id, int pname, [Out] Int64[] @params)
-        {
-            unsafe
-            {
-                fixed (Int64* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjecti64vEXT(Int32 id, int pname, [Out] Int64[] @params)
-        {
-            unsafe
-            {
-                fixed (Int64* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjecti64vEXT(UInt32 id, int pname, [Out] out Int64 @params)
-        {
-            unsafe
-            {
-                fixed (Int64* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjecti64vEXT(Int32 id, int pname, [Out] out Int64 @params)
-        {
-            unsafe
-            {
-                fixed (Int64* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjecti64vEXT((UInt32)id, (int)pname, (Int64*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectui64vEXT(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params);
-            }
-        }
-
-        public static 
-        void glGetQueryObjectui64vEXT(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectui64vEXT(UInt32 id, int pname, [Out] UInt64[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt64* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectui64vEXT(Int32 id, int pname, [Out] Int64[] @params)
-        {
-            unsafe
-            {
-                fixed (Int64* @params_ptr = @params)
-                {
-                    Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetQueryObjectui64vEXT(UInt32 id, int pname, [Out] out UInt64 @params)
-        {
-            unsafe
-            {
-                fixed (UInt64* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetQueryObjectui64vEXT(Int32 id, int pname, [Out] out Int64 @params)
-        {
-            unsafe
-            {
-                fixed (Int64* @params_ptr = &@params)
-                {
-                    Delegates.glGetQueryObjectui64vEXT((UInt32)id, (int)pname, (UInt64*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParameters4fvEXT(int target, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameters4fvEXT(int target, Int32 index, Int32 count, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameters4fvEXT(int target, UInt32 index, Int32 count, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameters4fvEXT(int target, Int32 index, Int32 count, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParameters4fvEXT(int target, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameters4fvEXT(int target, Int32 index, Int32 count, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameters4fvEXT(int target, UInt32 index, Int32 count, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameters4fvEXT(int target, Int32 index, Int32 count, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameters4fvEXT((int)target, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferTextureEXT(int target, int attachment, UInt32 texture, Int32 level)
-        {
-            Delegates.glFramebufferTextureEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level);
-        }
-
-        public static 
-        void glFramebufferTextureEXT(int target, int attachment, Int32 texture, Int32 level)
-        {
-            Delegates.glFramebufferTextureEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferTextureLayerEXT(int target, int attachment, UInt32 texture, Int32 level, Int32 layer)
-        {
-            Delegates.glFramebufferTextureLayerEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-        }
-
-        public static 
-        void glFramebufferTextureLayerEXT(int target, int attachment, Int32 texture, Int32 level, Int32 layer)
-        {
-            Delegates.glFramebufferTextureLayerEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (Int32)layer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFramebufferTextureFaceEXT(int target, int attachment, UInt32 texture, Int32 level, int face)
-        {
-            Delegates.glFramebufferTextureFaceEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (int)face);
-        }
-
-        public static 
-        void glFramebufferTextureFaceEXT(int target, int attachment, Int32 texture, Int32 level, int face)
-        {
-            Delegates.glFramebufferTextureFaceEXT((int)target, (int)attachment, (UInt32)texture, (Int32)level, (int)face);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameteriEXT(UInt32 program, int pname, Int32 value)
-        {
-            Delegates.glProgramParameteriEXT((UInt32)program, (int)pname, (Int32)value);
-        }
-
-        public static 
-        void glProgramParameteriEXT(Int32 program, int pname, Int32 value)
-        {
-            Delegates.glProgramParameteriEXT((UInt32)program, (int)pname, (Int32)value);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1iEXT(UInt32 index, Int32 x)
-        {
-            Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x);
-        }
-
-        public static 
-        void glVertexAttribI1iEXT(Int32 index, Int32 x)
-        {
-            Delegates.glVertexAttribI1iEXT((UInt32)index, (Int32)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y)
-        {
-            Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glVertexAttribI2iEXT(Int32 index, Int32 x, Int32 y)
-        {
-            Delegates.glVertexAttribI2iEXT((UInt32)index, (Int32)x, (Int32)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glVertexAttribI3iEXT(Int32 index, Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glVertexAttribI3iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glVertexAttribI4iEXT(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glVertexAttribI4iEXT((UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1uiEXT(UInt32 index, UInt32 x)
-        {
-            Delegates.glVertexAttribI1uiEXT((UInt32)index, (UInt32)x);
-        }
-
-        public static 
-        void glVertexAttribI1uiEXT(Int32 index, Int32 x)
-        {
-            Delegates.glVertexAttribI1uiEXT((UInt32)index, (UInt32)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y)
-        {
-            Delegates.glVertexAttribI2uiEXT((UInt32)index, (UInt32)x, (UInt32)y);
-        }
-
-        public static 
-        void glVertexAttribI2uiEXT(Int32 index, Int32 x, Int32 y)
-        {
-            Delegates.glVertexAttribI2uiEXT((UInt32)index, (UInt32)x, (UInt32)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z)
-        {
-            Delegates.glVertexAttribI3uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z);
-        }
-
-        public static 
-        void glVertexAttribI3uiEXT(Int32 index, Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glVertexAttribI3uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-        {
-            Delegates.glVertexAttribI4uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-        }
-
-        public static 
-        void glVertexAttribI4uiEXT(Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glVertexAttribI4uiEXT((UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1ivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI1ivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1ivEXT(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI1ivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1ivEXT(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI1ivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI1ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2ivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI2ivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2ivEXT(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI2ivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2ivEXT(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI2ivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3ivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI3ivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3ivEXT(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI3ivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3ivEXT(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI3ivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4ivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI4ivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4ivEXT(UInt32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4ivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4ivEXT(UInt32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4ivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4ivEXT((UInt32)index, (Int32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1uivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI1uivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1uivEXT(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI1uivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI1uivEXT(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI1uivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI1uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2uivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI2uivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2uivEXT(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI2uivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI2uivEXT(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI2uivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI2uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3uivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI3uivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3uivEXT(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI3uivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI3uivEXT(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI3uivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI3uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4uivEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI4uivEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4uivEXT(UInt32 index, UInt32[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4uivEXT(Int32 index, Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4uivEXT(UInt32 index, ref UInt32 v)
-        {
-            unsafe
-            {
-                fixed (UInt32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4uivEXT(Int32 index, ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4uivEXT((UInt32)index, (UInt32*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4bvEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI4bvEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4bvEXT(UInt32 index, SByte[] v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4bvEXT(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4bvEXT(UInt32 index, ref SByte v)
-        {
-            unsafe
-            {
-                fixed (SByte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4bvEXT(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4bvEXT((UInt32)index, (SByte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4svEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI4svEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4svEXT(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4svEXT(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4svEXT(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4svEXT(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4svEXT((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4ubvEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI4ubvEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4ubvEXT(UInt32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4ubvEXT(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4ubvEXT(UInt32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4ubvEXT(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4ubvEXT((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4usvEXT(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribI4usvEXT(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4usvEXT(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4usvEXT(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribI4usvEXT(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribI4usvEXT(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribI4usvEXT((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribIPointerEXT(UInt32 index, Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexAttribIPointerEXT(Int32 index, Int32 size, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribIPointerEXT(UInt32 index, Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribIPointerEXT(Int32 index, Int32 size, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribIPointerEXT((UInt32)index, (Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribIivEXT(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribIivEXT(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribIivEXT(UInt32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribIivEXT(Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribIivEXT(UInt32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribIivEXT(Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIivEXT((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribIuivEXT(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribIuivEXT(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribIuivEXT(UInt32 index, int pname, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribIuivEXT(Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribIuivEXT(UInt32 index, int pname, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribIuivEXT(Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribIuivEXT((UInt32)index, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformuivEXT(UInt32 program, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetUniformuivEXT(Int32 program, Int32 location, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformuivEXT(UInt32 program, Int32 location, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformuivEXT(Int32 program, Int32 location, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetUniformuivEXT(UInt32 program, Int32 location, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetUniformuivEXT(Int32 program, Int32 location, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetUniformuivEXT((UInt32)program, (Int32)location, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindFragDataLocationEXT(UInt32 program, UInt32 color, System.String name)
-        {
-            Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (System.String)name);
-        }
-
-        public static 
-        void glBindFragDataLocationEXT(Int32 program, Int32 color, System.String name)
-        {
-            Delegates.glBindFragDataLocationEXT((UInt32)program, (UInt32)color, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetFragDataLocationEXT(UInt32 program, System.String name)
-        {
-            return Delegates.glGetFragDataLocationEXT((UInt32)program, (System.String)name);
-        }
-
-        public static 
-        Int32 glGetFragDataLocationEXT(Int32 program, System.String name)
-        {
-            return Delegates.glGetFragDataLocationEXT((UInt32)program, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform1uiEXT(Int32 location, UInt32 v0)
-        {
-            Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0);
-        }
-
-        public static 
-        void glUniform1uiEXT(Int32 location, Int32 v0)
-        {
-            Delegates.glUniform1uiEXT((Int32)location, (UInt32)v0);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1)
-        {
-            Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1);
-        }
-
-        public static 
-        void glUniform2uiEXT(Int32 location, Int32 v0, Int32 v1)
-        {
-            Delegates.glUniform2uiEXT((Int32)location, (UInt32)v0, (UInt32)v1);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2)
-        {
-            Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2);
-        }
-
-        public static 
-        void glUniform3uiEXT(Int32 location, Int32 v0, Int32 v1, Int32 v2)
-        {
-            Delegates.glUniform3uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3)
-        {
-            Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3);
-        }
-
-        public static 
-        void glUniform4uiEXT(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3)
-        {
-            Delegates.glUniform4uiEXT((Int32)location, (UInt32)v0, (UInt32)v1, (UInt32)v2, (UInt32)v3);
-        }
-
-        public static 
-        void glUniform1uivEXT(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform1uivEXT(Int32 location, Int32 count, UInt32[] value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1uivEXT(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform1uivEXT(Int32 location, Int32 count, ref UInt32 value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform1uivEXT(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform1uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2uivEXT(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform2uivEXT(Int32 location, Int32 count, UInt32[] value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2uivEXT(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform2uivEXT(Int32 location, Int32 count, ref UInt32 value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform2uivEXT(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform2uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3uivEXT(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform3uivEXT(Int32 location, Int32 count, UInt32[] value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3uivEXT(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform3uivEXT(Int32 location, Int32 count, ref UInt32 value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform3uivEXT(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform3uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4uivEXT(Int32 location, Int32 count, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform4uivEXT(Int32 location, Int32 count, UInt32[] value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = value)
-                {
-                    Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4uivEXT(Int32 location, Int32 count, Int32[] value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = value)
-                {
-                    Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniform4uivEXT(Int32 location, Int32 count, ref UInt32 value)
-        {
-            unsafe
-            {
-                fixed (UInt32* value_ptr = &value)
-                {
-                    Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glUniform4uivEXT(Int32 location, Int32 count, ref Int32 value)
-        {
-            unsafe
-            {
-                fixed (Int32* value_ptr = &value)
-                {
-                    Delegates.glUniform4uivEXT((Int32)location, (Int32)count, (UInt32*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDrawArraysInstancedEXT(int mode, Int32 start, Int32 count, Int32 primcount)
-        {
-            Delegates.glDrawArraysInstancedEXT((int)mode, (Int32)start, (Int32)count, (Int32)primcount);
-        }
-
-        public static 
-        void glDrawElementsInstancedEXT(int mode, Int32 count, int type, IntPtr indices, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glDrawElementsInstancedEXT((int)mode, (Int32)count, (int)type, (IntPtr)indices, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glDrawElementsInstancedEXT(int mode, Int32 count, int type, [In, Out] object indices, Int32 primcount)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glDrawElementsInstancedEXT((int)mode, (Int32)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexBufferEXT(int target, int internalformat, UInt32 buffer)
-        {
-            Delegates.glTexBufferEXT((int)target, (int)internalformat, (UInt32)buffer);
-        }
-
-        public static 
-        void glTexBufferEXT(int target, int internalformat, Int32 buffer)
-        {
-            Delegates.glTexBufferEXT((int)target, (int)internalformat, (UInt32)buffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColorMaskIndexedEXT(UInt32 index, Int32 r, Int32 g, Int32 b, Int32 a)
-        {
-            Delegates.glColorMaskIndexedEXT((UInt32)index, (Int32)r, (Int32)g, (Int32)b, (Int32)a);
-        }
-
-        public static 
-        void glColorMaskIndexedEXT(Int32 index, Int32 r, Int32 g, Int32 b, Int32 a)
-        {
-            Delegates.glColorMaskIndexedEXT((UInt32)index, (Int32)r, (Int32)g, (Int32)b, (Int32)a);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetBooleanIndexedvEXT(int target, UInt32 index, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetBooleanIndexedvEXT(int target, Int32 index, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetBooleanIndexedvEXT(int target, UInt32 index, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetBooleanIndexedvEXT(int target, Int32 index, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetBooleanIndexedvEXT(int target, UInt32 index, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetBooleanIndexedvEXT(int target, Int32 index, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetBooleanIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetIntegerIndexedvEXT(int target, UInt32 index, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data);
-            }
-        }
-
-        public static 
-        void glGetIntegerIndexedvEXT(int target, Int32 index, [Out] IntPtr data)
-        {
-            unsafe
-            {
-                Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetIntegerIndexedvEXT(int target, UInt32 index, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetIntegerIndexedvEXT(int target, Int32 index, [Out] Int32[] data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = data)
-                {
-                    Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetIntegerIndexedvEXT(int target, UInt32 index, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetIntegerIndexedvEXT(int target, Int32 index, [Out] out Int32 data)
-        {
-            unsafe
-            {
-                fixed (Int32* data_ptr = &data)
-                {
-                    Delegates.glGetIntegerIndexedvEXT((int)target, (UInt32)index, (Int32*)data_ptr);
-                    data = *data_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glEnableIndexedEXT(int target, UInt32 index)
-        {
-            Delegates.glEnableIndexedEXT((int)target, (UInt32)index);
-        }
-
-        public static 
-        void glEnableIndexedEXT(int target, Int32 index)
-        {
-            Delegates.glEnableIndexedEXT((int)target, (UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDisableIndexedEXT(int target, UInt32 index)
-        {
-            Delegates.glDisableIndexedEXT((int)target, (UInt32)index);
-        }
-
-        public static 
-        void glDisableIndexedEXT(int target, Int32 index)
-        {
-            Delegates.glDisableIndexedEXT((int)target, (UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsEnabledIndexedEXT(int target, UInt32 index)
-        {
-            return Delegates.glIsEnabledIndexedEXT((int)target, (UInt32)index);
-        }
-
-        public static 
-        Int32 glIsEnabledIndexedEXT(int target, Int32 index)
-        {
-            return Delegates.glIsEnabledIndexedEXT((int)target, (UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer)
-        {
-            Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer);
-        }
-
-        public static 
-        void glUniformBufferEXT(Int32 program, Int32 location, Int32 buffer)
-        {
-            Delegates.glUniformBufferEXT((UInt32)program, (Int32)location, (UInt32)buffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetUniformBufferSizeEXT(UInt32 program, Int32 location)
-        {
-            return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location);
-        }
-
-        public static 
-        Int32 glGetUniformBufferSizeEXT(Int32 program, Int32 location)
-        {
-            return Delegates.glGetUniformBufferSizeEXT((UInt32)program, (Int32)location);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        IntPtr glGetUniformOffsetEXT(UInt32 program, Int32 location)
-        {
-            return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location);
-        }
-
-        public static 
-        IntPtr glGetUniformOffsetEXT(Int32 program, Int32 location)
-        {
-            return Delegates.glGetUniformOffsetEXT((UInt32)program, (Int32)location);
-        }
-
-        public static 
-        void glTexParameterIivEXT(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexParameterIivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glTexParameterIivEXT(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameterIivEXT(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameterIuivEXT(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexParameterIuivEXT(int target, int pname, UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameterIuivEXT(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexParameterIuivEXT(int target, int pname, ref UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexParameterIuivEXT(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterIivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexParameterIivEXT((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetTexParameterIivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterIivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterIivEXT((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterIuivEXT(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTexParameterIuivEXT(int target, int pname, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterIuivEXT(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTexParameterIuivEXT(int target, int pname, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexParameterIuivEXT(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTexParameterIuivEXT((int)target, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            Delegates.glClearColorIiEXT((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha)
-        {
-            Delegates.glClearColorIuiEXT((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha);
-        }
-
-        public static 
-        void glClearColorIuiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            Delegates.glClearColorIuiEXT((UInt32)red, (UInt32)green, (UInt32)blue, (UInt32)alpha);
-        }
-
-        public static 
-        void glGetTexFilterFuncSGIS(int target, int filter, [Out] IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glGetTexFilterFuncSGIS((int)target, (int)filter, (Single*)weights);
-            }
-        }
-
-        public static 
-        void glGetTexFilterFuncSGIS(int target, int filter, [Out] Single[] weights)
-        {
-            unsafe
-            {
-                fixed (Single* weights_ptr = weights)
-                {
-                    Delegates.glGetTexFilterFuncSGIS((int)target, (int)filter, (Single*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexFilterFuncSGIS(int target, int filter, [Out] out Single weights)
-        {
-            unsafe
-            {
-                fixed (Single* weights_ptr = &weights)
-                {
-                    Delegates.glGetTexFilterFuncSGIS((int)target, (int)filter, (Single*)weights_ptr);
-                    weights = *weights_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glTexFilterFuncSGIS(int target, int filter, Int32 n, IntPtr weights)
-        {
-            unsafe
-            {
-                Delegates.glTexFilterFuncSGIS((int)target, (int)filter, (Int32)n, (Single*)weights);
-            }
-        }
-
-        public static 
-        void glTexFilterFuncSGIS(int target, int filter, Int32 n, Single[] weights)
-        {
-            unsafe
-            {
-                fixed (Single* weights_ptr = weights)
-                {
-                    Delegates.glTexFilterFuncSGIS((int)target, (int)filter, (Int32)n, (Single*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexFilterFuncSGIS(int target, int filter, Int32 n, ref Single weights)
-        {
-            unsafe
-            {
-                fixed (Single* weights_ptr = &weights)
-                {
-                    Delegates.glTexFilterFuncSGIS((int)target, (int)filter, (Int32)n, (Single*)weights_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTexGenParameteriSGIS(int pname, Int32 param)
-        {
-            Delegates.glPixelTexGenParameteriSGIS((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPixelTexGenParameterivSGIS(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPixelTexGenParameterivSGIS((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glPixelTexGenParameterivSGIS(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTexGenParameterivSGIS(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTexGenParameterfSGIS(int pname, Single param)
-        {
-            Delegates.glPixelTexGenParameterfSGIS((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPixelTexGenParameterfvSGIS(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPixelTexGenParameterfvSGIS((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glPixelTexGenParameterfvSGIS(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelTexGenParameterfvSGIS(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelTexGenParameterivSGIS(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetPixelTexGenParameterivSGIS((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetPixelTexGenParameterivSGIS(int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelTexGenParameterivSGIS(int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetPixelTexGenParameterivSGIS((int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelTexGenParameterfvSGIS(int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetPixelTexGenParameterfvSGIS((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetPixelTexGenParameterfvSGIS(int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetPixelTexGenParameterfvSGIS(int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetPixelTexGenParameterfvSGIS((int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glTexImage4DSGIS(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexImage4DSGIS((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexImage4DSGIS(int target, Int32 level, int internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexImage4DSGIS((int)target, (Int32)level, (int)internalformat, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (Int32)border, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexSubImage4DSGIS(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, int format, int type, IntPtr pixels)
-        {
-            unsafe
-            {
-                Delegates.glTexSubImage4DSGIS((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (int)format, (int)type, (IntPtr)pixels);
-            }
-        }
-
-        public static 
-        void glTexSubImage4DSGIS(int target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, int format, int type, [In, Out] object pixels)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pixels_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pixels, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexSubImage4DSGIS((int)target, (Int32)level, (Int32)xoffset, (Int32)yoffset, (Int32)zoffset, (Int32)woffset, (Int32)width, (Int32)height, (Int32)depth, (Int32)size4d, (int)format, (int)type, (IntPtr)pixels_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pixels_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDetailTexFuncSGIS(int target, Int32 n, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glDetailTexFuncSGIS((int)target, (Int32)n, (Single*)points);
-            }
-        }
-
-        public static 
-        void glDetailTexFuncSGIS(int target, Int32 n, Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glDetailTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDetailTexFuncSGIS(int target, Int32 n, ref Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glDetailTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetDetailTexFuncSGIS(int target, [Out] IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glGetDetailTexFuncSGIS((int)target, (Single*)points);
-            }
-        }
-
-        public static 
-        void glGetDetailTexFuncSGIS(int target, [Out] Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glGetDetailTexFuncSGIS((int)target, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetDetailTexFuncSGIS(int target, [Out] out Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glGetDetailTexFuncSGIS((int)target, (Single*)points_ptr);
-                    points = *points_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glSharpenTexFuncSGIS(int target, Int32 n, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glSharpenTexFuncSGIS((int)target, (Int32)n, (Single*)points);
-            }
-        }
-
-        public static 
-        void glSharpenTexFuncSGIS(int target, Int32 n, Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glSharpenTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSharpenTexFuncSGIS(int target, Int32 n, ref Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glSharpenTexFuncSGIS((int)target, (Int32)n, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetSharpenTexFuncSGIS(int target, [Out] IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glGetSharpenTexFuncSGIS((int)target, (Single*)points);
-            }
-        }
-
-        public static 
-        void glGetSharpenTexFuncSGIS(int target, [Out] Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glGetSharpenTexFuncSGIS((int)target, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetSharpenTexFuncSGIS(int target, [Out] out Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glGetSharpenTexFuncSGIS((int)target, (Single*)points_ptr);
-                    points = *points_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glSampleMaskSGIS(Single value, Int32 invert)
-        {
-            Delegates.glSampleMaskSGIS((Single)value, (Int32)invert);
-        }
-
-        public static 
-        void glSamplePatternSGIS(int pattern)
-        {
-            Delegates.glSamplePatternSGIS((int)pattern);
-        }
-
-        public static 
-        void glPointParameterfSGIS(int pname, Single param)
-        {
-            Delegates.glPointParameterfSGIS((int)pname, (Single)param);
-        }
-
-        public static 
-        void glPointParameterfvSGIS(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPointParameterfvSGIS((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glPointParameterfvSGIS(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glPointParameterfvSGIS((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterfvSGIS(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glPointParameterfvSGIS((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogFuncSGIS(Int32 n, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glFogFuncSGIS((Int32)n, (Single*)points);
-            }
-        }
-
-        public static 
-        void glFogFuncSGIS(Int32 n, Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogFuncSGIS(Int32 n, ref Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glFogFuncSGIS((Int32)n, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFogFuncSGIS([Out] IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glGetFogFuncSGIS((Single*)points);
-            }
-        }
-
-        public static 
-        void glGetFogFuncSGIS([Out] Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glGetFogFuncSGIS((Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFogFuncSGIS([Out] out Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glGetFogFuncSGIS((Single*)points_ptr);
-                    points = *points_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glTextureColorMaskSGIS(Int32 red, Int32 green, Int32 blue, Int32 alpha)
-        {
-            Delegates.glTextureColorMaskSGIS((Int32)red, (Int32)green, (Int32)blue, (Int32)alpha);
-        }
-
-        public static 
-        void glColorTableSGI(int target, int internalformat, Int32 width, int format, int type, IntPtr table)
-        {
-            unsafe
-            {
-                Delegates.glColorTableSGI((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table);
-            }
-        }
-
-        public static 
-        void glColorTableSGI(int target, int internalformat, Int32 width, int format, int type, [In, Out] object table)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorTableSGI((int)target, (int)internalformat, (Int32)width, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameterfvSGI(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glColorTableParameterfvSGI(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameterfvSGI(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameterivSGI(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glColorTableParameterivSGI(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColorTableParameterivSGI(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCopyColorTableSGI(int target, int internalformat, Int32 x, Int32 y, Int32 width)
-        {
-            Delegates.glCopyColorTableSGI((int)target, (int)internalformat, (Int32)x, (Int32)y, (Int32)width);
-        }
-
-        public static 
-        void glGetColorTableSGI(int target, int format, int type, [Out] IntPtr table)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableSGI((int)target, (int)format, (int)type, (IntPtr)table);
-            }
-        }
-
-        public static 
-        void glGetColorTableSGI(int target, int format, int type, [In, Out] object table)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle table_ptr = System.Runtime.InteropServices.GCHandle.Alloc(table, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetColorTableSGI((int)target, (int)format, (int)type, (IntPtr)table_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    table_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfvSGI(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfvSGI(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterfvSGI(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameterfvSGI((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterivSGI(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterivSGI(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetColorTableParameterivSGI(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetColorTableParameterivSGI((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glPixelTexGenSGIX(int mode)
-        {
-            Delegates.glPixelTexGenSGIX((int)mode);
-        }
-
-        public static 
-        void glSpriteParameterfSGIX(int pname, Single param)
-        {
-            Delegates.glSpriteParameterfSGIX((int)pname, (Single)param);
-        }
-
-        public static 
-        void glSpriteParameterfvSGIX(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glSpriteParameterfvSGIX((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glSpriteParameterfvSGIX(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glSpriteParameterfvSGIX((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSpriteParameterfvSGIX(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glSpriteParameterfvSGIX((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSpriteParameteriSGIX(int pname, Int32 param)
-        {
-            Delegates.glSpriteParameteriSGIX((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glSpriteParameterivSGIX(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glSpriteParameterivSGIX((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glSpriteParameterivSGIX(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glSpriteParameterivSGIX((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSpriteParameterivSGIX(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glSpriteParameterivSGIX((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glGetInstrumentsSGIX()
-        {
-            return Delegates.glGetInstrumentsSGIX();
-        }
-
-        public static 
-        void glInstrumentsBufferSGIX(Int32 size, [Out] IntPtr buffer)
-        {
-            unsafe
-            {
-                Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer);
-            }
-        }
-
-        public static 
-        void glInstrumentsBufferSGIX(Int32 size, [Out] Int32[] buffer)
-        {
-            unsafe
-            {
-                fixed (Int32* buffer_ptr = buffer)
-                {
-                    Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glInstrumentsBufferSGIX(Int32 size, [Out] out Int32 buffer)
-        {
-            unsafe
-            {
-                fixed (Int32* buffer_ptr = &buffer)
-                {
-                    Delegates.glInstrumentsBufferSGIX((Int32)size, (Int32*)buffer_ptr);
-                    buffer = *buffer_ptr;
-                }
-            }
-        }
-
-        public static 
-        Int32 glPollInstrumentsSGIX([Out] IntPtr marker_p)
-        {
-            unsafe
-            {
-                return Delegates.glPollInstrumentsSGIX((Int32*)marker_p);
-            }
-        }
-
-        public static 
-        Int32 glPollInstrumentsSGIX([Out] Int32[] marker_p)
-        {
-            unsafe
-            {
-                fixed (Int32* marker_p_ptr = marker_p)
-                {
-                    return Delegates.glPollInstrumentsSGIX((Int32*)marker_p_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glPollInstrumentsSGIX([Out] out Int32 marker_p)
-        {
-            unsafe
-            {
-                fixed (Int32* marker_p_ptr = &marker_p)
-                {
-                    Int32 retval = Delegates.glPollInstrumentsSGIX((Int32*)marker_p_ptr);
-                    marker_p = *marker_p_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        void glReadInstrumentsSGIX(Int32 marker)
-        {
-            Delegates.glReadInstrumentsSGIX((Int32)marker);
-        }
-
-        public static 
-        void glStartInstrumentsSGIX()
-        {
-            Delegates.glStartInstrumentsSGIX();
-        }
-
-        public static 
-        void glStopInstrumentsSGIX(Int32 marker)
-        {
-            Delegates.glStopInstrumentsSGIX((Int32)marker);
-        }
-
-        public static 
-        void glFrameZoomSGIX(Int32 factor)
-        {
-            Delegates.glFrameZoomSGIX((Int32)factor);
-        }
-
-        public static 
-        void glTagSampleBufferSGIX()
-        {
-            Delegates.glTagSampleBufferSGIX();
-        }
-
-        public static 
-        void glDeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glDeformationMap3dSGIX((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points);
-            }
-        }
-
-        public static 
-        void glDeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, Double[] points)
-        {
-            unsafe
-            {
-                fixed (Double* points_ptr = points)
-                {
-                    Delegates.glDeformationMap3dSGIX((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeformationMap3dSGIX(int target, Double u1, Double u2, Int32 ustride, Int32 uorder, Double v1, Double v2, Int32 vstride, Int32 vorder, Double w1, Double w2, Int32 wstride, Int32 worder, ref Double points)
-        {
-            unsafe
-            {
-                fixed (Double* points_ptr = &points)
-                {
-                    Delegates.glDeformationMap3dSGIX((int)target, (Double)u1, (Double)u2, (Int32)ustride, (Int32)uorder, (Double)v1, (Double)v2, (Int32)vstride, (Int32)vorder, (Double)w1, (Double)w2, (Int32)wstride, (Int32)worder, (Double*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glDeformationMap3fSGIX((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points);
-            }
-        }
-
-        public static 
-        void glDeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, Single[] points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = points)
-                {
-                    Delegates.glDeformationMap3fSGIX((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeformationMap3fSGIX(int target, Single u1, Single u2, Int32 ustride, Int32 uorder, Single v1, Single v2, Int32 vstride, Int32 vorder, Single w1, Single w2, Int32 wstride, Int32 worder, ref Single points)
-        {
-            unsafe
-            {
-                fixed (Single* points_ptr = &points)
-                {
-                    Delegates.glDeformationMap3fSGIX((int)target, (Single)u1, (Single)u2, (Int32)ustride, (Int32)uorder, (Single)v1, (Single)v2, (Int32)vstride, (Int32)vorder, (Single)w1, (Single)w2, (Int32)wstride, (Int32)worder, (Single*)points_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeformSGIX(int mask)
-        {
-            Delegates.glDeformSGIX((int)mask);
-        }
-
-        public static 
-        void glLoadIdentityDeformationMapSGIX(int mask)
-        {
-            Delegates.glLoadIdentityDeformationMapSGIX((int)mask);
-        }
-
-        public static 
-        void glReferencePlaneSGIX(IntPtr equation)
-        {
-            unsafe
-            {
-                Delegates.glReferencePlaneSGIX((Double*)equation);
-            }
-        }
-
-        public static 
-        void glReferencePlaneSGIX(Double[] equation)
-        {
-            unsafe
-            {
-                fixed (Double* equation_ptr = equation)
-                {
-                    Delegates.glReferencePlaneSGIX((Double*)equation_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReferencePlaneSGIX(ref Double equation)
-        {
-            unsafe
-            {
-                fixed (Double* equation_ptr = &equation)
-                {
-                    Delegates.glReferencePlaneSGIX((Double*)equation_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFlushRasterSGIX()
-        {
-            Delegates.glFlushRasterSGIX();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetListParameterfvSGIX(UInt32 list, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetListParameterfvSGIX(Int32 list, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetListParameterfvSGIX(UInt32 list, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetListParameterfvSGIX(Int32 list, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetListParameterfvSGIX(UInt32 list, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetListParameterfvSGIX(Int32 list, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetListParameterivSGIX(UInt32 list, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetListParameterivSGIX(Int32 list, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetListParameterivSGIX(UInt32 list, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetListParameterivSGIX(Int32 list, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetListParameterivSGIX(UInt32 list, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetListParameterivSGIX(Int32 list, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterfSGIX(UInt32 list, int pname, Single param)
-        {
-            Delegates.glListParameterfSGIX((UInt32)list, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glListParameterfSGIX(Int32 list, int pname, Single param)
-        {
-            Delegates.glListParameterfSGIX((UInt32)list, (int)pname, (Single)param);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterfvSGIX(UInt32 list, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glListParameterfvSGIX(Int32 list, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterfvSGIX(UInt32 list, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glListParameterfvSGIX(Int32 list, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterfvSGIX(UInt32 list, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glListParameterfvSGIX(Int32 list, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glListParameterfvSGIX((UInt32)list, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameteriSGIX(UInt32 list, int pname, Int32 param)
-        {
-            Delegates.glListParameteriSGIX((UInt32)list, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glListParameteriSGIX(Int32 list, int pname, Int32 param)
-        {
-            Delegates.glListParameteriSGIX((UInt32)list, (int)pname, (Int32)param);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterivSGIX(UInt32 list, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glListParameterivSGIX(Int32 list, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterivSGIX(UInt32 list, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glListParameterivSGIX(Int32 list, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glListParameterivSGIX(UInt32 list, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glListParameterivSGIX(Int32 list, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glListParameterivSGIX((UInt32)list, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentColorMaterialSGIX(int face, int mode)
-        {
-            Delegates.glFragmentColorMaterialSGIX((int)face, (int)mode);
-        }
-
-        public static 
-        void glFragmentLightfSGIX(int light, int pname, Single param)
-        {
-            Delegates.glFragmentLightfSGIX((int)light, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glFragmentLightfvSGIX(int light, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glFragmentLightfvSGIX(int light, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightfvSGIX(int light, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightiSGIX(int light, int pname, Int32 param)
-        {
-            Delegates.glFragmentLightiSGIX((int)light, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glFragmentLightivSGIX(int light, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glFragmentLightivSGIX(int light, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightivSGIX(int light, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightModelfSGIX(int pname, Single param)
-        {
-            Delegates.glFragmentLightModelfSGIX((int)pname, (Single)param);
-        }
-
-        public static 
-        void glFragmentLightModelfvSGIX(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFragmentLightModelfvSGIX((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glFragmentLightModelfvSGIX(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glFragmentLightModelfvSGIX((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightModelfvSGIX(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glFragmentLightModelfvSGIX((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightModeliSGIX(int pname, Int32 param)
-        {
-            Delegates.glFragmentLightModeliSGIX((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glFragmentLightModelivSGIX(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFragmentLightModelivSGIX((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glFragmentLightModelivSGIX(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glFragmentLightModelivSGIX((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentLightModelivSGIX(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glFragmentLightModelivSGIX((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentMaterialfSGIX(int face, int pname, Single param)
-        {
-            Delegates.glFragmentMaterialfSGIX((int)face, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glFragmentMaterialfvSGIX(int face, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glFragmentMaterialfvSGIX(int face, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentMaterialfvSGIX(int face, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentMaterialiSGIX(int face, int pname, Int32 param)
-        {
-            Delegates.glFragmentMaterialiSGIX((int)face, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glFragmentMaterialivSGIX(int face, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glFragmentMaterialivSGIX(int face, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFragmentMaterialivSGIX(int face, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentLightfvSGIX(int light, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetFragmentLightfvSGIX(int light, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentLightfvSGIX(int light, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetFragmentLightfvSGIX((int)light, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentLightivSGIX(int light, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetFragmentLightivSGIX(int light, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentLightivSGIX(int light, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFragmentLightivSGIX((int)light, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentMaterialfvSGIX(int face, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetFragmentMaterialfvSGIX(int face, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentMaterialfvSGIX(int face, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetFragmentMaterialfvSGIX((int)face, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentMaterialivSGIX(int face, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetFragmentMaterialivSGIX(int face, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFragmentMaterialivSGIX(int face, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFragmentMaterialivSGIX((int)face, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glLightEnviSGIX(int pname, Int32 param)
-        {
-            Delegates.glLightEnviSGIX((int)pname, (Int32)param);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glAsyncMarkerSGIX(UInt32 marker)
-        {
-            Delegates.glAsyncMarkerSGIX((UInt32)marker);
-        }
-
-        public static 
-        void glAsyncMarkerSGIX(Int32 marker)
-        {
-            Delegates.glAsyncMarkerSGIX((UInt32)marker);
-        }
-
-        public static 
-        Int32 glFinishAsyncSGIX([Out] IntPtr markerp)
-        {
-            unsafe
-            {
-                return Delegates.glFinishAsyncSGIX((UInt32*)markerp);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glFinishAsyncSGIX([Out] UInt32[] markerp)
-        {
-            unsafe
-            {
-                fixed (UInt32* markerp_ptr = markerp)
-                {
-                    return Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glFinishAsyncSGIX([Out] Int32[] markerp)
-        {
-            unsafe
-            {
-                fixed (Int32* markerp_ptr = markerp)
-                {
-                    return Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glFinishAsyncSGIX([Out] out UInt32 markerp)
-        {
-            unsafe
-            {
-                fixed (UInt32* markerp_ptr = &markerp)
-                {
-                    Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr);
-                    markerp = *markerp_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glFinishAsyncSGIX([Out] out Int32 markerp)
-        {
-            unsafe
-            {
-                fixed (Int32* markerp_ptr = &markerp)
-                {
-                    Int32 retval = Delegates.glFinishAsyncSGIX((UInt32*)markerp_ptr);
-                    markerp = *markerp_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glPollAsyncSGIX([Out] IntPtr markerp)
-        {
-            unsafe
-            {
-                return Delegates.glPollAsyncSGIX((UInt32*)markerp);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glPollAsyncSGIX([Out] UInt32[] markerp)
-        {
-            unsafe
-            {
-                fixed (UInt32* markerp_ptr = markerp)
-                {
-                    return Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glPollAsyncSGIX([Out] Int32[] markerp)
-        {
-            unsafe
-            {
-                fixed (Int32* markerp_ptr = markerp)
-                {
-                    return Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glPollAsyncSGIX([Out] out UInt32 markerp)
-        {
-            unsafe
-            {
-                fixed (UInt32* markerp_ptr = &markerp)
-                {
-                    Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr);
-                    markerp = *markerp_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glPollAsyncSGIX([Out] out Int32 markerp)
-        {
-            unsafe
-            {
-                fixed (Int32* markerp_ptr = &markerp)
-                {
-                    Int32 retval = Delegates.glPollAsyncSGIX((UInt32*)markerp_ptr);
-                    markerp = *markerp_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glGenAsyncMarkersSGIX(Int32 range)
-        {
-            return Delegates.glGenAsyncMarkersSGIX((Int32)range);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteAsyncMarkersSGIX(UInt32 marker, Int32 range)
-        {
-            Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range);
-        }
-
-        public static 
-        void glDeleteAsyncMarkersSGIX(Int32 marker, Int32 range)
-        {
-            Delegates.glDeleteAsyncMarkersSGIX((UInt32)marker, (Int32)range);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsAsyncMarkerSGIX(UInt32 marker)
-        {
-            return Delegates.glIsAsyncMarkerSGIX((UInt32)marker);
-        }
-
-        public static 
-        Int32 glIsAsyncMarkerSGIX(Int32 marker)
-        {
-            return Delegates.glIsAsyncMarkerSGIX((UInt32)marker);
-        }
-
-        public static 
-        void glIglooInterfaceSGIX(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glIglooInterfaceSGIX((int)pname, (IntPtr)@params);
-            }
-        }
-
-        public static 
-        void glIglooInterfaceSGIX(int pname, [In, Out] object @params)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @params_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@params, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIglooInterfaceSGIX((int)pname, (IntPtr)@params_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @params_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glImageTransformParameteriHP(int target, int pname, Int32 param)
-        {
-            Delegates.glImageTransformParameteriHP((int)target, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glImageTransformParameterfHP(int target, int pname, Single param)
-        {
-            Delegates.glImageTransformParameterfHP((int)target, (int)pname, (Single)param);
-        }
-
-        public static 
-        void glImageTransformParameterivHP(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glImageTransformParameterivHP(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glImageTransformParameterivHP(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glImageTransformParameterfvHP(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glImageTransformParameterfvHP(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glImageTransformParameterfvHP(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetImageTransformParameterivHP(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetImageTransformParameterivHP(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetImageTransformParameterivHP(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetImageTransformParameterivHP((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetImageTransformParameterfvHP(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetImageTransformParameterfvHP(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetImageTransformParameterfvHP(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetImageTransformParameterfvHP((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glHintPGI(int target, Int32 mode)
-        {
-            Delegates.glHintPGI((int)target, (Int32)mode);
-        }
-
-        public static 
-        void glVertexPointervINTEL(Int32 size, int type, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexPointervINTEL((Int32)size, (int)type, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexPointervINTEL(Int32 size, int type, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointervINTEL((Int32)size, (int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glNormalPointervINTEL(int type, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glNormalPointervINTEL((int)type, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glNormalPointervINTEL(int type, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointervINTEL((int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glColorPointervINTEL(Int32 size, int type, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glColorPointervINTEL((Int32)size, (int)type, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glColorPointervINTEL(Int32 size, int type, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointervINTEL((Int32)size, (int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexCoordPointervINTEL(Int32 size, int type, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glTexCoordPointervINTEL((Int32)size, (int)type, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glTexCoordPointervINTEL(Int32 size, int type, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointervINTEL((Int32)size, (int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glFinishTextureSUNX()
-        {
-            Delegates.glFinishTextureSUNX();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGlobalAlphaFactorbSUN(SByte factor)
-        {
-            Delegates.glGlobalAlphaFactorbSUN((SByte)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactorbSUN(Byte factor)
-        {
-            Delegates.glGlobalAlphaFactorbSUN((SByte)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactorsSUN(Int16 factor)
-        {
-            Delegates.glGlobalAlphaFactorsSUN((Int16)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactoriSUN(Int32 factor)
-        {
-            Delegates.glGlobalAlphaFactoriSUN((Int32)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactorfSUN(Single factor)
-        {
-            Delegates.glGlobalAlphaFactorfSUN((Single)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactordSUN(Double factor)
-        {
-            Delegates.glGlobalAlphaFactordSUN((Double)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactorubSUN(Byte factor)
-        {
-            Delegates.glGlobalAlphaFactorubSUN((Byte)factor);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGlobalAlphaFactorusSUN(UInt16 factor)
-        {
-            Delegates.glGlobalAlphaFactorusSUN((UInt16)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactorusSUN(Int16 factor)
-        {
-            Delegates.glGlobalAlphaFactorusSUN((UInt16)factor);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGlobalAlphaFactoruiSUN(UInt32 factor)
-        {
-            Delegates.glGlobalAlphaFactoruiSUN((UInt32)factor);
-        }
-
-        public static 
-        void glGlobalAlphaFactoruiSUN(Int32 factor)
-        {
-            Delegates.glGlobalAlphaFactoruiSUN((UInt32)factor);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiSUN(UInt32 code)
-        {
-            Delegates.glReplacementCodeuiSUN((UInt32)code);
-        }
-
-        public static 
-        void glReplacementCodeuiSUN(Int32 code)
-        {
-            Delegates.glReplacementCodeuiSUN((UInt32)code);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeusSUN(UInt16 code)
-        {
-            Delegates.glReplacementCodeusSUN((UInt16)code);
-        }
-
-        public static 
-        void glReplacementCodeusSUN(Int16 code)
-        {
-            Delegates.glReplacementCodeusSUN((UInt16)code);
-        }
-
-        public static 
-        void glReplacementCodeubSUN(Byte code)
-        {
-            Delegates.glReplacementCodeubSUN((Byte)code);
-        }
-
-        public static 
-        void glReplacementCodeuivSUN(IntPtr code)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuivSUN((UInt32*)code);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuivSUN(UInt32[] code)
-        {
-            unsafe
-            {
-                fixed (UInt32* code_ptr = code)
-                {
-                    Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuivSUN(Int32[] code)
-        {
-            unsafe
-            {
-                fixed (Int32* code_ptr = code)
-                {
-                    Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuivSUN(ref UInt32 code)
-        {
-            unsafe
-            {
-                fixed (UInt32* code_ptr = &code)
-                {
-                    Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuivSUN(ref Int32 code)
-        {
-            unsafe
-            {
-                fixed (Int32* code_ptr = &code)
-                {
-                    Delegates.glReplacementCodeuivSUN((UInt32*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeusvSUN(IntPtr code)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeusvSUN((UInt16*)code);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeusvSUN(UInt16[] code)
-        {
-            unsafe
-            {
-                fixed (UInt16* code_ptr = code)
-                {
-                    Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeusvSUN(Int16[] code)
-        {
-            unsafe
-            {
-                fixed (Int16* code_ptr = code)
-                {
-                    Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeusvSUN(ref UInt16 code)
-        {
-            unsafe
-            {
-                fixed (UInt16* code_ptr = &code)
-                {
-                    Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeusvSUN(ref Int16 code)
-        {
-            unsafe
-            {
-                fixed (Int16* code_ptr = &code)
-                {
-                    Delegates.glReplacementCodeusvSUN((UInt16*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeubvSUN(IntPtr code)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeubvSUN((Byte*)code);
-            }
-        }
-
-        public static 
-        void glReplacementCodeubvSUN(Byte[] code)
-        {
-            unsafe
-            {
-                fixed (Byte* code_ptr = code)
-                {
-                    Delegates.glReplacementCodeubvSUN((Byte*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeubvSUN(ref Byte code)
-        {
-            unsafe
-            {
-                fixed (Byte* code_ptr = &code)
-                {
-                    Delegates.glReplacementCodeubvSUN((Byte*)code_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodePointerSUN(int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodePointerSUN((int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glReplacementCodePointerSUN(int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glReplacementCodePointerSUN((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y)
-        {
-            Delegates.glColor4ubVertex2fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y);
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex2fvSUN(ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4ubVertex2fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fSUN(Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-        {
-            Delegates.glColor4ubVertex3fSUN((Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4ubVertex3fvSUN(ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4ubVertex3fvSUN((Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fSUN(Single r, Single g, Single b, Single x, Single y, Single z)
-        {
-            Delegates.glColor3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3fVertex3fvSUN(ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor3fVertex3fvSUN((Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fSUN(Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glNormal3fVertex3fSUN((Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3fVertex3fvSUN(ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glNormal3fVertex3fvSUN((Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fSUN(Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glColor4fNormal3fVertex3fSUN((Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4fNormal3fVertex3fvSUN(ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glColor4fNormal3fVertex3fvSUN((Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fSUN(Single s, Single t, Single x, Single y, Single z)
-        {
-            Delegates.glTexCoord2fVertex3fSUN((Single)s, (Single)t, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fVertex3fvSUN(ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fVertex3fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fSUN(Single s, Single t, Single p, Single q, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glTexCoord4fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fVertex4fvSUN(ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fVertex4fvSUN((Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fSUN(Single s, Single t, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-        {
-            Delegates.glTexCoord2fColor4ubVertex3fSUN((Single)s, (Single)t, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(Single[] tc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4ubVertex3fvSUN(ref Single tc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4ubVertex3fvSUN((Single*)tc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single x, Single y, Single z)
-        {
-            Delegates.glTexCoord2fColor3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(Single[] tc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor3fVertex3fvSUN(ref Single tc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fSUN(Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glTexCoord2fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(Single[] tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fNormal3fVertex3fvSUN(ref Single tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fSUN(Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glTexCoord2fColor4fNormal3fVertex3fSUN((Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2fColor4fNormal3fVertex3fvSUN(ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2fColor4fNormal3fVertex3fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fSUN(Single s, Single t, Single p, Single q, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glTexCoord4fColor4fNormal3fVertex4fSUN((Single)s, (Single)t, (Single)p, (Single)q, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4fColor4fNormal3fVertex4fvSUN(ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4fColor4fNormal3fVertex4fvSUN((Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fSUN(UInt32 rc, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fSUN(Int32 rc, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiVertex3fSUN((UInt32)rc, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(IntPtr rc, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(IntPtr rc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(IntPtr rc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(UInt32[] rc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(Int32[] rc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(UInt32[] rc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(Int32[] rc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(UInt32[] rc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(Int32[] rc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(ref UInt32 rc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(ref Int32 rc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(ref UInt32 rc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(ref Int32 rc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(ref UInt32 rc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiVertex3fvSUN(ref Int32 rc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiVertex3fvSUN((UInt32*)rc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fSUN(Int32 rc, Byte r, Byte g, Byte b, Byte a, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiColor4ubVertex3fSUN((UInt32)rc, (Byte)r, (Byte)g, (Byte)b, (Byte)a, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(UInt32[] rc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(Int32[] rc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, Byte[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, Byte[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, Byte[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, ref Byte c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, ref Byte c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref UInt32 rc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4ubVertex3fvSUN(ref Int32 rc, ref Byte c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Byte* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4ubVertex3fvSUN((UInt32*)rc_ptr, (Byte*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fSUN(Int32 rc, Single r, Single g, Single b, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiColor3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fSUN(Int32 rc, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiNormal3fVertex3fSUN((UInt32)rc, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(UInt32[] rc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(Int32[] rc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref UInt32 rc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiNormal3fVertex3fvSUN(ref Int32 rc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fSUN(Int32 rc, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, Single s, Single t, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fSUN(Int32 rc, Single s, Single t, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiTexCoord2fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(Int32 rc, Single s, Single t, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(Int32 rc, Single s, Single t, Single r, Single g, Single b, Single a, Single nx, Single ny, Single nz, Single x, Single y, Single z)
-        {
-            Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN((UInt32)rc, (Single)s, (Single)t, (Single)r, (Single)g, (Single)b, (Single)a, (Single)nx, (Single)ny, (Single)nz, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(UInt32[] rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(Int32[] rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, IntPtr tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, Single[] tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, IntPtr c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, Single[] c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, IntPtr n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, IntPtr n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, IntPtr n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, Single[] n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, Single[] n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, Single[] n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, ref Single n, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, ref Single n, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref UInt32 rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (UInt32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(ref Int32 rc, ref Single tc, ref Single c, ref Single n, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Int32* rc_ptr = &rc)
-                fixed (Single* tc_ptr = &tc)
-                fixed (Single* c_ptr = &c)
-                fixed (Single* n_ptr = &n)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN((UInt32*)rc_ptr, (Single*)tc_ptr, (Single*)c_ptr, (Single*)n_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDrawMeshArraysSUN(int mode, Int32 first, Int32 count, Int32 width)
-        {
-            Delegates.glDrawMeshArraysSUN((int)mode, (Int32)first, (Int32)count, (Int32)width);
-        }
-
-        public static 
-        void glBlendFuncSeparateINGR(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha)
-        {
-            Delegates.glBlendFuncSeparateINGR((int)sfactorRGB, (int)dfactorRGB, (int)sfactorAlpha, (int)dfactorAlpha);
-        }
-
-        public static 
-        void glFlushVertexArrayRangeNV()
-        {
-            Delegates.glFlushVertexArrayRangeNV();
-        }
-
-        public static 
-        void glVertexArrayRangeNV(Int32 length, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexArrayRangeNV(Int32 length, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeNV((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glCombinerParameterfvNV(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glCombinerParameterfvNV((int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glCombinerParameterfvNV(int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glCombinerParameterfvNV((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCombinerParameterfvNV(int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glCombinerParameterfvNV((int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCombinerParameterfNV(int pname, Single param)
-        {
-            Delegates.glCombinerParameterfNV((int)pname, (Single)param);
-        }
-
-        public static 
-        void glCombinerParameterivNV(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glCombinerParameterivNV((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glCombinerParameterivNV(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glCombinerParameterivNV((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCombinerParameterivNV(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glCombinerParameterivNV((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCombinerParameteriNV(int pname, Int32 param)
-        {
-            Delegates.glCombinerParameteriNV((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glCombinerInputNV(int stage, int portion, int variable, int input, int mapping, int componentUsage)
-        {
-            Delegates.glCombinerInputNV((int)stage, (int)portion, (int)variable, (int)input, (int)mapping, (int)componentUsage);
-        }
-
-        public static 
-        void glCombinerOutputNV(int stage, int portion, int abOutput, int cdOutput, int sumOutput, int scale, int bias, Int32 abDotProduct, Int32 cdDotProduct, Int32 muxSum)
-        {
-            Delegates.glCombinerOutputNV((int)stage, (int)portion, (int)abOutput, (int)cdOutput, (int)sumOutput, (int)scale, (int)bias, (Int32)abDotProduct, (Int32)cdDotProduct, (Int32)muxSum);
-        }
-
-        public static 
-        void glFinalCombinerInputNV(int variable, int input, int mapping, int componentUsage)
-        {
-            Delegates.glFinalCombinerInputNV((int)variable, (int)input, (int)mapping, (int)componentUsage);
-        }
-
-        public static 
-        void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetCombinerInputParameterfvNV((int)stage, (int)portion, (int)variable, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetCombinerInputParameterfvNV((int)stage, (int)portion, (int)variable, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerInputParameterfvNV(int stage, int portion, int variable, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetCombinerInputParameterfvNV((int)stage, (int)portion, (int)variable, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetCombinerInputParameterivNV((int)stage, (int)portion, (int)variable, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetCombinerInputParameterivNV((int)stage, (int)portion, (int)variable, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerInputParameterivNV(int stage, int portion, int variable, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetCombinerInputParameterivNV((int)stage, (int)portion, (int)variable, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetCombinerOutputParameterfvNV((int)stage, (int)portion, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetCombinerOutputParameterfvNV((int)stage, (int)portion, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerOutputParameterfvNV(int stage, int portion, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetCombinerOutputParameterfvNV((int)stage, (int)portion, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetCombinerOutputParameterivNV((int)stage, (int)portion, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetCombinerOutputParameterivNV((int)stage, (int)portion, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerOutputParameterivNV(int stage, int portion, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetCombinerOutputParameterivNV((int)stage, (int)portion, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFinalCombinerInputParameterfvNV((int)variable, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetFinalCombinerInputParameterfvNV((int)variable, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFinalCombinerInputParameterfvNV(int variable, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetFinalCombinerInputParameterfvNV((int)variable, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFinalCombinerInputParameterivNV((int)variable, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFinalCombinerInputParameterivNV((int)variable, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFinalCombinerInputParameterivNV(int variable, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFinalCombinerInputParameterivNV((int)variable, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFencesNV(Int32 n, IntPtr fences)
-        {
-            unsafe
-            {
-                Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFencesNV(Int32 n, UInt32[] fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = fences)
-                {
-                    Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFencesNV(Int32 n, Int32[] fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = fences)
-                {
-                    Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFencesNV(Int32 n, ref UInt32 fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = &fences)
-                {
-                    Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFencesNV(Int32 n, ref Int32 fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = &fences)
-                {
-                    Delegates.glDeleteFencesNV((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenFencesNV(Int32 n, [Out] IntPtr fences)
-        {
-            unsafe
-            {
-                Delegates.glGenFencesNV((Int32)n, (UInt32*)fences);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenFencesNV(Int32 n, [Out] UInt32[] fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = fences)
-                {
-                    Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenFencesNV(Int32 n, [Out] Int32[] fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = fences)
-                {
-                    Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenFencesNV(Int32 n, [Out] out UInt32 fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = &fences)
-                {
-                    Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    fences = *fences_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenFencesNV(Int32 n, [Out] out Int32 fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = &fences)
-                {
-                    Delegates.glGenFencesNV((Int32)n, (UInt32*)fences_ptr);
-                    fences = *fences_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsFenceNV(UInt32 fence)
-        {
-            return Delegates.glIsFenceNV((UInt32)fence);
-        }
-
-        public static 
-        Int32 glIsFenceNV(Int32 fence)
-        {
-            return Delegates.glIsFenceNV((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glTestFenceNV(UInt32 fence)
-        {
-            return Delegates.glTestFenceNV((UInt32)fence);
-        }
-
-        public static 
-        Int32 glTestFenceNV(Int32 fence)
-        {
-            return Delegates.glTestFenceNV((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetFenceivNV(UInt32 fence, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetFenceivNV(Int32 fence, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetFenceivNV(UInt32 fence, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetFenceivNV(Int32 fence, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetFenceivNV(UInt32 fence, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetFenceivNV(Int32 fence, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetFenceivNV((UInt32)fence, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFinishFenceNV(UInt32 fence)
-        {
-            Delegates.glFinishFenceNV((UInt32)fence);
-        }
-
-        public static 
-        void glFinishFenceNV(Int32 fence)
-        {
-            Delegates.glFinishFenceNV((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetFenceNV(UInt32 fence, int condition)
-        {
-            Delegates.glSetFenceNV((UInt32)fence, (int)condition);
-        }
-
-        public static 
-        void glSetFenceNV(Int32 fence, int condition)
-        {
-            Delegates.glSetFenceNV((UInt32)fence, (int)condition);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points);
-            }
-        }
-
-        public static 
-        void glMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, [In, Out] object points)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, Int32 packed, [In, Out] object points)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)uorder, (Int32)vorder, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glMapParameterivNV(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glMapParameterivNV((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glMapParameterivNV(int target, int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMapParameterivNV(int target, int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMapParameterfvNV(int target, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glMapParameterfvNV((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glMapParameterfvNV(int target, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMapParameterfvNV(int target, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [Out] IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points);
-            }
-        }
-
-        public static 
-        void glGetMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [Out] IntPtr points)
-        {
-            unsafe
-            {
-                Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapControlPointsNV(int target, UInt32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [In, Out] object points)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetMapControlPointsNV(int target, Int32 index, int type, Int32 ustride, Int32 vstride, Int32 packed, [In, Out] object points)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle points_ptr = System.Runtime.InteropServices.GCHandle.Alloc(points, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetMapControlPointsNV((int)target, (UInt32)index, (int)type, (Int32)ustride, (Int32)vstride, (Int32)packed, (IntPtr)points_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    points_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetMapParameterivNV(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMapParameterivNV((int)target, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetMapParameterivNV(int target, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapParameterivNV(int target, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMapParameterivNV((int)target, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMapParameterfvNV(int target, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMapParameterfvNV((int)target, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetMapParameterfvNV(int target, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapParameterfvNV(int target, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMapParameterfvNV((int)target, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetMapAttribParameterivNV(int target, Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapAttribParameterivNV(int target, Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapAttribParameterivNV(int target, UInt32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMapAttribParameterivNV(int target, Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetMapAttribParameterivNV((int)target, (UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetMapAttribParameterfvNV(int target, Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetMapAttribParameterfvNV(int target, Int32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetMapAttribParameterfvNV(int target, UInt32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetMapAttribParameterfvNV(int target, Int32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetMapAttribParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glEvalMapsNV(int target, int mode)
-        {
-            Delegates.glEvalMapsNV((int)target, (int)mode);
-        }
-
-        public static 
-        void glCombinerStageParameterfvNV(int stage, int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glCombinerStageParameterfvNV(int stage, int pname, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glCombinerStageParameterfvNV(int stage, int pname, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetCombinerStageParameterfvNV(int stage, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetCombinerStageParameterfvNV((int)stage, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, IntPtr programs, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (Int32*)residences);
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, IntPtr programs, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, IntPtr programs, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, Int32[] programs, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, Int32[] programs, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, UInt32[] programs, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, Int32[] programs, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, ref UInt32 programs, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, ref Int32 programs, [Out] IntPtr residences)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, ref UInt32 programs, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, ref Int32 programs, [Out] Int32[] residences)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                fixed (Int32* residences_ptr = residences)
-                {
-                    return Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, ref UInt32 programs, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        public static 
-        Int32 glAreProgramsResidentNV(Int32 n, ref Int32 programs, [Out] out Int32 residences)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                fixed (Int32* residences_ptr = &residences)
-                {
-                    Int32 retval = Delegates.glAreProgramsResidentNV((Int32)n, (UInt32*)programs_ptr, (Int32*)residences_ptr);
-                    residences = *residences_ptr;
-                    return retval;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindProgramNV(int target, UInt32 id)
-        {
-            Delegates.glBindProgramNV((int)target, (UInt32)id);
-        }
-
-        public static 
-        void glBindProgramNV(int target, Int32 id)
-        {
-            Delegates.glBindProgramNV((int)target, (UInt32)id);
-        }
-
-        public static 
-        void glDeleteProgramsNV(Int32 n, IntPtr programs)
-        {
-            unsafe
-            {
-                Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteProgramsNV(Int32 n, UInt32[] programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                {
-                    Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteProgramsNV(Int32 n, Int32[] programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                {
-                    Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteProgramsNV(Int32 n, ref UInt32 programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                {
-                    Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteProgramsNV(Int32 n, ref Int32 programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                {
-                    Delegates.glDeleteProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glExecuteProgramNV(int target, UInt32 id, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glExecuteProgramNV(int target, Int32 id, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glExecuteProgramNV(int target, UInt32 id, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glExecuteProgramNV(int target, Int32 id, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glExecuteProgramNV(int target, UInt32 id, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glExecuteProgramNV(int target, Int32 id, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glExecuteProgramNV((int)target, (UInt32)id, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenProgramsNV(Int32 n, [Out] IntPtr programs)
-        {
-            unsafe
-            {
-                Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenProgramsNV(Int32 n, [Out] UInt32[] programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                {
-                    Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenProgramsNV(Int32 n, [Out] Int32[] programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                {
-                    Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenProgramsNV(Int32 n, [Out] out UInt32 programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                {
-                    Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    programs = *programs_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenProgramsNV(Int32 n, [Out] out Int32 programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                {
-                    Delegates.glGenProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                    programs = *programs_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramParameterdvNV(int target, Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramParameterdvNV(int target, Int32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramParameterdvNV(int target, UInt32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramParameterdvNV(int target, Int32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramParameterdvNV((int)target, (UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramParameterfvNV(int target, Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramParameterfvNV(int target, Int32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramParameterfvNV(int target, UInt32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramParameterfvNV(int target, Int32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramParameterfvNV((int)target, (UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramivNV(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramivNV(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramivNV(UInt32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramivNV(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramivNV(UInt32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramivNV(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramStringNV(UInt32 id, int pname, [Out] IntPtr program)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program);
-            }
-        }
-
-        public static 
-        void glGetProgramStringNV(Int32 id, int pname, [Out] IntPtr program)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramStringNV(UInt32 id, int pname, [Out] Byte[] program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = program)
-                {
-                    Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramStringNV(Int32 id, int pname, [Out] Byte[] program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = program)
-                {
-                    Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramStringNV(UInt32 id, int pname, [Out] out Byte program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = &program)
-                {
-                    Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr);
-                    program = *program_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramStringNV(Int32 id, int pname, [Out] out Byte program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = &program)
-                {
-                    Delegates.glGetProgramStringNV((UInt32)id, (int)pname, (Byte*)program_ptr);
-                    program = *program_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetTrackMatrixivNV(int target, Int32 address, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTrackMatrixivNV(int target, Int32 address, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTrackMatrixivNV(int target, UInt32 address, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTrackMatrixivNV(int target, Int32 address, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetTrackMatrixivNV((int)target, (UInt32)address, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdvNV(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdvNV(Int32 index, int pname, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribdvNV(UInt32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribdvNV(Int32 index, int pname, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribdvNV((UInt32)index, (int)pname, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfvNV(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfvNV(Int32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribfvNV(UInt32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribfvNV(Int32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribfvNV((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribivNV(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribivNV(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribivNV(UInt32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribivNV(Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribivNV(UInt32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribivNV(Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribivNV((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribPointervNV(UInt32 index, int pname, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribPointervNV(Int32 index, int pname, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribPointervNV(UInt32 index, int pname, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribPointervNV(Int32 index, int pname, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glGetVertexAttribPointervNV((UInt32)index, (int)pname, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsProgramNV(UInt32 id)
-        {
-            return Delegates.glIsProgramNV((UInt32)id);
-        }
-
-        public static 
-        Int32 glIsProgramNV(Int32 id)
-        {
-            return Delegates.glIsProgramNV((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLoadProgramNV(int target, UInt32 id, Int32 len, IntPtr program)
-        {
-            unsafe
-            {
-                Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program);
-            }
-        }
-
-        public static 
-        void glLoadProgramNV(int target, Int32 id, Int32 len, IntPtr program)
-        {
-            unsafe
-            {
-                Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLoadProgramNV(int target, UInt32 id, Int32 len, Byte[] program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = program)
-                {
-                    Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadProgramNV(int target, Int32 id, Int32 len, Byte[] program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = program)
-                {
-                    Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glLoadProgramNV(int target, UInt32 id, Int32 len, ref Byte program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = &program)
-                {
-                    Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glLoadProgramNV(int target, Int32 id, Int32 len, ref Byte program)
-        {
-            unsafe
-            {
-                fixed (Byte* program_ptr = &program)
-                {
-                    Delegates.glLoadProgramNV((int)target, (UInt32)id, (Int32)len, (Byte*)program_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4dNV(int target, UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glProgramParameter4dNV((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glProgramParameter4dNV(int target, Int32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glProgramParameter4dNV((int)target, (UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4dvNV(int target, UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glProgramParameter4dvNV(int target, Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4dvNV(int target, UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameter4dvNV(int target, Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4dvNV(int target, UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameter4dvNV(int target, Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramParameter4dvNV((int)target, (UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4fNV(int target, UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glProgramParameter4fNV((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glProgramParameter4fNV(int target, Int32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glProgramParameter4fNV((int)target, (UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4fvNV(int target, UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glProgramParameter4fvNV(int target, Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4fvNV(int target, UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameter4fvNV(int target, Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameter4fvNV(int target, UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameter4fvNV(int target, Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramParameter4fvNV((int)target, (UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameters4dvNV(int target, UInt32 index, UInt32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v);
-            }
-        }
-
-        public static 
-        void glProgramParameters4dvNV(int target, Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameters4dvNV(int target, UInt32 index, UInt32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameters4dvNV(int target, Int32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameters4dvNV(int target, UInt32 index, UInt32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameters4dvNV(int target, Int32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramParameters4dvNV((int)target, (UInt32)index, (UInt32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameters4fvNV(int target, UInt32 index, UInt32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v);
-            }
-        }
-
-        public static 
-        void glProgramParameters4fvNV(int target, Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameters4fvNV(int target, UInt32 index, UInt32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameters4fvNV(int target, Int32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramParameters4fvNV(int target, UInt32 index, UInt32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramParameters4fvNV(int target, Int32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramParameters4fvNV((int)target, (UInt32)index, (UInt32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRequestResidentProgramsNV(Int32 n, IntPtr programs)
-        {
-            unsafe
-            {
-                Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glRequestResidentProgramsNV(Int32 n, UInt32[] programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = programs)
-                {
-                    Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRequestResidentProgramsNV(Int32 n, Int32[] programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = programs)
-                {
-                    Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glRequestResidentProgramsNV(Int32 n, ref UInt32 programs)
-        {
-            unsafe
-            {
-                fixed (UInt32* programs_ptr = &programs)
-                {
-                    Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glRequestResidentProgramsNV(Int32 n, ref Int32 programs)
-        {
-            unsafe
-            {
-                fixed (Int32* programs_ptr = &programs)
-                {
-                    Delegates.glRequestResidentProgramsNV((Int32)n, (UInt32*)programs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTrackMatrixNV(int target, UInt32 address, int matrix, int transform)
-        {
-            Delegates.glTrackMatrixNV((int)target, (UInt32)address, (int)matrix, (int)transform);
-        }
-
-        public static 
-        void glTrackMatrixNV(int target, Int32 address, int matrix, int transform)
-        {
-            Delegates.glTrackMatrixNV((int)target, (UInt32)address, (int)matrix, (int)transform);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribPointerNV(UInt32 index, Int32 fsize, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexAttribPointerNV(Int32 index, Int32 fsize, int type, Int32 stride, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribPointerNV(UInt32 index, Int32 fsize, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribPointerNV(Int32 index, Int32 fsize, int type, Int32 stride, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexAttribPointerNV((UInt32)index, (Int32)fsize, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dNV(UInt32 index, Double x)
-        {
-            Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x);
-        }
-
-        public static 
-        void glVertexAttrib1dNV(Int32 index, Double x)
-        {
-            Delegates.glVertexAttrib1dNV((UInt32)index, (Double)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dvNV(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dvNV(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1dvNV(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1dvNV(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fNV(UInt32 index, Single x)
-        {
-            Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x);
-        }
-
-        public static 
-        void glVertexAttrib1fNV(Int32 index, Single x)
-        {
-            Delegates.glVertexAttrib1fNV((UInt32)index, (Single)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fvNV(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fvNV(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1fvNV(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1fvNV(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1sNV(UInt32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x);
-        }
-
-        public static 
-        void glVertexAttrib1sNV(Int32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1sNV((UInt32)index, (Int16)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1svNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1svNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1svNV(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1svNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1svNV(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1svNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dNV(UInt32 index, Double x, Double y)
-        {
-            Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y);
-        }
-
-        public static 
-        void glVertexAttrib2dNV(Int32 index, Double x, Double y)
-        {
-            Delegates.glVertexAttrib2dNV((UInt32)index, (Double)x, (Double)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dvNV(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dvNV(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2dvNV(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2dvNV(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fNV(UInt32 index, Single x, Single y)
-        {
-            Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y);
-        }
-
-        public static 
-        void glVertexAttrib2fNV(Int32 index, Single x, Single y)
-        {
-            Delegates.glVertexAttrib2fNV((UInt32)index, (Single)x, (Single)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fvNV(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fvNV(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2fvNV(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2fvNV(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2sNV(UInt32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glVertexAttrib2sNV(Int32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2sNV((UInt32)index, (Int16)x, (Int16)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2svNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2svNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2svNV(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2svNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2svNV(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2svNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dNV(UInt32 index, Double x, Double y, Double z)
-        {
-            Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glVertexAttrib3dNV(Int32 index, Double x, Double y, Double z)
-        {
-            Delegates.glVertexAttrib3dNV((UInt32)index, (Double)x, (Double)y, (Double)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dvNV(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dvNV(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3dvNV(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3dvNV(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fNV(UInt32 index, Single x, Single y, Single z)
-        {
-            Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glVertexAttrib3fNV(Int32 index, Single x, Single y, Single z)
-        {
-            Delegates.glVertexAttrib3fNV((UInt32)index, (Single)x, (Single)y, (Single)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fvNV(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fvNV(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3fvNV(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3fvNV(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glVertexAttrib3sNV(Int32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3svNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3svNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3svNV(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3svNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3svNV(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3svNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dNV(UInt32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glVertexAttrib4dNV(Int32 index, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexAttrib4dNV((UInt32)index, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dvNV(UInt32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dvNV(Int32 index, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4dvNV(UInt32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4dvNV(Int32 index, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4dvNV((UInt32)index, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fNV(UInt32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glVertexAttrib4fNV(Int32 index, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexAttrib4fNV((UInt32)index, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fvNV(UInt32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fvNV(Int32 index, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4fvNV(UInt32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4fvNV(Int32 index, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4fvNV((UInt32)index, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glVertexAttrib4sNV(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4sNV((UInt32)index, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4svNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4svNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4svNV(UInt32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4svNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4svNV(UInt32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4svNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4svNV((UInt32)index, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubNV(UInt32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-        }
-
-        public static 
-        void glVertexAttrib4ubNV(Int32 index, Byte x, Byte y, Byte z, Byte w)
-        {
-            Delegates.glVertexAttrib4ubNV((UInt32)index, (Byte)x, (Byte)y, (Byte)z, (Byte)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubvNV(UInt32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubvNV(Int32 index, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4ubvNV(UInt32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4ubvNV(Int32 index, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4ubvNV((UInt32)index, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1dvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs1dvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1dvNV(UInt32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1dvNV(Int32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1dvNV(UInt32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1dvNV(Int32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1fvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs1fvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1fvNV(UInt32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1fvNV(Int32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1fvNV(UInt32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1fvNV(Int32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1svNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs1svNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1svNV(UInt32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1svNV(Int32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1svNV(UInt32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1svNV(Int32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2dvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs2dvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2dvNV(UInt32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2dvNV(Int32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2dvNV(UInt32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2dvNV(Int32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2fvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs2fvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2fvNV(UInt32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2fvNV(Int32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2fvNV(UInt32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2fvNV(Int32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2svNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs2svNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2svNV(UInt32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2svNV(Int32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2svNV(UInt32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2svNV(Int32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3dvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs3dvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3dvNV(UInt32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3dvNV(Int32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3dvNV(UInt32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3dvNV(Int32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3fvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs3fvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3fvNV(UInt32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3fvNV(Int32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3fvNV(UInt32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3fvNV(Int32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3svNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs3svNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3svNV(UInt32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3svNV(Int32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3svNV(UInt32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3svNV(Int32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4dvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs4dvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4dvNV(UInt32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4dvNV(Int32 index, Int32 count, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4dvNV(UInt32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4dvNV(Int32 index, Int32 count, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4dvNV((UInt32)index, (Int32)count, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4fvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs4fvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4fvNV(UInt32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4fvNV(Int32 index, Int32 count, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4fvNV(UInt32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4fvNV(Int32 index, Int32 count, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4fvNV((UInt32)index, (Int32)count, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4svNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs4svNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4svNV(UInt32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4svNV(Int32 index, Int32 count, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4svNV(UInt32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4svNV(Int32 index, Int32 count, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4svNV((UInt32)index, (Int32)count, (Int16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4ubvNV(UInt32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs4ubvNV(Int32 index, Int32 count, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4ubvNV(UInt32 index, Int32 count, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4ubvNV(Int32 index, Int32 count, Byte[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4ubvNV(UInt32 index, Int32 count, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4ubvNV(Int32 index, Int32 count, ref Byte v)
-        {
-            unsafe
-            {
-                fixed (Byte* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4ubvNV((UInt32)index, (Int32)count, (Byte*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenOcclusionQueriesNV(Int32 n, [Out] IntPtr ids)
-        {
-            unsafe
-            {
-                Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenOcclusionQueriesNV(Int32 n, [Out] UInt32[] ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenOcclusionQueriesNV(Int32 n, [Out] Int32[] ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenOcclusionQueriesNV(Int32 n, [Out] out UInt32 ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenOcclusionQueriesNV(Int32 n, [Out] out Int32 ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glGenOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                    ids = *ids_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glDeleteOcclusionQueriesNV(Int32 n, IntPtr ids)
-        {
-            unsafe
-            {
-                Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteOcclusionQueriesNV(Int32 n, UInt32[] ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteOcclusionQueriesNV(Int32 n, Int32[] ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = ids)
-                {
-                    Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteOcclusionQueriesNV(Int32 n, ref UInt32 ids)
-        {
-            unsafe
-            {
-                fixed (UInt32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteOcclusionQueriesNV(Int32 n, ref Int32 ids)
-        {
-            unsafe
-            {
-                fixed (Int32* ids_ptr = &ids)
-                {
-                    Delegates.glDeleteOcclusionQueriesNV((Int32)n, (UInt32*)ids_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsOcclusionQueryNV(UInt32 id)
-        {
-            return Delegates.glIsOcclusionQueryNV((UInt32)id);
-        }
-
-        public static 
-        Int32 glIsOcclusionQueryNV(Int32 id)
-        {
-            return Delegates.glIsOcclusionQueryNV((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBeginOcclusionQueryNV(UInt32 id)
-        {
-            Delegates.glBeginOcclusionQueryNV((UInt32)id);
-        }
-
-        public static 
-        void glBeginOcclusionQueryNV(Int32 id)
-        {
-            Delegates.glBeginOcclusionQueryNV((UInt32)id);
-        }
-
-        public static 
-        void glEndOcclusionQueryNV()
-        {
-            Delegates.glEndOcclusionQueryNV();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetOcclusionQueryivNV(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetOcclusionQueryivNV(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetOcclusionQueryivNV(UInt32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetOcclusionQueryivNV(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetOcclusionQueryivNV((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetOcclusionQueryuivNV(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetOcclusionQueryuivNV(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetOcclusionQueryuivNV(UInt32 id, int pname, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetOcclusionQueryuivNV(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetOcclusionQueryuivNV((UInt32)id, (int)pname, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glPointParameteriNV(int pname, Int32 param)
-        {
-            Delegates.glPointParameteriNV((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPointParameterivNV(int pname, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glPointParameterivNV((int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glPointParameterivNV(int pname, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glPointParameterivNV((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPointParameterivNV(int pname, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glPointParameterivNV((int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fNV(UInt32 id, Int32 len, IntPtr name, Single x, Single y, Single z, Single w)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w);
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fNV(Int32 id, Int32 len, IntPtr name, Single x, Single y, Single z, Single w)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name, (Single)x, (Single)y, (Single)z, (Single)w);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fNV(UInt32 id, Int32 len, Byte[] name, Single x, Single y, Single z, Single w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fNV(Int32 id, Int32 len, Byte[] name, Single x, Single y, Single z, Single w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fNV(UInt32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fNV(Int32 id, Int32 len, ref Byte name, Single x, Single y, Single z, Single w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4fNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single)x, (Single)y, (Single)z, (Single)w);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dNV(UInt32 id, Int32 len, IntPtr name, Double x, Double y, Double z, Double w)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w);
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dNV(Int32 id, Int32 len, IntPtr name, Double x, Double y, Double z, Double w)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name, (Double)x, (Double)y, (Double)z, (Double)w);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dNV(UInt32 id, Int32 len, Byte[] name, Double x, Double y, Double z, Double w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dNV(Int32 id, Int32 len, Byte[] name, Double x, Double y, Double z, Double w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dNV(UInt32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dNV(Int32 id, Int32 len, ref Byte name, Double x, Double y, Double z, Double w)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4dNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double)x, (Double)y, (Double)z, (Double)w);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v);
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, IntPtr name, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, IntPtr name, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, IntPtr name, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte[] name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, Byte[] name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte[] name, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, Byte[] name, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, Byte[] name, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, Byte[] name, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, ref Byte name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, ref Byte name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, ref Byte name, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, ref Byte name, Single[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, ref Byte name, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4fvNV(Int32 id, Int32 len, ref Byte name, ref Single v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4fvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v);
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, IntPtr name, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, IntPtr name, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, IntPtr name, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte[] name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, Byte[] name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte[] name, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, Byte[] name, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, Byte[] name, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, Byte[] name, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, ref Byte name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, ref Byte name, IntPtr v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, ref Byte name, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, ref Byte name, Double[] v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, ref Byte name, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramNamedParameter4dvNV(Int32 id, Int32 len, ref Byte name, ref Double v)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glProgramNamedParameter4dvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, IntPtr name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, IntPtr name, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, IntPtr name, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte[] name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, Byte[] name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte[] name, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, Byte[] name, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, Byte[] name, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, Byte[] name, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, ref Byte name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, ref Byte name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, ref Byte name, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, ref Byte name, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, ref Byte name, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterfvNV(Int32 id, Int32 len, ref Byte name, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterfvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, IntPtr name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, IntPtr name, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, IntPtr name, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte[] name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, Byte[] name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte[] name, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, Byte[] name, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, Byte[] name, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, Byte[] name, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = name)
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, ref Byte name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, ref Byte name, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, ref Byte name, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, ref Byte name, [Out] Double[] @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, ref Byte name, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramNamedParameterdvNV(Int32 id, Int32 len, ref Byte name, [Out] out Double @params)
-        {
-            unsafe
-            {
-                fixed (Byte* name_ptr = &name)
-                fixed (Double* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramNamedParameterdvNV((UInt32)id, (Int32)len, (Byte*)name_ptr, (Double*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex2hNV(UInt16 x, UInt16 y)
-        {
-            Delegates.glVertex2hNV((UInt16)x, (UInt16)y);
-        }
-
-        public static 
-        void glVertex2hNV(Int16 x, Int16 y)
-        {
-            Delegates.glVertex2hNV((UInt16)x, (UInt16)y);
-        }
-
-        public static 
-        void glVertex2hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex2hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex2hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertex2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex2hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertex2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex2hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex3hNV(UInt16 x, UInt16 y, UInt16 z)
-        {
-            Delegates.glVertex3hNV((UInt16)x, (UInt16)y, (UInt16)z);
-        }
-
-        public static 
-        void glVertex3hNV(Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertex3hNV((UInt16)x, (UInt16)y, (UInt16)z);
-        }
-
-        public static 
-        void glVertex3hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex3hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex3hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertex3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex3hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertex3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex3hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex4hNV(UInt16 x, UInt16 y, UInt16 z, UInt16 w)
-        {
-            Delegates.glVertex4hNV((UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w);
-        }
-
-        public static 
-        void glVertex4hNV(Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertex4hNV((UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w);
-        }
-
-        public static 
-        void glVertex4hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertex4hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex4hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertex4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertex4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertex4hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertex4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertex4hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertex4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormal3hNV(UInt16 nx, UInt16 ny, UInt16 nz)
-        {
-            Delegates.glNormal3hNV((UInt16)nx, (UInt16)ny, (UInt16)nz);
-        }
-
-        public static 
-        void glNormal3hNV(Int16 nx, Int16 ny, Int16 nz)
-        {
-            Delegates.glNormal3hNV((UInt16)nx, (UInt16)ny, (UInt16)nz);
-        }
-
-        public static 
-        void glNormal3hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glNormal3hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormal3hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glNormal3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glNormal3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormal3hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glNormal3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormal3hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glNormal3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3hNV(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            Delegates.glColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glColor3hNV(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glColor3hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor3hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor3hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor3hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4hNV(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha)
-        {
-            Delegates.glColor4hNV((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha);
-        }
-
-        public static 
-        void glColor4hNV(Int16 red, Int16 green, Int16 blue, Int16 alpha)
-        {
-            Delegates.glColor4hNV((UInt16)red, (UInt16)green, (UInt16)blue, (UInt16)alpha);
-        }
-
-        public static 
-        void glColor4hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glColor4hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glColor4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glColor4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColor4hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glColor4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glColor4hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glColor4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord1hNV(UInt16 s)
-        {
-            Delegates.glTexCoord1hNV((UInt16)s);
-        }
-
-        public static 
-        void glTexCoord1hNV(Int16 s)
-        {
-            Delegates.glTexCoord1hNV((UInt16)s);
-        }
-
-        public static 
-        void glTexCoord1hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord1hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord1hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glTexCoord1hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord1hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord1hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord1hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord1hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord1hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord2hNV(UInt16 s, UInt16 t)
-        {
-            Delegates.glTexCoord2hNV((UInt16)s, (UInt16)t);
-        }
-
-        public static 
-        void glTexCoord2hNV(Int16 s, Int16 t)
-        {
-            Delegates.glTexCoord2hNV((UInt16)s, (UInt16)t);
-        }
-
-        public static 
-        void glTexCoord2hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord2hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord2hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glTexCoord2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord2hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord2hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord2hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord3hNV(UInt16 s, UInt16 t, UInt16 r)
-        {
-            Delegates.glTexCoord3hNV((UInt16)s, (UInt16)t, (UInt16)r);
-        }
-
-        public static 
-        void glTexCoord3hNV(Int16 s, Int16 t, Int16 r)
-        {
-            Delegates.glTexCoord3hNV((UInt16)s, (UInt16)t, (UInt16)r);
-        }
-
-        public static 
-        void glTexCoord3hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord3hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord3hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glTexCoord3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord3hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord3hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord4hNV(UInt16 s, UInt16 t, UInt16 r, UInt16 q)
-        {
-            Delegates.glTexCoord4hNV((UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q);
-        }
-
-        public static 
-        void glTexCoord4hNV(Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            Delegates.glTexCoord4hNV((UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q);
-        }
-
-        public static 
-        void glTexCoord4hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glTexCoord4hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord4hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glTexCoord4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glTexCoord4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTexCoord4hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexCoord4hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glTexCoord4hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord1hNV(int target, UInt16 s)
-        {
-            Delegates.glMultiTexCoord1hNV((int)target, (UInt16)s);
-        }
-
-        public static 
-        void glMultiTexCoord1hNV(int target, Int16 s)
-        {
-            Delegates.glMultiTexCoord1hNV((int)target, (UInt16)s);
-        }
-
-        public static 
-        void glMultiTexCoord1hvNV(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord1hvNV(int target, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1hvNV(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord1hvNV(int target, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord1hvNV(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord1hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord2hNV(int target, UInt16 s, UInt16 t)
-        {
-            Delegates.glMultiTexCoord2hNV((int)target, (UInt16)s, (UInt16)t);
-        }
-
-        public static 
-        void glMultiTexCoord2hNV(int target, Int16 s, Int16 t)
-        {
-            Delegates.glMultiTexCoord2hNV((int)target, (UInt16)s, (UInt16)t);
-        }
-
-        public static 
-        void glMultiTexCoord2hvNV(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord2hvNV(int target, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2hvNV(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord2hvNV(int target, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord2hvNV(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord2hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord3hNV(int target, UInt16 s, UInt16 t, UInt16 r)
-        {
-            Delegates.glMultiTexCoord3hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r);
-        }
-
-        public static 
-        void glMultiTexCoord3hNV(int target, Int16 s, Int16 t, Int16 r)
-        {
-            Delegates.glMultiTexCoord3hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r);
-        }
-
-        public static 
-        void glMultiTexCoord3hvNV(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord3hvNV(int target, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3hvNV(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord3hvNV(int target, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord3hvNV(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord3hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord4hNV(int target, UInt16 s, UInt16 t, UInt16 r, UInt16 q)
-        {
-            Delegates.glMultiTexCoord4hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q);
-        }
-
-        public static 
-        void glMultiTexCoord4hNV(int target, Int16 s, Int16 t, Int16 r, Int16 q)
-        {
-            Delegates.glMultiTexCoord4hNV((int)target, (UInt16)s, (UInt16)t, (UInt16)r, (UInt16)q);
-        }
-
-        public static 
-        void glMultiTexCoord4hvNV(int target, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord4hvNV(int target, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4hvNV(int target, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiTexCoord4hvNV(int target, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiTexCoord4hvNV(int target, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glMultiTexCoord4hvNV((int)target, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFogCoordhNV(UInt16 fog)
-        {
-            Delegates.glFogCoordhNV((UInt16)fog);
-        }
-
-        public static 
-        void glFogCoordhNV(Int16 fog)
-        {
-            Delegates.glFogCoordhNV((UInt16)fog);
-        }
-
-        public static 
-        void glFogCoordhvNV(IntPtr fog)
-        {
-            unsafe
-            {
-                Delegates.glFogCoordhvNV((UInt16*)fog);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFogCoordhvNV(UInt16[] fog)
-        {
-            unsafe
-            {
-                fixed (UInt16* fog_ptr = fog)
-                {
-                    Delegates.glFogCoordhvNV((UInt16*)fog_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordhvNV(Int16[] fog)
-        {
-            unsafe
-            {
-                fixed (Int16* fog_ptr = fog)
-                {
-                    Delegates.glFogCoordhvNV((UInt16*)fog_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFogCoordhvNV(ref UInt16 fog)
-        {
-            unsafe
-            {
-                fixed (UInt16* fog_ptr = &fog)
-                {
-                    Delegates.glFogCoordhvNV((UInt16*)fog_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordhvNV(ref Int16 fog)
-        {
-            unsafe
-            {
-                fixed (Int16* fog_ptr = &fog)
-                {
-                    Delegates.glFogCoordhvNV((UInt16*)fog_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3hNV(UInt16 red, UInt16 green, UInt16 blue)
-        {
-            Delegates.glSecondaryColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3hNV(Int16 red, Int16 green, Int16 blue)
-        {
-            Delegates.glSecondaryColor3hNV((UInt16)red, (UInt16)green, (UInt16)blue);
-        }
-
-        public static 
-        void glSecondaryColor3hvNV(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColor3hvNV((UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3hvNV(UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3hvNV(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSecondaryColor3hvNV(ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColor3hvNV(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glSecondaryColor3hvNV((UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexWeighthNV(UInt16 weight)
-        {
-            Delegates.glVertexWeighthNV((UInt16)weight);
-        }
-
-        public static 
-        void glVertexWeighthNV(Int16 weight)
-        {
-            Delegates.glVertexWeighthNV((UInt16)weight);
-        }
-
-        public static 
-        void glVertexWeighthvNV(IntPtr weight)
-        {
-            unsafe
-            {
-                Delegates.glVertexWeighthvNV((UInt16*)weight);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexWeighthvNV(UInt16[] weight)
-        {
-            unsafe
-            {
-                fixed (UInt16* weight_ptr = weight)
-                {
-                    Delegates.glVertexWeighthvNV((UInt16*)weight_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexWeighthvNV(Int16[] weight)
-        {
-            unsafe
-            {
-                fixed (Int16* weight_ptr = weight)
-                {
-                    Delegates.glVertexWeighthvNV((UInt16*)weight_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexWeighthvNV(ref UInt16 weight)
-        {
-            unsafe
-            {
-                fixed (UInt16* weight_ptr = &weight)
-                {
-                    Delegates.glVertexWeighthvNV((UInt16*)weight_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexWeighthvNV(ref Int16 weight)
-        {
-            unsafe
-            {
-                fixed (Int16* weight_ptr = &weight)
-                {
-                    Delegates.glVertexWeighthvNV((UInt16*)weight_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1hNV(UInt32 index, UInt16 x)
-        {
-            Delegates.glVertexAttrib1hNV((UInt32)index, (UInt16)x);
-        }
-
-        public static 
-        void glVertexAttrib1hNV(Int32 index, Int16 x)
-        {
-            Delegates.glVertexAttrib1hNV((UInt32)index, (UInt16)x);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1hvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib1hvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1hvNV(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1hvNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib1hvNV(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib1hvNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib1hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2hNV(UInt32 index, UInt16 x, UInt16 y)
-        {
-            Delegates.glVertexAttrib2hNV((UInt32)index, (UInt16)x, (UInt16)y);
-        }
-
-        public static 
-        void glVertexAttrib2hNV(Int32 index, Int16 x, Int16 y)
-        {
-            Delegates.glVertexAttrib2hNV((UInt32)index, (UInt16)x, (UInt16)y);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2hvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib2hvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2hvNV(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2hvNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib2hvNV(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib2hvNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib2hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z)
-        {
-            Delegates.glVertexAttrib3hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z);
-        }
-
-        public static 
-        void glVertexAttrib3hNV(Int32 index, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexAttrib3hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3hvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib3hvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3hvNV(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3hvNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib3hvNV(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib3hvNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib3hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4hNV(UInt32 index, UInt16 x, UInt16 y, UInt16 z, UInt16 w)
-        {
-            Delegates.glVertexAttrib4hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w);
-        }
-
-        public static 
-        void glVertexAttrib4hNV(Int32 index, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexAttrib4hNV((UInt32)index, (UInt16)x, (UInt16)y, (UInt16)z, (UInt16)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4hvNV(UInt32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttrib4hvNV(Int32 index, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4hvNV(UInt32 index, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4hvNV(Int32 index, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttrib4hvNV(UInt32 index, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttrib4hvNV(Int32 index, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttrib4hvNV((UInt32)index, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1hvNV(UInt32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs1hvNV(Int32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1hvNV(UInt32 index, Int32 n, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1hvNV(Int32 index, Int32 n, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs1hvNV(UInt32 index, Int32 n, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs1hvNV(Int32 index, Int32 n, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs1hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2hvNV(UInt32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs2hvNV(Int32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2hvNV(UInt32 index, Int32 n, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2hvNV(Int32 index, Int32 n, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs2hvNV(UInt32 index, Int32 n, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs2hvNV(Int32 index, Int32 n, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs2hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3hvNV(UInt32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs3hvNV(Int32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3hvNV(UInt32 index, Int32 n, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3hvNV(Int32 index, Int32 n, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs3hvNV(UInt32 index, Int32 n, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs3hvNV(Int32 index, Int32 n, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs3hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4hvNV(UInt32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        public static 
-        void glVertexAttribs4hvNV(Int32 index, Int32 n, IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4hvNV(UInt32 index, Int32 n, UInt16[] v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4hvNV(Int32 index, Int32 n, Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribs4hvNV(UInt32 index, Int32 n, ref UInt16 v)
-        {
-            unsafe
-            {
-                fixed (UInt16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexAttribs4hvNV(Int32 index, Int32 n, ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glVertexAttribs4hvNV((UInt32)index, (Int32)n, (UInt16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPixelDataRangeNV(int target, Int32 length, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glPixelDataRangeNV((int)target, (Int32)length, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glPixelDataRangeNV(int target, Int32 length, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glPixelDataRangeNV((int)target, (Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glFlushPixelDataRangeNV(int target)
-        {
-            Delegates.glFlushPixelDataRangeNV((int)target);
-        }
-
-        public static 
-        void glPrimitiveRestartNV()
-        {
-            Delegates.glPrimitiveRestartNV();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPrimitiveRestartIndexNV(UInt32 index)
-        {
-            Delegates.glPrimitiveRestartIndexNV((UInt32)index);
-        }
-
-        public static 
-        void glPrimitiveRestartIndexNV(Int32 index)
-        {
-            Delegates.glPrimitiveRestartIndexNV((UInt32)index);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glProgramLocalParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glProgramLocalParameterI4iNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glProgramLocalParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4ivNV(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParameterI4ivNV(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4ivNV(int target, UInt32 index, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameterI4ivNV(int target, Int32 index, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4ivNV(int target, UInt32 index, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameterI4ivNV(int target, Int32 index, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParametersI4ivNV(int target, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParametersI4ivNV(int target, Int32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParametersI4ivNV(int target, UInt32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParametersI4ivNV(int target, Int32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-        {
-            Delegates.glProgramLocalParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-        }
-
-        public static 
-        void glProgramLocalParameterI4uiNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glProgramLocalParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4uivNV(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParameterI4uivNV(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4uivNV(int target, UInt32 index, UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameterI4uivNV(int target, Int32 index, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParameterI4uivNV(int target, UInt32 index, ref UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParameterI4uivNV(int target, Int32 index, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramLocalParametersI4uivNV(int target, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParametersI4uivNV(int target, Int32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramLocalParametersI4uivNV(int target, UInt32 index, Int32 count, ref UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramLocalParametersI4uivNV(int target, Int32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramLocalParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4iNV(int target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glProgramEnvParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glProgramEnvParameterI4iNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glProgramEnvParameterI4iNV((int)target, (UInt32)index, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4ivNV(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParameterI4ivNV(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4ivNV(int target, UInt32 index, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameterI4ivNV(int target, Int32 index, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4ivNV(int target, UInt32 index, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameterI4ivNV(int target, Int32 index, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameterI4ivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParametersI4ivNV(int target, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParametersI4ivNV(int target, Int32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParametersI4ivNV(int target, UInt32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParametersI4ivNV(int target, Int32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParametersI4ivNV((int)target, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4uiNV(int target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w)
-        {
-            Delegates.glProgramEnvParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-        }
-
-        public static 
-        void glProgramEnvParameterI4uiNV(int target, Int32 index, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glProgramEnvParameterI4uiNV((int)target, (UInt32)index, (UInt32)x, (UInt32)y, (UInt32)z, (UInt32)w);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4uivNV(int target, UInt32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParameterI4uivNV(int target, Int32 index, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4uivNV(int target, UInt32 index, UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameterI4uivNV(int target, Int32 index, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParameterI4uivNV(int target, UInt32 index, ref UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParameterI4uivNV(int target, Int32 index, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParameterI4uivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramEnvParametersI4uivNV(int target, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParametersI4uivNV(int target, Int32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramEnvParametersI4uivNV(int target, UInt32 index, Int32 count, ref UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramEnvParametersI4uivNV(int target, Int32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramEnvParametersI4uivNV((int)target, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterIivNV(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterIivNV(int target, Int32 index, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterIivNV(int target, UInt32 index, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterIivNV(int target, Int32 index, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterIuivNV(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterIuivNV(int target, Int32 index, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramLocalParameterIuivNV(int target, UInt32 index, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramLocalParameterIuivNV(int target, Int32 index, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramLocalParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterIivNV(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterIivNV(int target, Int32 index, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterIivNV(int target, UInt32 index, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterIivNV(int target, Int32 index, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterIivNV((int)target, (UInt32)index, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterIuivNV(int target, Int32 index, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterIuivNV(int target, Int32 index, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetProgramEnvParameterIuivNV(int target, UInt32 index, [Out] out UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetProgramEnvParameterIuivNV(int target, Int32 index, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetProgramEnvParameterIuivNV((int)target, (UInt32)index, (UInt32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glProgramVertexLimitNV(int target, Int32 limit)
-        {
-            Delegates.glProgramVertexLimitNV((int)target, (Int32)limit);
-        }
-
-        public static 
-        void glDepthRangedNV(Double zNear, Double zFar)
-        {
-            Delegates.glDepthRangedNV((Double)zNear, (Double)zFar);
-        }
-
-        public static 
-        void glClearDepthdNV(Double depth)
-        {
-            Delegates.glClearDepthdNV((Double)depth);
-        }
-
-        public static 
-        void glDepthBoundsdNV(Double zmin, Double zmax)
-        {
-            Delegates.glDepthBoundsdNV((Double)zmin, (Double)zmax);
-        }
-
-        public static 
-        void glRenderbufferStorageMultisampleCoverageNV(int target, Int32 coverageSamples, Int32 colorSamples, int internalformat, Int32 width, Int32 height)
-        {
-            Delegates.glRenderbufferStorageMultisampleCoverageNV((int)target, (Int32)coverageSamples, (Int32)colorSamples, (int)internalformat, (Int32)width, (Int32)height);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersfvNV(int target, Int32 buffer, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersfvNV(int target, Int32 buffer, Int32 index, Int32 count, Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersfvNV(int target, UInt32 buffer, UInt32 index, Int32 count, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersfvNV(int target, Int32 buffer, Int32 index, Int32 count, ref Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glProgramBufferParametersfvNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersIivNV(int target, Int32 buffer, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersIivNV(int target, Int32 buffer, Int32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersIivNV(int target, UInt32 buffer, UInt32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersIivNV(int target, Int32 buffer, Int32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramBufferParametersIivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params);
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersIuivNV(int target, Int32 buffer, Int32 index, Int32 count, IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, UInt32[] @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = @params)
-                {
-                    Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersIuivNV(int target, Int32 buffer, Int32 index, Int32 count, Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glProgramBufferParametersIuivNV(int target, UInt32 buffer, UInt32 index, Int32 count, ref UInt32 @params)
-        {
-            unsafe
-            {
-                fixed (UInt32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glProgramBufferParametersIuivNV(int target, Int32 buffer, Int32 index, Int32 count, ref Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glProgramBufferParametersIuivNV((int)target, (UInt32)buffer, (UInt32)index, (Int32)count, (UInt32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glBeginTransformFeedbackNV(int primitiveMode)
-        {
-            Delegates.glBeginTransformFeedbackNV((int)primitiveMode);
-        }
-
-        public static 
-        void glEndTransformFeedbackNV()
-        {
-            Delegates.glEndTransformFeedbackNV();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTransformFeedbackAttribsNV(UInt32 count, IntPtr attribs, int bufferMode)
-        {
-            unsafe
-            {
-                Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (int)bufferMode);
-            }
-        }
-
-        public static 
-        void glTransformFeedbackAttribsNV(Int32 count, IntPtr attribs, int bufferMode)
-        {
-            unsafe
-            {
-                Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs, (int)bufferMode);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTransformFeedbackAttribsNV(UInt32 count, Int32[] attribs, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* attribs_ptr = attribs)
-                {
-                    Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        public static 
-        void glTransformFeedbackAttribsNV(Int32 count, Int32[] attribs, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* attribs_ptr = attribs)
-                {
-                    Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTransformFeedbackAttribsNV(UInt32 count, ref Int32 attribs, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* attribs_ptr = &attribs)
-                {
-                    Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        public static 
-        void glTransformFeedbackAttribsNV(Int32 count, ref Int32 attribs, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* attribs_ptr = &attribs)
-                {
-                    Delegates.glTransformFeedbackAttribsNV((UInt32)count, (Int32*)attribs_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindBufferRangeNV(int target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size)
-        {
-            Delegates.glBindBufferRangeNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-        }
-
-        public static 
-        void glBindBufferRangeNV(int target, Int32 index, Int32 buffer, IntPtr offset, IntPtr size)
-        {
-            Delegates.glBindBufferRangeNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset, (IntPtr)size);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindBufferOffsetNV(int target, UInt32 index, UInt32 buffer, IntPtr offset)
-        {
-            Delegates.glBindBufferOffsetNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset);
-        }
-
-        public static 
-        void glBindBufferOffsetNV(int target, Int32 index, Int32 buffer, IntPtr offset)
-        {
-            Delegates.glBindBufferOffsetNV((int)target, (UInt32)index, (UInt32)buffer, (IntPtr)offset);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindBufferBaseNV(int target, UInt32 index, UInt32 buffer)
-        {
-            Delegates.glBindBufferBaseNV((int)target, (UInt32)index, (UInt32)buffer);
-        }
-
-        public static 
-        void glBindBufferBaseNV(int target, Int32 index, Int32 buffer)
-        {
-            Delegates.glBindBufferBaseNV((int)target, (UInt32)index, (UInt32)buffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, IntPtr locations, int bufferMode)
-        {
-            unsafe
-            {
-                Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations, (int)bufferMode);
-            }
-        }
-
-        public static 
-        void glTransformFeedbackVaryingsNV(Int32 program, Int32 count, IntPtr locations, int bufferMode)
-        {
-            unsafe
-            {
-                Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations, (int)bufferMode);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, Int32[] locations, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* locations_ptr = locations)
-                {
-                    Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        public static 
-        void glTransformFeedbackVaryingsNV(Int32 program, Int32 count, Int32[] locations, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* locations_ptr = locations)
-                {
-                    Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, ref Int32 locations, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* locations_ptr = &locations)
-                {
-                    Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        public static 
-        void glTransformFeedbackVaryingsNV(Int32 program, Int32 count, ref Int32 locations, int bufferMode)
-        {
-            unsafe
-            {
-                fixed (Int32* locations_ptr = &locations)
-                {
-                    Delegates.glTransformFeedbackVaryingsNV((UInt32)program, (Int32)count, (Int32*)locations_ptr, (int)bufferMode);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glActiveVaryingNV(UInt32 program, System.String name)
-        {
-            Delegates.glActiveVaryingNV((UInt32)program, (System.String)name);
-        }
-
-        public static 
-        void glActiveVaryingNV(Int32 program, System.String name)
-        {
-            Delegates.glActiveVaryingNV((UInt32)program, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGetVaryingLocationNV(UInt32 program, System.String name)
-        {
-            return Delegates.glGetVaryingLocationNV((UInt32)program, (System.String)name);
-        }
-
-        public static 
-        Int32 glGetVaryingLocationNV(Int32 program, System.String name)
-        {
-            return Delegates.glGetVaryingLocationNV((UInt32)program, (System.String)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] IntPtr length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] Int32[] length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] IntPtr size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] Int32[] size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] IntPtr type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] int[] type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetActiveVaryingNV(Int32 program, Int32 index, Int32 bufSize, [Out] out Int32 length, [Out] out Int32 size, [Out] out int type, [Out] System.Text.StringBuilder name)
-        {
-            unsafe
-            {
-                fixed (Int32* length_ptr = &length)
-                fixed (Int32* size_ptr = &size)
-                fixed (int* type_ptr = &type)
-                {
-                    Delegates.glGetActiveVaryingNV((UInt32)program, (UInt32)index, (Int32)bufSize, (Int32*)length_ptr, (Int32*)size_ptr, (int*)type_ptr, (System.Text.StringBuilder)name);
-                    length = *length_ptr;
-                    size = *size_ptr;
-                    type = *type_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] IntPtr location)
-        {
-            unsafe
-            {
-                Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location);
-            }
-        }
-
-        public static 
-        void glGetTransformFeedbackVaryingNV(Int32 program, Int32 index, [Out] IntPtr location)
-        {
-            unsafe
-            {
-                Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] Int32[] location)
-        {
-            unsafe
-            {
-                fixed (Int32* location_ptr = location)
-                {
-                    Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTransformFeedbackVaryingNV(Int32 program, Int32 index, [Out] Int32[] location)
-        {
-            unsafe
-            {
-                fixed (Int32* location_ptr = location)
-                {
-                    Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [Out] out Int32 location)
-        {
-            unsafe
-            {
-                fixed (Int32* location_ptr = &location)
-                {
-                    Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr);
-                    location = *location_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTransformFeedbackVaryingNV(Int32 program, Int32 index, [Out] out Int32 location)
-        {
-            unsafe
-            {
-                fixed (Int32* location_ptr = &location)
-                {
-                    Delegates.glGetTransformFeedbackVaryingNV((UInt32)program, (UInt32)index, (Int32*)location_ptr);
-                    location = *location_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glResizeBuffersMESA()
-        {
-            Delegates.glResizeBuffersMESA();
-        }
-
-        public static 
-        void glWindowPos2dMESA(Double x, Double y)
-        {
-            Delegates.glWindowPos2dMESA((Double)x, (Double)y);
-        }
-
-        public static 
-        void glWindowPos2dvMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2dvMESA((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2dvMESA(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos2dvMESA((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2dvMESA(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2dvMESA((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2fMESA(Single x, Single y)
-        {
-            Delegates.glWindowPos2fMESA((Single)x, (Single)y);
-        }
-
-        public static 
-        void glWindowPos2fvMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2fvMESA((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2fvMESA(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos2fvMESA((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2fvMESA(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2fvMESA((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2iMESA(Int32 x, Int32 y)
-        {
-            Delegates.glWindowPos2iMESA((Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glWindowPos2ivMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2ivMESA((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2ivMESA(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos2ivMESA((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2ivMESA(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2ivMESA((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2sMESA(Int16 x, Int16 y)
-        {
-            Delegates.glWindowPos2sMESA((Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glWindowPos2svMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos2svMESA((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos2svMESA(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos2svMESA((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos2svMESA(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos2svMESA((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3dMESA(Double x, Double y, Double z)
-        {
-            Delegates.glWindowPos3dMESA((Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glWindowPos3dvMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3dvMESA((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3dvMESA(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos3dvMESA((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3dvMESA(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3dvMESA((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3fMESA(Single x, Single y, Single z)
-        {
-            Delegates.glWindowPos3fMESA((Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glWindowPos3fvMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3fvMESA((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3fvMESA(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos3fvMESA((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3fvMESA(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3fvMESA((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3iMESA(Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glWindowPos3iMESA((Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glWindowPos3ivMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3ivMESA((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3ivMESA(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos3ivMESA((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3ivMESA(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3ivMESA((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3sMESA(Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glWindowPos3sMESA((Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glWindowPos3svMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos3svMESA((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos3svMESA(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos3svMESA((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos3svMESA(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos3svMESA((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4dMESA(Double x, Double y, Double z, Double w)
-        {
-            Delegates.glWindowPos4dMESA((Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glWindowPos4dvMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos4dvMESA((Double*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos4dvMESA(Double[] v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = v)
-                {
-                    Delegates.glWindowPos4dvMESA((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4dvMESA(ref Double v)
-        {
-            unsafe
-            {
-                fixed (Double* v_ptr = &v)
-                {
-                    Delegates.glWindowPos4dvMESA((Double*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4fMESA(Single x, Single y, Single z, Single w)
-        {
-            Delegates.glWindowPos4fMESA((Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glWindowPos4fvMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos4fvMESA((Single*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos4fvMESA(Single[] v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = v)
-                {
-                    Delegates.glWindowPos4fvMESA((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4fvMESA(ref Single v)
-        {
-            unsafe
-            {
-                fixed (Single* v_ptr = &v)
-                {
-                    Delegates.glWindowPos4fvMESA((Single*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glWindowPos4iMESA((Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glWindowPos4ivMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos4ivMESA((Int32*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos4ivMESA(Int32[] v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = v)
-                {
-                    Delegates.glWindowPos4ivMESA((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4ivMESA(ref Int32 v)
-        {
-            unsafe
-            {
-                fixed (Int32* v_ptr = &v)
-                {
-                    Delegates.glWindowPos4ivMESA((Int32*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glWindowPos4sMESA((Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glWindowPos4svMESA(IntPtr v)
-        {
-            unsafe
-            {
-                Delegates.glWindowPos4svMESA((Int16*)v);
-            }
-        }
-
-        public static 
-        void glWindowPos4svMESA(Int16[] v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = v)
-                {
-                    Delegates.glWindowPos4svMESA((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glWindowPos4svMESA(ref Int16 v)
-        {
-            unsafe
-            {
-                fixed (Int16* v_ptr = &v)
-                {
-                    Delegates.glWindowPos4svMESA((Int16*)v_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride);
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, Int32[] first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, Int32[] first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, ref Int32 first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, ref Int32 first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(IntPtr mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, IntPtr first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, IntPtr first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, Int32[] first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, Int32[] first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, ref Int32 first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, ref Int32 first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(int[] mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, IntPtr first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, IntPtr first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, Int32[] first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, Int32[] first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, Int32[] first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, ref Int32 first, IntPtr count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, ref Int32 first, Int32[] count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawArraysIBM(ref int mode, ref Int32 first, ref Int32 count, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawArraysIBM((int*)mode_ptr, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(IntPtr mode, IntPtr count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(IntPtr mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                }
-                finally
-                {
-                    indices_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(IntPtr mode, Int32[] count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(IntPtr mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(IntPtr mode, ref Int32 count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(IntPtr mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(int[] mode, IntPtr count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(int[] mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(int[] mode, Int32[] count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(int[] mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* count_ptr = count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(int[] mode, ref Int32 count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(int[] mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = mode)
-                fixed (Int32* count_ptr = &count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(ref int mode, IntPtr count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(ref int mode, IntPtr count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(ref int mode, Int32[] count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(ref int mode, Int32[] count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* count_ptr = count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(ref int mode, ref Int32 count, int type, IntPtr indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices, (Int32)primcount, (Int32)modestride);
-                }
-            }
-        }
-
-        public static 
-        void glMultiModeDrawElementsIBM(ref int mode, ref Int32 count, int type, [In, Out] object indices, Int32 primcount, Int32 modestride)
-        {
-            unsafe
-            {
-                fixed (int* mode_ptr = &mode)
-                fixed (Int32* count_ptr = &count)
-                {
-                    System.Runtime.InteropServices.GCHandle indices_ptr = System.Runtime.InteropServices.GCHandle.Alloc(indices, System.Runtime.InteropServices.GCHandleType.Pinned);
-                    try
-                    {
-                        Delegates.glMultiModeDrawElementsIBM((int*)mode_ptr, (Int32*)count_ptr, (int)type, (IntPtr)indices_ptr.AddrOfPinnedObject(), (Int32)primcount, (Int32)modestride);
-                    }
-                    finally
-                    {
-                        indices_ptr.Free();
-                    }
-                }
-            }
-        }
-
-        public static 
-        void glColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glColorPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glSecondaryColorPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glSecondaryColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glSecondaryColorPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glSecondaryColorPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointerListIBM(Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glEdgeFlagPointerListIBM((Int32)stride, (Int32*)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointerListIBM(Int32 stride, Int32[] pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                fixed (Int32* pointer_ptr = pointer)
-                {
-                    Delegates.glEdgeFlagPointerListIBM((Int32)stride, (Int32*)pointer_ptr, (Int32)ptrstride);
-                }
-            }
-        }
-
-        public static 
-        void glEdgeFlagPointerListIBM(Int32 stride, ref Int32 pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                fixed (Int32* pointer_ptr = &pointer)
-                {
-                    Delegates.glEdgeFlagPointerListIBM((Int32)stride, (Int32*)pointer_ptr, (Int32)ptrstride);
-                }
-            }
-        }
-
-        public static 
-        void glFogCoordPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glFogCoordPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glFogCoordPointerListIBM(int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFogCoordPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glIndexPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glIndexPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glIndexPointerListIBM(int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glIndexPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glNormalPointerListIBM(int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glNormalPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glNormalPointerListIBM(int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glNormalPointerListIBM((int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glTexCoordPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glTexCoordPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glTexCoordPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glTexCoordPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexPointerListIBM(Int32 size, int type, Int32 stride, IntPtr pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                Delegates.glVertexPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer, (Int32)ptrstride);
-            }
-        }
-
-        public static 
-        void glVertexPointerListIBM(Int32 size, int type, Int32 stride, [In, Out] object pointer, Int32 ptrstride)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexPointerListIBM((Int32)size, (int)type, (Int32)stride, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (Int32)ptrstride);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glTbufferMask3DFX(UInt32 mask)
-        {
-            Delegates.glTbufferMask3DFX((UInt32)mask);
-        }
-
-        public static 
-        void glTbufferMask3DFX(Int32 mask)
-        {
-            Delegates.glTbufferMask3DFX((UInt32)mask);
-        }
-
-        public static 
-        void glTexBumpParameterivATI(int pname, IntPtr param)
-        {
-            unsafe
-            {
-                Delegates.glTexBumpParameterivATI((int)pname, (Int32*)param);
-            }
-        }
-
-        public static 
-        void glTexBumpParameterivATI(int pname, Int32[] param)
-        {
-            unsafe
-            {
-                fixed (Int32* param_ptr = param)
-                {
-                    Delegates.glTexBumpParameterivATI((int)pname, (Int32*)param_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexBumpParameterivATI(int pname, ref Int32 param)
-        {
-            unsafe
-            {
-                fixed (Int32* param_ptr = &param)
-                {
-                    Delegates.glTexBumpParameterivATI((int)pname, (Int32*)param_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexBumpParameterfvATI(int pname, IntPtr param)
-        {
-            unsafe
-            {
-                Delegates.glTexBumpParameterfvATI((int)pname, (Single*)param);
-            }
-        }
-
-        public static 
-        void glTexBumpParameterfvATI(int pname, Single[] param)
-        {
-            unsafe
-            {
-                fixed (Single* param_ptr = param)
-                {
-                    Delegates.glTexBumpParameterfvATI((int)pname, (Single*)param_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glTexBumpParameterfvATI(int pname, ref Single param)
-        {
-            unsafe
-            {
-                fixed (Single* param_ptr = &param)
-                {
-                    Delegates.glTexBumpParameterfvATI((int)pname, (Single*)param_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexBumpParameterivATI(int pname, [Out] IntPtr param)
-        {
-            unsafe
-            {
-                Delegates.glGetTexBumpParameterivATI((int)pname, (Int32*)param);
-            }
-        }
-
-        public static 
-        void glGetTexBumpParameterivATI(int pname, [Out] Int32[] param)
-        {
-            unsafe
-            {
-                fixed (Int32* param_ptr = param)
-                {
-                    Delegates.glGetTexBumpParameterivATI((int)pname, (Int32*)param_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexBumpParameterivATI(int pname, [Out] out Int32 param)
-        {
-            unsafe
-            {
-                fixed (Int32* param_ptr = &param)
-                {
-                    Delegates.glGetTexBumpParameterivATI((int)pname, (Int32*)param_ptr);
-                    param = *param_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetTexBumpParameterfvATI(int pname, [Out] IntPtr param)
-        {
-            unsafe
-            {
-                Delegates.glGetTexBumpParameterfvATI((int)pname, (Single*)param);
-            }
-        }
-
-        public static 
-        void glGetTexBumpParameterfvATI(int pname, [Out] Single[] param)
-        {
-            unsafe
-            {
-                fixed (Single* param_ptr = param)
-                {
-                    Delegates.glGetTexBumpParameterfvATI((int)pname, (Single*)param_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetTexBumpParameterfvATI(int pname, [Out] out Single param)
-        {
-            unsafe
-            {
-                fixed (Single* param_ptr = &param)
-                {
-                    Delegates.glGetTexBumpParameterfvATI((int)pname, (Single*)param_ptr);
-                    param = *param_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glGenFragmentShadersATI(UInt32 range)
-        {
-            return Delegates.glGenFragmentShadersATI((UInt32)range);
-        }
-
-        public static 
-        Int32 glGenFragmentShadersATI(Int32 range)
-        {
-            return Delegates.glGenFragmentShadersATI((UInt32)range);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindFragmentShaderATI(UInt32 id)
-        {
-            Delegates.glBindFragmentShaderATI((UInt32)id);
-        }
-
-        public static 
-        void glBindFragmentShaderATI(Int32 id)
-        {
-            Delegates.glBindFragmentShaderATI((UInt32)id);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFragmentShaderATI(UInt32 id)
-        {
-            Delegates.glDeleteFragmentShaderATI((UInt32)id);
-        }
-
-        public static 
-        void glDeleteFragmentShaderATI(Int32 id)
-        {
-            Delegates.glDeleteFragmentShaderATI((UInt32)id);
-        }
-
-        public static 
-        void glBeginFragmentShaderATI()
-        {
-            Delegates.glBeginFragmentShaderATI();
-        }
-
-        public static 
-        void glEndFragmentShaderATI()
-        {
-            Delegates.glEndFragmentShaderATI();
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glPassTexCoordATI(UInt32 dst, UInt32 coord, int swizzle)
-        {
-            Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (int)swizzle);
-        }
-
-        public static 
-        void glPassTexCoordATI(Int32 dst, Int32 coord, int swizzle)
-        {
-            Delegates.glPassTexCoordATI((UInt32)dst, (UInt32)coord, (int)swizzle);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSampleMapATI(UInt32 dst, UInt32 interp, int swizzle)
-        {
-            Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (int)swizzle);
-        }
-
-        public static 
-        void glSampleMapATI(Int32 dst, Int32 interp, int swizzle)
-        {
-            Delegates.glSampleMapATI((UInt32)dst, (UInt32)interp, (int)swizzle);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColorFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod)
-        {
-            Delegates.glColorFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-        }
-
-        public static 
-        void glColorFragmentOp1ATI(int op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod)
-        {
-            Delegates.glColorFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColorFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod)
-        {
-            Delegates.glColorFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-        }
-
-        public static 
-        void glColorFragmentOp2ATI(int op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod)
-        {
-            Delegates.glColorFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glColorFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod)
-        {
-            Delegates.glColorFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-        }
-
-        public static 
-        void glColorFragmentOp3ATI(int op, Int32 dst, Int32 dstMask, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod)
-        {
-            Delegates.glColorFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMask, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glAlphaFragmentOp1ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod)
-        {
-            Delegates.glAlphaFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-        }
-
-        public static 
-        void glAlphaFragmentOp1ATI(int op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod)
-        {
-            Delegates.glAlphaFragmentOp1ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glAlphaFragmentOp2ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod)
-        {
-            Delegates.glAlphaFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-        }
-
-        public static 
-        void glAlphaFragmentOp2ATI(int op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod)
-        {
-            Delegates.glAlphaFragmentOp2ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glAlphaFragmentOp3ATI(int op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod)
-        {
-            Delegates.glAlphaFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-        }
-
-        public static 
-        void glAlphaFragmentOp3ATI(int op, Int32 dst, Int32 dstMod, Int32 arg1, Int32 arg1Rep, Int32 arg1Mod, Int32 arg2, Int32 arg2Rep, Int32 arg2Mod, Int32 arg3, Int32 arg3Rep, Int32 arg3Mod)
-        {
-            Delegates.glAlphaFragmentOp3ATI((int)op, (UInt32)dst, (UInt32)dstMod, (UInt32)arg1, (UInt32)arg1Rep, (UInt32)arg1Mod, (UInt32)arg2, (UInt32)arg2Rep, (UInt32)arg2Mod, (UInt32)arg3, (UInt32)arg3Rep, (UInt32)arg3Mod);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetFragmentShaderConstantATI(UInt32 dst, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value);
-            }
-        }
-
-        public static 
-        void glSetFragmentShaderConstantATI(Int32 dst, IntPtr value)
-        {
-            unsafe
-            {
-                Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetFragmentShaderConstantATI(UInt32 dst, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSetFragmentShaderConstantATI(Int32 dst, Single[] value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = value)
-                {
-                    Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetFragmentShaderConstantATI(UInt32 dst, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glSetFragmentShaderConstantATI(Int32 dst, ref Single value)
-        {
-            unsafe
-            {
-                fixed (Single* value_ptr = &value)
-                {
-                    Delegates.glSetFragmentShaderConstantATI((UInt32)dst, (Single*)value_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glPNTrianglesiATI(int pname, Int32 param)
-        {
-            Delegates.glPNTrianglesiATI((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glPNTrianglesfATI(int pname, Single param)
-        {
-            Delegates.glPNTrianglesfATI((int)pname, (Single)param);
-        }
-
-        public static 
-        Int32 glNewObjectBufferATI(Int32 size, IntPtr pointer, int usage)
-        {
-            unsafe
-            {
-                return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer, (int)usage);
-            }
-        }
-
-        public static 
-        Int32 glNewObjectBufferATI(Int32 size, [In, Out] object pointer, int usage)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    return Delegates.glNewObjectBufferATI((Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (int)usage);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsObjectBufferATI(UInt32 buffer)
-        {
-            return Delegates.glIsObjectBufferATI((UInt32)buffer);
-        }
-
-        public static 
-        Int32 glIsObjectBufferATI(Int32 buffer)
-        {
-            return Delegates.glIsObjectBufferATI((UInt32)buffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, int preserve)
-        {
-            unsafe
-            {
-                Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (int)preserve);
-            }
-        }
-
-        public static 
-        void glUpdateObjectBufferATI(Int32 buffer, Int32 offset, Int32 size, IntPtr pointer, int preserve)
-        {
-            unsafe
-            {
-                Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer, (int)preserve);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, [In, Out] object pointer, int preserve)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (int)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glUpdateObjectBufferATI(Int32 buffer, Int32 offset, Int32 size, [In, Out] object pointer, int preserve)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glUpdateObjectBufferATI((UInt32)buffer, (UInt32)offset, (Int32)size, (IntPtr)pointer_ptr.AddrOfPinnedObject(), (int)preserve);
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectBufferfvATI(UInt32 buffer, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetObjectBufferfvATI(Int32 buffer, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectBufferfvATI(UInt32 buffer, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectBufferfvATI(Int32 buffer, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectBufferfvATI(UInt32 buffer, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectBufferfvATI(Int32 buffer, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectBufferfvATI((UInt32)buffer, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectBufferivATI(UInt32 buffer, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetObjectBufferivATI(Int32 buffer, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectBufferivATI(UInt32 buffer, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectBufferivATI(Int32 buffer, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetObjectBufferivATI(UInt32 buffer, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetObjectBufferivATI(Int32 buffer, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetObjectBufferivATI((UInt32)buffer, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFreeObjectBufferATI(UInt32 buffer)
-        {
-            Delegates.glFreeObjectBufferATI((UInt32)buffer);
-        }
-
-        public static 
-        void glFreeObjectBufferATI(Int32 buffer)
-        {
-            Delegates.glFreeObjectBufferATI((UInt32)buffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glArrayObjectATI(int array, Int32 size, int type, Int32 stride, UInt32 buffer, UInt32 offset)
-        {
-            Delegates.glArrayObjectATI((int)array, (Int32)size, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-        }
-
-        public static 
-        void glArrayObjectATI(int array, Int32 size, int type, Int32 stride, Int32 buffer, Int32 offset)
-        {
-            Delegates.glArrayObjectATI((int)array, (Int32)size, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-        }
-
-        public static 
-        void glGetArrayObjectfvATI(int array, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetArrayObjectfvATI((int)array, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetArrayObjectfvATI(int array, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetArrayObjectfvATI((int)array, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetArrayObjectfvATI(int array, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetArrayObjectfvATI((int)array, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetArrayObjectivATI(int array, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetArrayObjectivATI((int)array, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetArrayObjectivATI(int array, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetArrayObjectivATI((int)array, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetArrayObjectivATI(int array, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetArrayObjectivATI((int)array, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVariantArrayObjectATI(UInt32 id, int type, Int32 stride, UInt32 buffer, UInt32 offset)
-        {
-            Delegates.glVariantArrayObjectATI((UInt32)id, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-        }
-
-        public static 
-        void glVariantArrayObjectATI(Int32 id, int type, Int32 stride, Int32 buffer, Int32 offset)
-        {
-            Delegates.glVariantArrayObjectATI((UInt32)id, (int)type, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetVariantArrayObjectfvATI(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantArrayObjectfvATI(Int32 id, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantArrayObjectfvATI(UInt32 id, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantArrayObjectfvATI(Int32 id, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVariantArrayObjectfvATI((UInt32)id, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantArrayObjectivATI(UInt32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVariantArrayObjectivATI(Int32 id, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantArrayObjectivATI(UInt32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantArrayObjectivATI(Int32 id, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVariantArrayObjectivATI(UInt32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVariantArrayObjectivATI(Int32 id, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVariantArrayObjectivATI((UInt32)id, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1sATI(int stream, Int16 x)
-        {
-            Delegates.glVertexStream1sATI((int)stream, (Int16)x);
-        }
-
-        public static 
-        void glVertexStream1svATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream1svATI((int)stream, (Int16*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream1svATI(int stream, Int16[] coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream1svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1svATI(int stream, ref Int16 coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream1svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1iATI(int stream, Int32 x)
-        {
-            Delegates.glVertexStream1iATI((int)stream, (Int32)x);
-        }
-
-        public static 
-        void glVertexStream1ivATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream1ivATI((int)stream, (Int32*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream1ivATI(int stream, Int32[] coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream1ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1ivATI(int stream, ref Int32 coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream1ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1fATI(int stream, Single x)
-        {
-            Delegates.glVertexStream1fATI((int)stream, (Single)x);
-        }
-
-        public static 
-        void glVertexStream1fvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream1fvATI((int)stream, (Single*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream1fvATI(int stream, Single[] coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream1fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1fvATI(int stream, ref Single coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream1fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1dATI(int stream, Double x)
-        {
-            Delegates.glVertexStream1dATI((int)stream, (Double)x);
-        }
-
-        public static 
-        void glVertexStream1dvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream1dvATI((int)stream, (Double*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream1dvATI(int stream, Double[] coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream1dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream1dvATI(int stream, ref Double coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream1dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2sATI(int stream, Int16 x, Int16 y)
-        {
-            Delegates.glVertexStream2sATI((int)stream, (Int16)x, (Int16)y);
-        }
-
-        public static 
-        void glVertexStream2svATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream2svATI((int)stream, (Int16*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream2svATI(int stream, Int16[] coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream2svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2svATI(int stream, ref Int16 coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream2svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2iATI(int stream, Int32 x, Int32 y)
-        {
-            Delegates.glVertexStream2iATI((int)stream, (Int32)x, (Int32)y);
-        }
-
-        public static 
-        void glVertexStream2ivATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream2ivATI((int)stream, (Int32*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream2ivATI(int stream, Int32[] coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream2ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2ivATI(int stream, ref Int32 coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream2ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2fATI(int stream, Single x, Single y)
-        {
-            Delegates.glVertexStream2fATI((int)stream, (Single)x, (Single)y);
-        }
-
-        public static 
-        void glVertexStream2fvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream2fvATI((int)stream, (Single*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream2fvATI(int stream, Single[] coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream2fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2fvATI(int stream, ref Single coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream2fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2dATI(int stream, Double x, Double y)
-        {
-            Delegates.glVertexStream2dATI((int)stream, (Double)x, (Double)y);
-        }
-
-        public static 
-        void glVertexStream2dvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream2dvATI((int)stream, (Double*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream2dvATI(int stream, Double[] coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream2dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream2dvATI(int stream, ref Double coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream2dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3sATI(int stream, Int16 x, Int16 y, Int16 z)
-        {
-            Delegates.glVertexStream3sATI((int)stream, (Int16)x, (Int16)y, (Int16)z);
-        }
-
-        public static 
-        void glVertexStream3svATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream3svATI((int)stream, (Int16*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream3svATI(int stream, Int16[] coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream3svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3svATI(int stream, ref Int16 coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream3svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3iATI(int stream, Int32 x, Int32 y, Int32 z)
-        {
-            Delegates.glVertexStream3iATI((int)stream, (Int32)x, (Int32)y, (Int32)z);
-        }
-
-        public static 
-        void glVertexStream3ivATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream3ivATI((int)stream, (Int32*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream3ivATI(int stream, Int32[] coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream3ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3ivATI(int stream, ref Int32 coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream3ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3fATI(int stream, Single x, Single y, Single z)
-        {
-            Delegates.glVertexStream3fATI((int)stream, (Single)x, (Single)y, (Single)z);
-        }
-
-        public static 
-        void glVertexStream3fvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream3fvATI((int)stream, (Single*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream3fvATI(int stream, Single[] coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream3fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3fvATI(int stream, ref Single coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream3fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3dATI(int stream, Double x, Double y, Double z)
-        {
-            Delegates.glVertexStream3dATI((int)stream, (Double)x, (Double)y, (Double)z);
-        }
-
-        public static 
-        void glVertexStream3dvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream3dvATI((int)stream, (Double*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream3dvATI(int stream, Double[] coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream3dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream3dvATI(int stream, ref Double coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream3dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4sATI(int stream, Int16 x, Int16 y, Int16 z, Int16 w)
-        {
-            Delegates.glVertexStream4sATI((int)stream, (Int16)x, (Int16)y, (Int16)z, (Int16)w);
-        }
-
-        public static 
-        void glVertexStream4svATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream4svATI((int)stream, (Int16*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream4svATI(int stream, Int16[] coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream4svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4svATI(int stream, ref Int16 coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream4svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4iATI(int stream, Int32 x, Int32 y, Int32 z, Int32 w)
-        {
-            Delegates.glVertexStream4iATI((int)stream, (Int32)x, (Int32)y, (Int32)z, (Int32)w);
-        }
-
-        public static 
-        void glVertexStream4ivATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream4ivATI((int)stream, (Int32*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream4ivATI(int stream, Int32[] coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream4ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4ivATI(int stream, ref Int32 coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream4ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4fATI(int stream, Single x, Single y, Single z, Single w)
-        {
-            Delegates.glVertexStream4fATI((int)stream, (Single)x, (Single)y, (Single)z, (Single)w);
-        }
-
-        public static 
-        void glVertexStream4fvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream4fvATI((int)stream, (Single*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream4fvATI(int stream, Single[] coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream4fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4fvATI(int stream, ref Single coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream4fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4dATI(int stream, Double x, Double y, Double z, Double w)
-        {
-            Delegates.glVertexStream4dATI((int)stream, (Double)x, (Double)y, (Double)z, (Double)w);
-        }
-
-        public static 
-        void glVertexStream4dvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glVertexStream4dvATI((int)stream, (Double*)coords);
-            }
-        }
-
-        public static 
-        void glVertexStream4dvATI(int stream, Double[] coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = coords)
-                {
-                    Delegates.glVertexStream4dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glVertexStream4dvATI(int stream, ref Double coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = &coords)
-                {
-                    Delegates.glVertexStream4dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormalStream3bATI(int stream, SByte nx, SByte ny, SByte nz)
-        {
-            Delegates.glNormalStream3bATI((int)stream, (SByte)nx, (SByte)ny, (SByte)nz);
-        }
-
-        public static 
-        void glNormalStream3bATI(int stream, Byte nx, Byte ny, Byte nz)
-        {
-            Delegates.glNormalStream3bATI((int)stream, (SByte)nx, (SByte)ny, (SByte)nz);
-        }
-
-        public static 
-        void glNormalStream3bvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormalStream3bvATI(int stream, SByte[] coords)
-        {
-            unsafe
-            {
-                fixed (SByte* coords_ptr = coords)
-                {
-                    Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3bvATI(int stream, Byte[] coords)
-        {
-            unsafe
-            {
-                fixed (Byte* coords_ptr = coords)
-                {
-                    Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glNormalStream3bvATI(int stream, ref SByte coords)
-        {
-            unsafe
-            {
-                fixed (SByte* coords_ptr = &coords)
-                {
-                    Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3bvATI(int stream, ref Byte coords)
-        {
-            unsafe
-            {
-                fixed (Byte* coords_ptr = &coords)
-                {
-                    Delegates.glNormalStream3bvATI((int)stream, (SByte*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3sATI(int stream, Int16 nx, Int16 ny, Int16 nz)
-        {
-            Delegates.glNormalStream3sATI((int)stream, (Int16)nx, (Int16)ny, (Int16)nz);
-        }
-
-        public static 
-        void glNormalStream3svATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glNormalStream3svATI((int)stream, (Int16*)coords);
-            }
-        }
-
-        public static 
-        void glNormalStream3svATI(int stream, Int16[] coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = coords)
-                {
-                    Delegates.glNormalStream3svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3svATI(int stream, ref Int16 coords)
-        {
-            unsafe
-            {
-                fixed (Int16* coords_ptr = &coords)
-                {
-                    Delegates.glNormalStream3svATI((int)stream, (Int16*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3iATI(int stream, Int32 nx, Int32 ny, Int32 nz)
-        {
-            Delegates.glNormalStream3iATI((int)stream, (Int32)nx, (Int32)ny, (Int32)nz);
-        }
-
-        public static 
-        void glNormalStream3ivATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glNormalStream3ivATI((int)stream, (Int32*)coords);
-            }
-        }
-
-        public static 
-        void glNormalStream3ivATI(int stream, Int32[] coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = coords)
-                {
-                    Delegates.glNormalStream3ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3ivATI(int stream, ref Int32 coords)
-        {
-            unsafe
-            {
-                fixed (Int32* coords_ptr = &coords)
-                {
-                    Delegates.glNormalStream3ivATI((int)stream, (Int32*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3fATI(int stream, Single nx, Single ny, Single nz)
-        {
-            Delegates.glNormalStream3fATI((int)stream, (Single)nx, (Single)ny, (Single)nz);
-        }
-
-        public static 
-        void glNormalStream3fvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glNormalStream3fvATI((int)stream, (Single*)coords);
-            }
-        }
-
-        public static 
-        void glNormalStream3fvATI(int stream, Single[] coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = coords)
-                {
-                    Delegates.glNormalStream3fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3fvATI(int stream, ref Single coords)
-        {
-            unsafe
-            {
-                fixed (Single* coords_ptr = &coords)
-                {
-                    Delegates.glNormalStream3fvATI((int)stream, (Single*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3dATI(int stream, Double nx, Double ny, Double nz)
-        {
-            Delegates.glNormalStream3dATI((int)stream, (Double)nx, (Double)ny, (Double)nz);
-        }
-
-        public static 
-        void glNormalStream3dvATI(int stream, IntPtr coords)
-        {
-            unsafe
-            {
-                Delegates.glNormalStream3dvATI((int)stream, (Double*)coords);
-            }
-        }
-
-        public static 
-        void glNormalStream3dvATI(int stream, Double[] coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = coords)
-                {
-                    Delegates.glNormalStream3dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glNormalStream3dvATI(int stream, ref Double coords)
-        {
-            unsafe
-            {
-                fixed (Double* coords_ptr = &coords)
-                {
-                    Delegates.glNormalStream3dvATI((int)stream, (Double*)coords_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glClientActiveVertexStreamATI(int stream)
-        {
-            Delegates.glClientActiveVertexStreamATI((int)stream);
-        }
-
-        public static 
-        void glVertexBlendEnviATI(int pname, Int32 param)
-        {
-            Delegates.glVertexBlendEnviATI((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glVertexBlendEnvfATI(int pname, Single param)
-        {
-            Delegates.glVertexBlendEnvfATI((int)pname, (Single)param);
-        }
-
-        public static 
-        void glElementPointerATI(int type, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glElementPointerATI((int)type, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glElementPointerATI(int type, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerATI((int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDrawElementArrayATI(int mode, Int32 count)
-        {
-            Delegates.glDrawElementArrayATI((int)mode, (Int32)count);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDrawRangeElementArrayATI(int mode, UInt32 start, UInt32 end, Int32 count)
-        {
-            Delegates.glDrawRangeElementArrayATI((int)mode, (UInt32)start, (UInt32)end, (Int32)count);
-        }
-
-        public static 
-        void glDrawRangeElementArrayATI(int mode, Int32 start, Int32 end, Int32 count)
-        {
-            Delegates.glDrawRangeElementArrayATI((int)mode, (UInt32)start, (UInt32)end, (Int32)count);
-        }
-
-        public static 
-        void glDrawBuffersATI(Int32 n, IntPtr bufs)
-        {
-            unsafe
-            {
-                Delegates.glDrawBuffersATI((Int32)n, (int*)bufs);
-            }
-        }
-
-        public static 
-        void glDrawBuffersATI(Int32 n, int[] bufs)
-        {
-            unsafe
-            {
-                fixed (int* bufs_ptr = bufs)
-                {
-                    Delegates.glDrawBuffersATI((Int32)n, (int*)bufs_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDrawBuffersATI(Int32 n, ref int bufs)
-        {
-            unsafe
-            {
-                fixed (int* bufs_ptr = &bufs)
-                {
-                    Delegates.glDrawBuffersATI((Int32)n, (int*)bufs_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        IntPtr glMapObjectBufferATI(UInt32 buffer)
-        {
-            return Delegates.glMapObjectBufferATI((UInt32)buffer);
-        }
-
-        public static 
-        IntPtr glMapObjectBufferATI(Int32 buffer)
-        {
-            return Delegates.glMapObjectBufferATI((UInt32)buffer);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glUnmapObjectBufferATI(UInt32 buffer)
-        {
-            Delegates.glUnmapObjectBufferATI((UInt32)buffer);
-        }
-
-        public static 
-        void glUnmapObjectBufferATI(Int32 buffer)
-        {
-            Delegates.glUnmapObjectBufferATI((UInt32)buffer);
-        }
-
-        public static 
-        void glStencilOpSeparateATI(int face, int sfail, int dpfail, int dppass)
-        {
-            Delegates.glStencilOpSeparateATI((int)face, (int)sfail, (int)dpfail, (int)dppass);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glStencilFuncSeparateATI(int frontfunc, int backfunc, Int32 @ref, UInt32 mask)
-        {
-            Delegates.glStencilFuncSeparateATI((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask);
-        }
-
-        public static 
-        void glStencilFuncSeparateATI(int frontfunc, int backfunc, Int32 @ref, Int32 mask)
-        {
-            Delegates.glStencilFuncSeparateATI((int)frontfunc, (int)backfunc, (Int32)@ref, (UInt32)mask);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glVertexAttribArrayObjectATI(UInt32 index, Int32 size, int type, Int32 normalized, Int32 stride, UInt32 buffer, UInt32 offset)
-        {
-            Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-        }
-
-        public static 
-        void glVertexAttribArrayObjectATI(Int32 index, Int32 size, int type, Int32 normalized, Int32 stride, Int32 buffer, Int32 offset)
-        {
-            Delegates.glVertexAttribArrayObjectATI((UInt32)index, (Int32)size, (int)type, (Int32)normalized, (Int32)stride, (UInt32)buffer, (UInt32)offset);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribArrayObjectfvATI(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribArrayObjectfvATI(Int32 index, int pname, [Out] Single[] @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribArrayObjectfvATI(UInt32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribArrayObjectfvATI(Int32 index, int pname, [Out] out Single @params)
-        {
-            unsafe
-            {
-                fixed (Single* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectfvATI((UInt32)index, (int)pname, (Single*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        public static 
-        void glGetVertexAttribArrayObjectivATI(Int32 index, int pname, [Out] IntPtr @params)
-        {
-            unsafe
-            {
-                Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribArrayObjectivATI(Int32 index, int pname, [Out] Int32[] @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = @params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGetVertexAttribArrayObjectivATI(UInt32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGetVertexAttribArrayObjectivATI(Int32 index, int pname, [Out] out Int32 @params)
-        {
-            unsafe
-            {
-                fixed (Int32* @params_ptr = &@params)
-                {
-                    Delegates.glGetVertexAttribArrayObjectivATI((UInt32)index, (int)pname, (Int32*)@params_ptr);
-                    @params = *@params_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glElementPointerAPPLE(int type, IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glElementPointerAPPLE((int)type, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glElementPointerAPPLE(int type, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glElementPointerAPPLE((int)type, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glDrawElementArrayAPPLE(int mode, Int32 first, Int32 count)
-        {
-            Delegates.glDrawElementArrayAPPLE((int)mode, (Int32)first, (Int32)count);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32 first, Int32 count)
-        {
-            Delegates.glDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count);
-        }
-
-        public static 
-        void glDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32 first, Int32 count)
-        {
-            Delegates.glDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32)first, (Int32)count);
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, IntPtr first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first, (Int32*)count, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, IntPtr first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, IntPtr first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, Int32[] first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, Int32[] first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, Int32[] first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, ref Int32 first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, ref Int32 first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawElementArrayAPPLE(int mode, ref Int32 first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawElementArrayAPPLE((int)mode, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, IntPtr first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount);
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, IntPtr first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count, (Int32)primcount);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, IntPtr first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, IntPtr first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, IntPtr first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, IntPtr first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32[] first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32[] first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32[] first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32[] first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, Int32[] first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, Int32[] first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, ref Int32 first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, ref Int32 first, IntPtr count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, ref Int32 first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, ref Int32 first, Int32[] count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, UInt32 start, UInt32 end, ref Int32 first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glMultiDrawRangeElementArrayAPPLE(int mode, Int32 start, Int32 end, ref Int32 first, ref Int32 count, Int32 primcount)
-        {
-            unsafe
-            {
-                fixed (Int32* first_ptr = &first)
-                fixed (Int32* count_ptr = &count)
-                {
-                    Delegates.glMultiDrawRangeElementArrayAPPLE((int)mode, (UInt32)start, (UInt32)end, (Int32*)first_ptr, (Int32*)count_ptr, (Int32)primcount);
-                }
-            }
-        }
-
-        public static 
-        void glGenFencesAPPLE(Int32 n, [Out] IntPtr fences)
-        {
-            unsafe
-            {
-                Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenFencesAPPLE(Int32 n, [Out] UInt32[] fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = fences)
-                {
-                    Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenFencesAPPLE(Int32 n, [Out] Int32[] fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = fences)
-                {
-                    Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenFencesAPPLE(Int32 n, [Out] out UInt32 fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = &fences)
-                {
-                    Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    fences = *fences_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenFencesAPPLE(Int32 n, [Out] out Int32 fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = &fences)
-                {
-                    Delegates.glGenFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                    fences = *fences_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFencesAPPLE(Int32 n, IntPtr fences)
-        {
-            unsafe
-            {
-                Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFencesAPPLE(Int32 n, UInt32[] fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = fences)
-                {
-                    Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFencesAPPLE(Int32 n, Int32[] fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = fences)
-                {
-                    Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteFencesAPPLE(Int32 n, ref UInt32 fences)
-        {
-            unsafe
-            {
-                fixed (UInt32* fences_ptr = &fences)
-                {
-                    Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteFencesAPPLE(Int32 n, ref Int32 fences)
-        {
-            unsafe
-            {
-                fixed (Int32* fences_ptr = &fences)
-                {
-                    Delegates.glDeleteFencesAPPLE((Int32)n, (UInt32*)fences_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glSetFenceAPPLE(UInt32 fence)
-        {
-            Delegates.glSetFenceAPPLE((UInt32)fence);
-        }
-
-        public static 
-        void glSetFenceAPPLE(Int32 fence)
-        {
-            Delegates.glSetFenceAPPLE((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsFenceAPPLE(UInt32 fence)
-        {
-            return Delegates.glIsFenceAPPLE((UInt32)fence);
-        }
-
-        public static 
-        Int32 glIsFenceAPPLE(Int32 fence)
-        {
-            return Delegates.glIsFenceAPPLE((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glTestFenceAPPLE(UInt32 fence)
-        {
-            return Delegates.glTestFenceAPPLE((UInt32)fence);
-        }
-
-        public static 
-        Int32 glTestFenceAPPLE(Int32 fence)
-        {
-            return Delegates.glTestFenceAPPLE((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glFinishFenceAPPLE(UInt32 fence)
-        {
-            Delegates.glFinishFenceAPPLE((UInt32)fence);
-        }
-
-        public static 
-        void glFinishFenceAPPLE(Int32 fence)
-        {
-            Delegates.glFinishFenceAPPLE((UInt32)fence);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glTestObjectAPPLE(int @object, UInt32 name)
-        {
-            return Delegates.glTestObjectAPPLE((int)@object, (UInt32)name);
-        }
-
-        public static 
-        Int32 glTestObjectAPPLE(int @object, Int32 name)
-        {
-            return Delegates.glTestObjectAPPLE((int)@object, (UInt32)name);
-        }
-
-        public static 
-        void glFinishObjectAPPLE(int @object, Int32 name)
-        {
-            Delegates.glFinishObjectAPPLE((int)@object, (Int32)name);
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glBindVertexArrayAPPLE(UInt32 array)
-        {
-            Delegates.glBindVertexArrayAPPLE((UInt32)array);
-        }
-
-        public static 
-        void glBindVertexArrayAPPLE(Int32 array)
-        {
-            Delegates.glBindVertexArrayAPPLE((UInt32)array);
-        }
-
-        public static 
-        void glDeleteVertexArraysAPPLE(Int32 n, IntPtr arrays)
-        {
-            unsafe
-            {
-                Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteVertexArraysAPPLE(Int32 n, UInt32[] arrays)
-        {
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = arrays)
-                {
-                    Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteVertexArraysAPPLE(Int32 n, Int32[] arrays)
-        {
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = arrays)
-                {
-                    Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glDeleteVertexArraysAPPLE(Int32 n, ref UInt32 arrays)
-        {
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = &arrays)
-                {
-                    Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glDeleteVertexArraysAPPLE(Int32 n, ref Int32 arrays)
-        {
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = &arrays)
-                {
-                    Delegates.glDeleteVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenVertexArraysAPPLE(Int32 n, [Out] IntPtr arrays)
-        {
-            unsafe
-            {
-                Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays);
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenVertexArraysAPPLE(Int32 n, [Out] UInt32[] arrays)
-        {
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = arrays)
-                {
-                    Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-        }
-
-        public static 
-        void glGenVertexArraysAPPLE(Int32 n, [Out] Int32[] arrays)
-        {
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = arrays)
-                {
-                    Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        void glGenVertexArraysAPPLE(Int32 n, [Out] out UInt32 arrays)
-        {
-            unsafe
-            {
-                fixed (UInt32* arrays_ptr = &arrays)
-                {
-                    Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    arrays = *arrays_ptr;
-                }
-            }
-        }
-
-        public static 
-        void glGenVertexArraysAPPLE(Int32 n, [Out] out Int32 arrays)
-        {
-            unsafe
-            {
-                fixed (Int32* arrays_ptr = &arrays)
-                {
-                    Delegates.glGenVertexArraysAPPLE((Int32)n, (UInt32*)arrays_ptr);
-                    arrays = *arrays_ptr;
-                }
-            }
-        }
-
-        [System.CLSCompliant(false)]
-        public static 
-        Int32 glIsVertexArrayAPPLE(UInt32 array)
-        {
-            return Delegates.glIsVertexArrayAPPLE((UInt32)array);
-        }
-
-        public static 
-        Int32 glIsVertexArrayAPPLE(Int32 array)
-        {
-            return Delegates.glIsVertexArrayAPPLE((UInt32)array);
-        }
-
-        public static 
-        void glVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glVertexArrayRangeAPPLE(Int32 length, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glFlushVertexArrayRangeAPPLE(Int32 length, [Out] IntPtr pointer)
-        {
-            unsafe
-            {
-                Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer);
-            }
-        }
-
-        public static 
-        void glFlushVertexArrayRangeAPPLE(Int32 length, [In, Out] object pointer)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle pointer_ptr = System.Runtime.InteropServices.GCHandle.Alloc(pointer, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glFlushVertexArrayRangeAPPLE((Int32)length, (IntPtr)pointer_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    pointer_ptr.Free();
-                }
-            }
-        }
-
-        public static 
-        void glVertexArrayParameteriAPPLE(int pname, Int32 param)
-        {
-            Delegates.glVertexArrayParameteriAPPLE((int)pname, (Int32)param);
-        }
-
-        public static 
-        void glBufferParameteriAPPLE(int target, int pname, Int32 param)
-        {
-            Delegates.glBufferParameteriAPPLE((int)target, (int)pname, (Int32)param);
-        }
-
-        public static 
-        void glFlushMappedBufferRangeAPPLE(int target, IntPtr offset, IntPtr size)
-        {
-            Delegates.glFlushMappedBufferRangeAPPLE((int)target, (IntPtr)offset, (IntPtr)size);
-        }
-
-        public static 
-        void glStringMarkerGREMEDY(Int32 len, IntPtr @string)
-        {
-            unsafe
-            {
-                Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string);
-            }
-        }
-
-        public static 
-        void glStringMarkerGREMEDY(Int32 len, [In, Out] object @string)
-        {
-            unsafe
-            {
-                System.Runtime.InteropServices.GCHandle @string_ptr = System.Runtime.InteropServices.GCHandle.Alloc(@string, System.Runtime.InteropServices.GCHandleType.Pinned);
-                try
-                {
-                    Delegates.glStringMarkerGREMEDY((Int32)len, (IntPtr)@string_ptr.AddrOfPinnedObject());
-                }
-                finally
-                {
-                    @string_ptr.Free();
-                }
-            }
-        }
-
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenGl/GlHelper.cs b/Source/Compatibility/Tao/OpenGl/GlHelper.cs
deleted file mode 100644 (file)
index 93f672b..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2007 Tao Framework Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-#region --- Using Directives ---
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Runtime.InteropServices;
-using System.Reflection;
-using System.Diagnostics;
-using System.Reflection.Emit;
-using System.IO;
-
-#endregion
-
-namespace Tao.OpenGl
-{
-    /// <summary>
-    /// OpenGL binding for .NET, implementing OpenGL 2.1, plus extensions.
-    /// </summary>
-    /// <remarks>
-    /// <para>
-    /// This class contains all OpenGL enums and functions defined in the 2.1 specification.
-    /// The official .spec files can be found at: http://opengl.org/registry/.
-    /// </para>
-    /// <para>
-    /// We rely on static initialization to obtain the entry points for OpenGL functions.
-    /// Please ensure that a valid OpenGL context has been made current in the pertinent thread <b>before</b>
-    /// any OpenGL functions are called (toolkits like GLUT, SDL or GLFW will automatically take care of
-    /// the context initialization process). Without a valid OpenGL context, we will only be able
-    /// to retrieve statically exported entry points (typically corresponding to OpenGL version 1.1 under Windows,
-    /// 1.3 under Linux and 1.4 under Windows Vista), and extension methods will need to be loaded manually.
-    /// </para>
-    /// <para>
-    /// If you prefer to have more control on extension loading, you can use the
-    /// ReloadFunctions or ReloadFunction methods to manually force the initialisation of OpenGL entry points.
-    /// The ReloadFunctions method should be called whenever you change an existing visual or pixelformat. This
-    /// generally happens when you change the color/stencil/depth buffer associated with a window (but probably
-    /// not the resolution). This may or may not be necessary under Linux/MacOS, but is generally required for
-    /// Windows.
-    /// </para>
-    /// <para>
-    /// You can use the Gl.IsExtensionSupported method to check whether any given category of extension functions
-    /// exists in the current OpenGL context. The results can be cached to speed up future searches.
-    /// Keep in mind that different OpenGL contexts may support different extensions, and under different entry
-    /// points. Always check if all required extensions are still supported when changing visuals or pixel
-    /// formats.
-    /// </para>
-    /// <para>
-    /// You may retrieve the entry point for an OpenGL function using the Gl.GetDelegate method.
-    /// </para>
-    /// <para>
-    /// <see href="http://opengl.org/registry/"/>
-    /// <seealso cref="Gl.IsExtensionSupported"/>
-    /// <seealso cref="Gl.GetDelegate"/>
-    /// <seealso cref="Gl.ReloadFunctions"/>
-    /// </para>
-    /// </remarks>
-    [Obsolete("Use OpenTK.Graphics.OpenGL instead.")]
-    public static partial class Gl
-    {
-        #region --- Fields ---
-
-        static StringBuilder sb = new StringBuilder();
-        static object gl_lock = new object();
-
-        internal const string Library = "opengl32.dll";
-
-        //private static Dictionary<string, bool> AvailableExtensions = new Dictionary<string, bool>();
-        private static SortedList<string, bool> AvailableExtensions = new SortedList<string, bool>();
-        private static bool rebuildExtensionList;
-
-        private static Type glClass;
-        private static Type delegatesClass;
-        private static Type importsClass;
-        private static FieldInfo[] delegates;
-
-        #endregion
-
-        #region --- Static Constructor ---
-
-        static Gl()
-        {
-            glClass = typeof(Gl);
-            delegatesClass = glClass.GetNestedType("Delegates", BindingFlags.Static | BindingFlags.NonPublic);
-            importsClass = glClass.GetNestedType("Imports", BindingFlags.Static | BindingFlags.NonPublic);
-            // 'Touch' Imports class to force initialization. We don't want anything yet, just to have
-            // this class ready.
-            if (Imports.FunctionMap != null) { }
-            ReloadFunctions();
-        }
-
-        #endregion
-
-        #region --- Methods ---
-
-        #region internal static partial class Imports
-
-        /// <summary>
-        /// Contains DllImports for the core OpenGL functions.
-        /// </summary>
-        internal static partial class Imports
-        {
-            /// <summary>
-            ///  Build a string->MethodInfo map to speed up extension loading.
-            /// </summary>
-            internal static SortedList<string, MethodInfo> FunctionMap;  // This is faster than either Dictionary or SortedDictionary
-            static Imports()
-            {
-                MethodInfo[] methods = importsClass.GetMethods(BindingFlags.Static | BindingFlags.NonPublic);
-                FunctionMap = new SortedList<string, MethodInfo>(methods.Length);
-                foreach (MethodInfo m in methods)
-                    FunctionMap.Add(m.Name, m);
-            }
-        }
-
-        #endregion
-
-        #region public static bool IsExtensionSupported(string name)
-
-        /// <summary>
-        /// Determines whether the specified OpenGL extension category is available in
-        /// the current OpenGL context. Equivalent to IsExtensionSupported(name, true)
-        /// </summary>
-        /// <param name="name">The string for the OpenGL extension category (eg. "GL_ARB_multitexture")</param>
-        /// <returns>True if the specified extension is available, false otherwise.</returns>
-        public static bool IsExtensionSupported(string name)
-        {
-            if (rebuildExtensionList)
-                BuildExtensionList();
-
-            lock (gl_lock)
-            {
-                sb.Remove(0, sb.Length);
-                if (!name.StartsWith("GL_"))
-                    sb.Append("gl_");
-                sb.Append(name.ToLower());
-
-                // Search the cache for the string.
-                return AvailableExtensions.ContainsKey(sb.ToString());
-            }
-        }
-
-        #endregion
-
-        #region public static Delegate GetDelegate(string name, Type signature)
-
-        /// <summary>
-        /// Creates a System.Delegate that can be used to call an OpenGL function, core or extension.
-        /// </summary>
-        /// <param name="name">The name of the OpenGL function (eg. "glNewList")</param>
-        /// <param name="signature">The signature of the OpenGL function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenGL function, or null if the specified
-        /// function name did not correspond to an OpenGL function.
-        /// </returns>
-        public static Delegate GetDelegate(string name, Type signature)
-        {
-            MethodInfo m;
-            return GetExtensionDelegate(name, signature) ??
-                  (Imports.FunctionMap.TryGetValue((name.Substring(2)), out m) ?
-                   Delegate.CreateDelegate(signature, m) : null);
-        }
-
-        #endregion
-
-        #region public static void ReloadFunctions()
-
-        /// <summary>
-        /// Loads all OpenGL functions (core and extensions).
-        /// </summary>
-        /// <remarks>
-        /// <para>
-        /// This function will be automatically called the first time you use any opengl function. There is 
-        /// </para>
-        /// <para>
-        /// Call this function manually whenever you need to update OpenGL entry points.
-        /// This need may arise if you change the pixelformat/visual, or in case you cannot
-        /// (or do not want) to use the automatic initialization of the GL class.
-        /// </para>
-        /// </remarks>
-        public static void ReloadFunctions()
-        {
-            // Using reflection is more than 3 times faster than directly loading delegates on the first
-            // run, probably due to code generation overhead. Subsequent runs are faster with direct loading
-            // than with reflection, but the first time is more significant.
-
-            if (delegates == null)
-                delegates = delegatesClass.GetFields(BindingFlags.Static | BindingFlags.NonPublic);
-
-            foreach (FieldInfo f in delegates)
-                f.SetValue(null, GetDelegate(f.Name, f.FieldType));
-
-            rebuildExtensionList = true;
-        }
-
-        static void set(object d, Delegate value)
-        {
-            d = value;
-        }
-
-        #endregion
-
-        #region public static bool ReloadFunction(string function)
-
-        /// <summary>
-        /// Tries to reload the given OpenGL function (core or extension).
-        /// </summary>
-        /// <param name="function">The name of the OpenGL function (i.e. glShaderSource)</param>
-        /// <returns>True if the function was found and reloaded, false otherwise.</returns>
-        /// <remarks>
-        /// <para>
-        /// Use this function if you require greater granularity when loading OpenGL entry points.
-        /// </para>
-        /// <para>
-        /// While the automatic initialisation will load all OpenGL entry points, in some cases
-        /// the initialisation can take place before an OpenGL Context has been established.
-        /// In this case, use this function to load the entry points for the OpenGL functions
-        /// you will need, or use ReloadFunctions() to load all available entry points.
-        /// </para>
-        /// <para>
-        /// This function returns true if the given OpenGL function is supported, false otherwise.
-        /// </para>
-        /// <para>
-        /// To query for supported extensions use the IsExtensionSupported() function instead.
-        /// </para>
-        /// </remarks>
-        public static bool Load(string function)
-        {
-            FieldInfo f = delegatesClass.GetField(function, BindingFlags.Static | BindingFlags.NonPublic);
-            if (f == null)
-                return false;
-
-            Delegate old = f.GetValue(null) as Delegate;
-            Delegate @new = GetDelegate(f.Name, f.FieldType);
-            if (old.Target != @new.Target)
-            {
-                f.SetValue(null, @new);
-                rebuildExtensionList = true;
-            }
-            return @new != null;
-        }
-
-        #endregion
-
-        #region private static void BuildExtensionList()
-
-        /// <summary>
-        /// Builds a cache of all supported extensions.
-        /// </summary>
-        private static void BuildExtensionList()
-        {
-            // Assumes there is an opengl context current.
-            AvailableExtensions.Clear();
-            string version_string = Gl.glGetString(Gl.GL_VERSION);
-            if (String.IsNullOrEmpty(version_string))
-                throw new ApplicationException("Failed to retrieve OpenGL version. Is there an opengl context current?");
-
-            string version;
-
-            // Most drivers return the version in the 3 first characters of the version string,
-            // (e.g. on Ati X1950 with Catalyst 7.10 -> "2.0.6956 Release"). However, Mesa seems
-            // to do something strange: "1.4 (2.1 Mesa 7.0.1).".
-            // We'll do some trickery to get the second version number (2.1), but this may break on
-            // some implementations...
-            // This works on Ati, Mesa, Nvidia, but I'd like someone to test on Intel, too.
-            if (version_string.ToLower().Contains("mesa"))
-            {
-                int index = version_string.IndexOf('(');
-                if (index != -1)
-                    version = version_string.Substring(index + 1, 3);
-                else
-                    version = version_string.TrimStart(' ');
-            }
-            else
-                version = version_string.TrimStart(' ');
-
-            // Ugh, this look ugly.
-            if (version.StartsWith("1.2"))
-            {
-                AvailableExtensions.Add("gl_version_1_1", true);
-                AvailableExtensions.Add("gl_version_1_2", true);
-            }
-            else if (version.StartsWith("1.3"))
-            {
-                AvailableExtensions.Add("gl_version_1_1", true);
-                AvailableExtensions.Add("gl_version_1_2", true);
-                AvailableExtensions.Add("gl_version_1_3", true);
-            }
-            else if (version.StartsWith("1.4"))
-            {
-                AvailableExtensions.Add("gl_version_1_1", true);
-                AvailableExtensions.Add("gl_version_1_2", true);
-                AvailableExtensions.Add("gl_version_1_3", true);
-                AvailableExtensions.Add("gl_version_1_4", true);
-            }
-            else if (version.StartsWith("1.5"))
-            {
-                AvailableExtensions.Add("gl_version_1_1", true);
-                AvailableExtensions.Add("gl_version_1_2", true);
-                AvailableExtensions.Add("gl_version_1_3", true);
-                AvailableExtensions.Add("gl_version_1_4", true);
-                AvailableExtensions.Add("gl_version_1_5", true);
-            }
-            else if (version.StartsWith("2.0"))
-            {
-                AvailableExtensions.Add("gl_version_1_1", true);
-                AvailableExtensions.Add("gl_version_1_2", true);
-                AvailableExtensions.Add("gl_version_1_3", true);
-                AvailableExtensions.Add("gl_version_1_4", true);
-                AvailableExtensions.Add("gl_version_1_5", true);
-                AvailableExtensions.Add("gl_version_2_0", true);
-            }
-            else if (version.StartsWith("2.1"))
-            {
-                AvailableExtensions.Add("gl_version_1_1", true);
-                AvailableExtensions.Add("gl_version_1_2", true);
-                AvailableExtensions.Add("gl_version_1_3", true);
-                AvailableExtensions.Add("gl_version_1_4", true);
-                AvailableExtensions.Add("gl_version_1_5", true);
-                AvailableExtensions.Add("gl_version_2_0", true);
-                AvailableExtensions.Add("gl_version_2_1", true);
-            }
-
-            string extension_string = Gl.glGetString(Gl.GL_EXTENSIONS);
-            if (String.IsNullOrEmpty(extension_string))
-                return;               // no extensions are available
-
-            string[] extensions = extension_string.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
-            foreach (string ext in extensions)
-                AvailableExtensions.Add(ext.ToLower(), true);
-
-            rebuildExtensionList = false;
-        }
-
-        #endregion
-
-        #endregion
-
-        #region --- GetProcAddress ---
-
-        private static IGetProcAddress getProcAddress;
-
-        internal interface IGetProcAddress
-        {
-            IntPtr GetProcAddress(string function);
-        }
-
-        internal class GetProcAddressWindows : IGetProcAddress
-        {
-            [System.Runtime.InteropServices.DllImport(Library, EntryPoint = "wglGetProcAddress", ExactSpelling = true)]
-            private static extern IntPtr wglGetProcAddress(String lpszProc);
-
-            public IntPtr GetProcAddress(string function)
-            {
-                return wglGetProcAddress(function);
-            }
-        }
-
-        internal class GetProcAddressX11 : IGetProcAddress
-        {
-            [DllImport(Library, EntryPoint = "glXGetProcAddress")]
-            private static extern IntPtr glxGetProcAddress([MarshalAs(UnmanagedType.LPTStr)] string procName);
-
-            public IntPtr GetProcAddress(string function)
-            {
-                return glxGetProcAddress(function);
-            }
-        }
-
-        internal class GetProcAddressOSX : IGetProcAddress
-        {
-            private const string Library = "libdl.dylib";
-
-            [DllImport(Library, EntryPoint = "NSIsSymbolNameDefined")]
-            private static extern bool NSIsSymbolNameDefined(string s);
-            [DllImport(Library, EntryPoint = "NSLookupAndBindSymbol")]
-            private static extern IntPtr NSLookupAndBindSymbol(string s);
-            [DllImport(Library, EntryPoint = "NSAddressOfSymbol")]
-            private static extern IntPtr NSAddressOfSymbol(IntPtr symbol);
-
-            public IntPtr GetProcAddress(string function)
-            {
-                string fname = "_" + function;
-                if (!NSIsSymbolNameDefined(fname))
-                    return IntPtr.Zero;
-
-                IntPtr symbol = NSLookupAndBindSymbol(fname);
-                if (symbol != IntPtr.Zero)
-                    symbol = NSAddressOfSymbol(symbol);
-
-                return symbol;
-            }
-        }
-
-        #region private static IntPtr GetAddress(string function)
-
-        /// <summary>
-        /// Retrieves the entry point for a dynamically exported OpenGL function.
-        /// </summary>
-        /// <param name="function">The function string for the OpenGL function (eg. "glNewList")</param>
-        /// <returns>
-        /// An IntPtr contaning the address for the entry point, or IntPtr.Zero if the specified
-        /// OpenGL function is not dynamically exported.
-        /// </returns>
-        /// <remarks>
-        /// <para>
-        /// The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value
-        /// into a call-able delegate.
-        /// </para>
-        /// <para>
-        /// This function is cross-platform. It determines the underlying platform and uses the
-        /// correct wgl, glx or agl GetAddress function to retrieve the function pointer.
-        /// </para>
-        /// <see cref="Marshal.GetDelegateForFunctionPointer"/>
-        /// </remarks>
-        private static IntPtr GetAddress(string function)
-        {
-            if (getProcAddress == null)
-            {
-                if (System.Environment.OSVersion.Platform == PlatformID.Win32NT ||
-                    System.Environment.OSVersion.Platform == PlatformID.Win32S ||
-                    System.Environment.OSVersion.Platform == PlatformID.Win32Windows ||
-                    System.Environment.OSVersion.Platform == PlatformID.WinCE)
-                {
-                    getProcAddress = new GetProcAddressWindows();
-                }
-                else if (System.Environment.OSVersion.Platform == PlatformID.Unix ||
-                         System.Environment.OSVersion.Platform == (PlatformID)4)
-                {
-                    // Distinguish between Unix and Mac OS X kernels.
-                    switch (DetectUnixKernel())
-                    {
-                        case "Unix":
-                        case "Linux":
-                            getProcAddress = new GetProcAddressX11();
-                            break;
-
-                        case "Darwin":
-                            getProcAddress = new GetProcAddressOSX();
-                            break;
-
-                        default:
-                            throw new PlatformNotSupportedException(
-                                DetectUnixKernel() + ": Unknown Unix platform - cannot load extensions. Please report a bug at http://taoframework.com");
-                    }
-                }
-                else
-                {
-                    throw new PlatformNotSupportedException(
-                        "Extension loading is only supported under Mac OS X, Unix/X11 and Windows. We are sorry for the inconvience.");
-                }
-            }
-
-            return getProcAddress.GetProcAddress(function);
-        }
-
-        #endregion
-
-        #region private static string DetectUnixKernel()
-
-        /// <summary>
-        /// Executes "uname" which returns a string representing the name of the
-        /// underlying Unix kernel.
-        /// </summary>
-        /// <returns>"Unix", "Linux", "Darwin" or null.</returns>
-        /// <remarks>Source code from "Mono: A Developer's Notebook"</remarks>
-        private static string DetectUnixKernel()
-        {
-            ProcessStartInfo startInfo = new ProcessStartInfo();
-            startInfo.Arguments = "-s";
-            startInfo.RedirectStandardOutput = true;
-            startInfo.RedirectStandardError = true;
-            startInfo.UseShellExecute = false;
-            foreach (string unameprog in new string[] { "/usr/bin/uname", "/bin/uname", "uname" })
-            {
-                try
-                {
-                    startInfo.FileName = unameprog;
-                    Process uname = Process.Start(startInfo);
-                    StreamReader stdout = uname.StandardOutput;
-                    return stdout.ReadLine().Trim();
-                }
-                catch (System.IO.FileNotFoundException)
-                {
-                    // The requested executable doesn't exist, try next one.
-                    continue;
-                }
-                catch (System.ComponentModel.Win32Exception)
-                {
-                    continue;
-                }
-            }
-            return null;
-        }
-
-        #endregion
-
-        #region internal static Delegate GetExtensionDelegate(string name, Type signature)
-
-        /// <summary>
-        /// Creates a System.Delegate that can be used to call a dynamically exported OpenGL function.
-        /// </summary>
-        /// <param name="name">The name of the OpenGL function (eg. "glNewList")</param>
-        /// <param name="signature">The signature of the OpenGL function.</param>
-        /// <returns>
-        /// A System.Delegate that can be used to call this OpenGL function or null
-        /// if the function is not available in the current OpenGL context.
-        /// </returns>
-        internal static Delegate GetExtensionDelegate(string name, Type signature)
-        {
-            IntPtr address = GetAddress(name);
-
-            if (address == IntPtr.Zero ||
-                address == new IntPtr(1) ||     // Workaround for buggy nvidia drivers which return
-                address == new IntPtr(2))       // 1 or 2 instead of IntPtr.Zero for some extensions.
-            {
-                return null;
-            }
-            else
-            {
-                return Marshal.GetDelegateForFunctionPointer(address, signature);
-            }
-        }
-
-        #endregion
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Tao/OpenGl/Glu.cs b/Source/Compatibility/Tao/OpenGl/Glu.cs
deleted file mode 100644 (file)
index 0ec0573..0000000
+++ /dev/null
@@ -1,48403 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2006 Tao Framework Team
-http://www.taoframework.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-using System;
-using System.Runtime.InteropServices;
-using System.Security;
-
-#pragma warning disable 169 // private field is never used
-
-namespace Tao.OpenGl
-{
-    #region Class Documentation
-    /// <summary>
-    ///     GLU (OpenGL Utility) binding for .NET, implementing GLU 1.3.
-    /// </summary>
-    /// <remarks>
-    ///     <para>
-    ///         Binds functions and definitions in glu32.dll or libGLU.so.
-    ///     </para>
-    ///     <para>
-    ///         The OpenGL Utility (GLU) library contains several groups of functions that
-    ///         complement the core OpenGL interface by providing support for auxiliary features.
-    ///         These features include: mipmapping, matrix manipulation, polygon tessellation,
-    ///         quadrics, NURBS, and error handling.
-    ///     </para>
-    ///     <para>
-    ///         Mipmapping routines include image scaling and automatic mipmap generation.  A
-    ///         variety of matrix manipulation functions build projection and viewing matrices,
-    ///         or project vertices from one coordinate system to another.  Polygon tessellation
-    ///         routines convert concave polygons into triangles for easy rendering.  Quadrics
-    ///         support renders a few basic quadrics such as spheres and cones.  NURBS code maps
-    ///         complicated NURBS curves and trimmed surfaces into simpler OpenGL evaluators.
-    ///         Lastly, an error lookup routine translates OpenGL and GLU error codes into
-    ///         strings.  GLU library routines may call OpenGL library routines.  Thus, an OpenGL
-    ///         context should be made current before calling any GLU functions.  Otherwise an
-    ///         OpenGL error may occur.
-    ///     </para>
-    ///     <para>
-    ///         These utility functions make use of core OpenGL functions, so any OpenGL
-    ///         implementation is guaranteed to support the utility functions.
-    ///     </para>
-    /// </remarks>
-    #endregion Class Documentation
-    [Obsolete]
-    public static class Glu
-    {
-        // --- Fields ---
-        #region Private Constants
-        #region CallingConvention CALLING_CONVENTION
-        /// <summary>
-        ///     Specifies the calling convention.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies <see cref="CallingConvention.Winapi" /> for Windows and
-        ///     Linux, to indicate that the default should be used.
-        /// </remarks>
-        private const CallingConvention CALLING_CONVENTION = CallingConvention.Winapi;
-        #endregion CallingConvention CALLING_CONVENTION
-        #endregion Private Constants
-
-        #region Public Constants
-        #region Version
-        #region bool GLU_VERSION_1_1
-        /// <summary>
-        ///     GLU API revision.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies GLU 1.1.
-        /// </remarks>
-        // #define GLU_VERSION_1_1 1
-        public const bool GLU_VERSION_1_1 = true;
-        #endregion bool GLU_VERSION_1_1
-
-        #region bool GLU_VERSION_1_2
-        /// <summary>
-        ///     GLU API revision.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies GLU 1.2.
-        /// </remarks>
-        // #define GLU_VERSION_1_2 1
-        public const bool GLU_VERSION_1_2 = true;
-        #endregion bool GLU_VERSION_1_2
-
-        #region bool GLU_VERSION_1_3
-        /// <summary>
-        ///     GLU API revision.
-        /// </summary>
-        /// <remarks>
-        ///     Specifies GLU 1.3.
-        /// </remarks>
-        // #define GLU_VERSION_1_3 1
-        public const bool GLU_VERSION_1_3 = true;
-        #endregion bool GLU_VERSION_1_3
-        #endregion Version
-
-        #region Errors
-        #region int GLU_INVALID_ENUM
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_INVALID_ENUM 100900
-        public const int GLU_INVALID_ENUM = 100900;
-        #endregion int GLU_INVALID_ENUM
-
-        #region int GLU_INVALID_VALUE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_INVALID_VALUE 100901
-        public const int GLU_INVALID_VALUE = 100901;
-        #endregion int GLU_INVALID_VALUE
-
-        #region int GLU_OUT_OF_MEMORY
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OUT_OF_MEMORY 100902
-        public const int GLU_OUT_OF_MEMORY = 100902;
-        #endregion int GLU_OUT_OF_MEMORY
-
-        #region int GLU_INCOMPATIBLE_GL_VERSION
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_INCOMPATIBLE_GL_VERSION 100903
-        public const int GLU_INCOMPATIBLE_GL_VERSION = 100903;
-        #endregion int GLU_INCOMPATIBLE_GL_VERSION
-
-        #region int GLU_INVALID_OPERATION
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_INVALID_OPERATION 100904
-        public const int GLU_INVALID_OPERATION = 100904;
-        #endregion int GLU_INVALID_OPERATION
-        #endregion Errors
-
-        #region StringName
-        #region int GLU_VERSION
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_VERSION 100800
-        public const int GLU_VERSION = 100800;
-        #endregion int GLU_VERSION
-
-        #region int GLU_EXTENSIONS
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_EXTENSIONS 100801
-        public const int GLU_EXTENSIONS = 100801;
-        #endregion int GLU_EXTENSIONS
-        #endregion StringName
-
-        #region bool
-        #region int GLU_TRUE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TRUE GL_TRUE
-        public const int GLU_TRUE = 1;
-        #endregion int GLU_TRUE
-
-        #region int GLU_FALSE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_FALSE GL_FALSE
-        public const int GLU_FALSE = 0;
-        #endregion int GLU_FALSE
-        #endregion bool
-
-        #region QuadricNormal
-        #region int GLU_SMOOTH
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_SMOOTH 100000
-        public const int GLU_SMOOTH = 100000;
-        #endregion int GLU_SMOOTH
-
-        #region int GLU_FLAT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_FLAT 100001
-        public const int GLU_FLAT = 100001;
-        #endregion int GLU_FLAT
-
-        #region int GLU_NONE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NONE 100002
-        public const int GLU_NONE = 100002;
-        #endregion int GLU_NONE
-        #endregion QuadricNormal
-
-        #region QuadricDrawStyle
-        #region int GLU_POINT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_POINT 100010
-        public const int GLU_POINT = 100010;
-        #endregion int GLU_POINT
-
-        #region int GLU_LINE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_LINE 100011
-        public const int GLU_LINE = 100011;
-        #endregion int GLU_LINE
-
-        #region int GLU_FILL
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_FILL 100012
-        public const int GLU_FILL = 100012;
-        #endregion int GLU_FILL
-
-        #region int GLU_SILHOUETTE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_SILHOUETTE 100013
-        public const int GLU_SILHOUETTE = 100013;
-        #endregion int GLU_SILHOUETTE
-        #endregion QuadricDrawStyle
-
-        #region QuadraticOrientation
-        #region int GLU_OUTSIDE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OUTSIDE 100020
-        public const int GLU_OUTSIDE = 100020;
-        #endregion int GLU_OUTSIDE
-
-        #region int GLU_INSIDE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_INSIDE 100021
-        public const int GLU_INSIDE = 100021;
-        #endregion int GLU_INSIDE
-        #endregion QuadraticOrientation
-
-        #region Tesselation Limits
-        #region double GLU_TESS_MAX_COORD
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_MAX_COORD 1.0e150
-        public const double GLU_TESS_MAX_COORD = 1.0e150;
-        #endregion double GLU_TESS_MAX_COORD
-        #endregion Tesselation Limits
-
-        #region TessProperty
-        #region int GLU_TESS_WINDING_RULE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_WINDING_RULE 100140
-        public const int GLU_TESS_WINDING_RULE = 100140;
-        #endregion int GLU_TESS_WINDING_RULE
-
-        #region int GLU_TESS_BOUNDARY_ONLY
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_BOUNDARY_ONLY 100141
-        public const int GLU_TESS_BOUNDARY_ONLY = 100141;
-        #endregion int GLU_TESS_BOUNDARY_ONLY
-
-        #region int GLU_TESS_TOLERANCE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_TOLERANCE 100142
-        public const int GLU_TESS_TOLERANCE = 100142;
-        #endregion int GLU_TESS_TOLERANCE
-        #endregion TessProperty
-
-        #region TessWinding
-        #region int GLU_TESS_WINDING_ODD
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_WINDING_ODD 100130
-        public const int GLU_TESS_WINDING_ODD = 100130;
-        #endregion int GLU_TESS_WINDING_ODD
-
-        #region int GLU_TESS_WINDING_NONZERO
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_WINDING_NONZERO 100131
-        public const int GLU_TESS_WINDING_NONZERO = 100131;
-        #endregion int GLU_TESS_WINDING_NONZERO
-
-        #region int GLU_TESS_WINDING_POSITIVE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_WINDING_POSITIVE 100132
-        public const int GLU_TESS_WINDING_POSITIVE = 100132;
-        #endregion int GLU_TESS_WINDING_POSITIVE
-
-        #region int GLU_TESS_WINDING_NEGATIVE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_WINDING_NEGATIVE 100133
-        public const int GLU_TESS_WINDING_NEGATIVE = 100133;
-        #endregion int GLU_TESS_WINDING_NEGATIVE
-
-        #region int GLU_TESS_WINDING_ABS_GEQ_TWO
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
-        public const int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
-        #endregion int GLU_TESS_WINDING_ABS_GEQ_TWO
-        #endregion TessWinding
-
-        #region TessCallback
-        #region int GLU_TESS_BEGIN
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_BEGIN 100100
-        public const int GLU_TESS_BEGIN = 100100;
-        #endregion int GLU_TESS_BEGIN
-
-        #region int GLU_BEGIN
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_BEGIN 100100
-        public const int GLU_BEGIN = 100100;
-        #endregion int GLU_BEGIN
-
-        #region int GLU_TESS_VERTEX
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_VERTEX 100101
-        public const int GLU_TESS_VERTEX = 100101;
-        #endregion int GLU_TESS_VERTEX
-
-        #region int GLU_VERTEX
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_VERTEX 100101
-        public const int GLU_VERTEX = 100101;
-        #endregion int GLU_VERTEX
-
-        #region int GLU_TESS_END
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_END 100102
-        public const int GLU_TESS_END = 100102;
-        #endregion int GLU_TESS_END
-
-        #region int GLU_END
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_END 100102
-        public const int GLU_END = 100102;
-        #endregion int GLU_END
-
-        #region int GLU_TESS_ERROR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR 100103
-        public const int GLU_TESS_ERROR = 100103;
-        #endregion int GLU_TESS_ERROR
-
-        #region int GLU_TESS_EDGE_FLAG
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_EDGE_FLAG 100104
-        public const int GLU_TESS_EDGE_FLAG = 100104;
-        #endregion int GLU_TESS_EDGE_FLAG
-
-        #region int GLU_EDGE_FLAG
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_EDGE_FLAG 100104
-        public const int GLU_EDGE_FLAG = 100104;
-        #endregion int GLU_EDGE_FLAG
-
-        #region int GLU_TESS_COMBINE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_COMBINE 100105
-        public const int GLU_TESS_COMBINE = 100105;
-        #endregion int GLU_TESS_COMBINE
-
-        #region int GLU_TESS_BEGIN_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_BEGIN_DATA 100106
-        public const int GLU_TESS_BEGIN_DATA = 100106;
-        #endregion int GLU_TESS_BEGIN_DATA
-
-        #region int GLU_TESS_VERTEX_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_VERTEX_DATA 100107
-        public const int GLU_TESS_VERTEX_DATA = 100107;
-        #endregion int GLU_TESS_VERTEX_DATA
-
-        #region int GLU_TESS_END_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_END_DATA 100108
-        public const int GLU_TESS_END_DATA = 100108;
-        #endregion int GLU_TESS_END_DATA
-
-        #region int GLU_TESS_ERROR_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR_DATA 100109
-        public const int GLU_TESS_ERROR_DATA = 100109;
-        #endregion int GLU_TESS_ERROR_DATA
-
-        #region int GLU_TESS_EDGE_FLAG_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_EDGE_FLAG_DATA 100110
-        public const int GLU_TESS_EDGE_FLAG_DATA = 100110;
-        #endregion int GLU_TESS_EDGE_FLAG_DATA
-
-        #region int GLU_TESS_COMBINE_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_COMBINE_DATA 100111
-        public const int GLU_TESS_COMBINE_DATA = 100111;
-        #endregion int GLU_TESS_COMBINE_DATA
-        #endregion TessCallback
-
-        #region TessError
-        #region int GLU_TESS_ERROR1
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR1 100151
-        public const int GLU_TESS_ERROR1 = 100151;
-        #endregion int GLU_TESS_ERROR1
-
-        #region int GLU_TESS_ERROR2
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR2 100152
-        public const int GLU_TESS_ERROR2 = 100152;
-        #endregion int GLU_TESS_ERROR2
-
-        #region int GLU_TESS_ERROR3
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR3 100153
-        public const int GLU_TESS_ERROR3 = 100153;
-        #endregion int GLU_TESS_ERROR3
-
-        #region int GLU_TESS_ERROR4
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR4 100154
-        public const int GLU_TESS_ERROR4 = 100154;
-        #endregion int GLU_TESS_ERROR4
-
-        #region int GLU_TESS_ERROR5
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR5 100155
-        public const int GLU_TESS_ERROR5 = 100155;
-        #endregion int GLU_TESS_ERROR5
-
-        #region int GLU_TESS_ERROR6
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR6 100156
-        public const int GLU_TESS_ERROR6 = 100156;
-        #endregion int GLU_TESS_ERROR6
-
-        #region int GLU_TESS_ERROR7
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR7 100157
-        public const int GLU_TESS_ERROR7 = 100157;
-        #endregion int GLU_TESS_ERROR7
-
-        #region int GLU_TESS_ERROR8
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_ERROR8 100158
-        public const int GLU_TESS_ERROR8 = 100158;
-        #endregion int GLU_TESS_ERROR8
-
-        #region int GLU_TESS_MISSING_BEGIN_POLYGON
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_MISSING_BEGIN_POLYGON GLU_TESS_ERROR1
-        public const int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
-        #endregion int GLU_TESS_MISSING_BEGIN_POLYGON
-
-        #region int GLU_TESS_MISSING_BEGIN_CONTOUR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_MISSING_BEGIN_CONTOUR GLU_TESS_ERROR2
-        public const int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
-        #endregion int GLU_TESS_MISSING_BEGIN_CONTOUR
-
-        #region int GLU_TESS_MISSING_END_POLYGON
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_MISSING_END_POLYGON GLU_TESS_ERROR3
-        public const int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
-        #endregion int GLU_TESS_MISSING_END_POLYGON
-
-        #region int GLU_TESS_MISSING_END_CONTOUR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_MISSING_END_CONTOUR GLU_TESS_ERROR4
-        public const int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
-        #endregion int GLU_TESS_MISSING_END_CONTOUR
-
-        #region int GLU_TESS_COORD_TOO_LARGE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_COORD_TOO_LARGE GLU_TESS_ERROR5
-        public const int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
-        #endregion int GLU_TESS_COORD_TOO_LARGE
-
-        #region int GLU_TESS_NEED_COMBINE_CALLBACK
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_TESS_NEED_COMBINE_CALLBACK GLU_TESS_ERROR6
-        public const int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
-        #endregion int GLU_TESS_NEED_COMBINE_CALLBACK
-        #endregion TessError
-
-        #region NurbsProperty
-        #region int GLU_AUTO_LOAD_MATRIX
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_AUTO_LOAD_MATRIX 100200
-        public const int GLU_AUTO_LOAD_MATRIX = 100200;
-        #endregion int GLU_AUTO_LOAD_MATRIX
-
-        #region int GLU_CULLING
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_CULLING 100201
-        public const int GLU_CULLING = 100201;
-        #endregion int GLU_CULLING
-
-        #region int GLU_PARAMETRIC_TOLERANCE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_PARAMETRIC_TOLERANCE 100202
-        public const int GLU_PARAMETRIC_TOLERANCE = 100202;
-        #endregion int GLU_PARAMETRIC_TOLERANCE
-
-        #region int GLU_SAMPLING_TOLERANCE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_SAMPLING_TOLERANCE 100203
-        public const int GLU_SAMPLING_TOLERANCE = 100203;
-        #endregion int GLU_SAMPLING_TOLERANCE
-
-        #region int GLU_DISPLAY_MODE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_DISPLAY_MODE 100204
-        public const int GLU_DISPLAY_MODE = 100204;
-        #endregion int GLU_DISPLAY_MODE
-
-        #region int GLU_SAMPLING_METHOD
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_SAMPLING_METHOD 100205
-        public const int GLU_SAMPLING_METHOD = 100205;
-        #endregion int GLU_SAMPLING_METHOD
-
-        #region int GLU_U_STEP
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_U_STEP 100206
-        public const int GLU_U_STEP = 100206;
-        #endregion int GLU_U_STEP
-
-        #region int GLU_V_STEP
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_V_STEP 100207
-        public const int GLU_V_STEP = 100207;
-        #endregion int GLU_V_STEP
-
-        #region int GLU_NURBS_MODE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_MODE 100160
-        public const int GLU_NURBS_MODE = 100160;
-        #endregion int GLU_NURBS_MODE
-
-        #region int GLU_NURBS_MODE_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_MODE_EXT 100160
-        public const int GLU_NURBS_MODE_EXT = 100160;
-        #endregion int GLU_NURBS_MODE_EXT
-
-        #region int GLU_NURBS_TESSELLATOR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_TESSELLATOR 100161
-        public const int GLU_NURBS_TESSELLATOR = 100161;
-        #endregion int GLU_NURBS_TESSELLATOR
-
-        #region int GLU_NURBS_TESSELLATOR_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_TESSELLATOR_EXT 100161
-        public const int GLU_NURBS_TESSELLATOR_EXT = 100161;
-        #endregion int GLU_NURBS_TESSELLATOR_EXT
-
-        #region int GLU_NURBS_RENDERER
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_RENDERER 100162
-        public const int GLU_NURBS_RENDERER = 100162;
-        #endregion int GLU_NURBS_RENDERER
-
-        #region int GLU_NURBS_RENDERER_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_RENDERER_EXT 100162
-        public const int GLU_NURBS_RENDERER_EXT = 100162;
-        #endregion int GLU_NURBS_RENDERER_EXT
-        #endregion NurbsProperty
-
-        #region NurbsSampling
-        #region int GLU_OBJECT_PARAMETRIC_ERROR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OBJECT_PARAMETRIC_ERROR 100208
-        public const int GLU_OBJECT_PARAMETRIC_ERROR = 100208;
-        #endregion int GLU_OBJECT_PARAMETRIC_ERROR
-
-        #region int GLU_OBJECT_PARAMETRIC_ERROR_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208
-        public const int GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208;
-        #endregion int GLU_OBJECT_PARAMETRIC_ERROR_EXT
-
-        #region int GLU_OBJECT_PATH_LENGTH
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OBJECT_PATH_LENGTH 100209
-        public const int GLU_OBJECT_PATH_LENGTH = 100209;
-        #endregion int GLU_OBJECT_PATH_LENGTH
-
-        #region int GLU_OBJECT_PATH_LENGTH_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OBJECT_PATH_LENGTH_EXT 100209
-        public const int GLU_OBJECT_PATH_LENGTH_EXT = 100209;
-        #endregion int GLU_OBJECT_PATH_LENGTH_EXT
-
-        #region int GLU_PATH_LENGTH
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_PATH_LENGTH 100215
-        public const int GLU_PATH_LENGTH = 100215;
-        #endregion int GLU_PATH_LENGTH
-
-        #region int GLU_PARAMETRIC_ERROR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_PARAMETRIC_ERROR 100216
-        public const int GLU_PARAMETRIC_ERROR = 100216;
-        #endregion int GLU_PARAMETRIC_ERROR
-
-        #region int GLU_DOMAIN_DISTANCE
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_DOMAIN_DISTANCE 100217
-        public const int GLU_DOMAIN_DISTANCE = 100217;
-        #endregion int GLU_DOMAIN_DISTANCE
-        #endregion NurbsSampling
-
-        #region NurbsTrim
-        #region int GLU_MAP1_TRIM_2
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_MAP1_TRIM_2 100210
-        public const int GLU_MAP1_TRIM_2 = 100210;
-        #endregion int GLU_MAP1_TRIM_2
-
-        #region int GLU_MAP1_TRIM_3
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_MAP1_TRIM_3 100211
-        public const int GLU_MAP1_TRIM_3 = 100211;
-        #endregion int GLU_MAP1_TRIM_3
-        #endregion NurbsTrim
-
-        #region NurbsDisplay
-        #region int GLU_OUTLINE_POLYGON
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OUTLINE_POLYGON 100240
-        public const int GLU_OUTLINE_POLYGON = 100240;
-        #endregion int GLU_OUTLINE_POLYGON
-
-        #region int GLU_OUTLINE_PATCH
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_OUTLINE_PATCH 100241
-        public const int GLU_OUTLINE_PATCH = 100241;
-        #endregion int GLU_OUTLINE_PATCH
-        #endregion NurbsDisplay
-
-        #region NurbsCallback
-        #region int GLU_NURBS_ERROR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR 100103
-        public const int GLU_NURBS_ERROR = 100103;
-        #endregion int GLU_NURBS_ERROR
-
-        #region int GLU_ERROR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_ERROR 100103
-        public const int GLU_ERROR = 100103;
-        #endregion int GLU_ERROR
-
-        #region int GLU_NURBS_BEGIN
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_BEGIN 100164
-        public const int GLU_NURBS_BEGIN = 100164;
-        #endregion int GLU_NURBS_BEGIN
-
-        #region int GLU_NURBS_BEGIN_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_BEGIN_EXT 100164
-        public const int GLU_NURBS_BEGIN_EXT = 100164;
-        #endregion int GLU_NURBS_BEGIN_EXT
-
-        #region int GLU_NURBS_VERTEX
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_VERTEX 100165
-        public const int GLU_NURBS_VERTEX = 100165;
-        #endregion int GLU_NURBS_VERTEX
-
-        #region int GLU_NURBS_VERTEX_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_VERTEX_EXT 100165
-        public const int GLU_NURBS_VERTEX_EXT = 100165;
-        #endregion int GLU_NURBS_VERTEX_EXT
-
-        #region int GLU_NURBS_NORMAL
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_NORMAL 100166
-        public const int GLU_NURBS_NORMAL = 100166;
-        #endregion int GLU_NURBS_NORMAL
-
-        #region int GLU_NURBS_NORMAL_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_NORMAL_EXT 100166
-        public const int GLU_NURBS_NORMAL_EXT = 100166;
-        #endregion int GLU_NURBS_NORMAL_EXT
-
-        #region int GLU_NURBS_COLOR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_COLOR 100167
-        public const int GLU_NURBS_COLOR = 100167;
-        #endregion int GLU_NURBS_COLOR
-
-        #region int GLU_NURBS_COLOR_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_COLOR_EXT 100167
-        public const int GLU_NURBS_COLOR_EXT = 100167;
-        #endregion int GLU_NURBS_COLOR_EXT
-
-        #region int GLU_NURBS_TEXTURE_COORD
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_TEXTURE_COORD 100168
-        public const int GLU_NURBS_TEXTURE_COORD = 100168;
-        #endregion int GLU_NURBS_TEXTURE_COORD
-
-        #region int GLU_NURBS_TEX_COORD_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_TEX_COORD_EXT 100168
-        public const int GLU_NURBS_TEX_COORD_EXT = 100168;
-        #endregion int GLU_NURBS_TEX_COORD_EXT
-
-        #region int GLU_NURBS_END
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_END 100169
-        public const int GLU_NURBS_END = 100169;
-        #endregion int GLU_NURBS_END
-
-        #region int GLU_NURBS_END_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_END_EXT 100169
-        public const int GLU_NURBS_END_EXT = 100169;
-        #endregion int GLU_NURBS_END_EXT
-
-        #region int GLU_NURBS_BEGIN_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_BEGIN_DATA 100170
-        public const int GLU_NURBS_BEGIN_DATA = 100170;
-        #endregion int GLU_NURBS_BEGIN_DATA
-
-        #region int GLU_NURBS_BEGIN_DATA_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_BEGIN_DATA_EXT 100170
-        public const int GLU_NURBS_BEGIN_DATA_EXT = 100170;
-        #endregion int GLU_NURBS_BEGIN_DATA_EXT
-
-        #region int GLU_NURBS_VERTEX_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_VERTEX_DATA 100171
-        public const int GLU_NURBS_VERTEX_DATA = 100171;
-        #endregion int GLU_NURBS_VERTEX_DATA
-
-        #region int GLU_NURBS_VERTEX_DATA_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_VERTEX_DATA_EXT 100171
-        public const int GLU_NURBS_VERTEX_DATA_EXT = 100171;
-        #endregion int GLU_NURBS_VERTEX_DATA_EXT
-
-        #region int GLU_NURBS_NORMAL_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_NORMAL_DATA 100172
-        public const int GLU_NURBS_NORMAL_DATA = 100172;
-        #endregion int GLU_NURBS_NORMAL_DATA
-
-        #region int GLU_NURBS_NORMAL_DATA_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_NORMAL_DATA_EXT 100172
-        public const int GLU_NURBS_NORMAL_DATA_EXT = 100172;
-        #endregion int GLU_NURBS_NORMAL_DATA_EXT
-
-        #region int GLU_NURBS_COLOR_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_COLOR_DATA 100173
-        public const int GLU_NURBS_COLOR_DATA = 100173;
-        #endregion int GLU_NURBS_COLOR_DATA
-
-        #region int GLU_NURBS_COLOR_DATA_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_COLOR_DATA_EXT 100173
-        public const int GLU_NURBS_COLOR_DATA_EXT = 100173;
-        #endregion int GLU_NURBS_COLOR_DATA_EXT
-
-        #region int GLU_NURBS_TEXTURE_COORD_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_TEXTURE_COORD_DATA 100174
-        public const int GLU_NURBS_TEXTURE_COORD_DATA = 100174;
-        #endregion int GLU_NURBS_TEXTURE_COORD_DATA
-
-        #region int GLU_NURBS_TEX_COORD_DATA_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_TEX_COORD_DATA_EXT 100174
-        public const int GLU_NURBS_TEX_COORD_DATA_EXT = 100174;
-        #endregion int GLU_NURBS_TEX_COORD_DATA_EXT
-
-        #region int GLU_NURBS_END_DATA
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_END_DATA 100175
-        public const int GLU_NURBS_END_DATA = 100175;
-        #endregion int GLU_NURBS_END_DATA
-
-        #region int GLU_NURBS_END_DATA_EXT
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_END_DATA_EXT 100175
-        public const int GLU_NURBS_END_DATA_EXT = 100175;
-        #endregion int GLU_NURBS_END_DATA_EXT
-        #endregion NurbsCallback
-
-        #region NurbsErrors
-        #region int GLU_NURBS_ERROR1
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR1 100251
-        public const int GLU_NURBS_ERROR1 = 100251;
-        #endregion int GLU_NURBS_ERROR1
-
-        #region int GLU_NURBS_ERROR2
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR2 100252
-        public const int GLU_NURBS_ERROR2 = 100252;
-        #endregion int GLU_NURBS_ERROR2
-
-        #region int GLU_NURBS_ERROR3
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR3 100253
-        public const int GLU_NURBS_ERROR3 = 100253;
-        #endregion int GLU_NURBS_ERROR3
-
-        #region int GLU_NURBS_ERROR4
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR4 100254
-        public const int GLU_NURBS_ERROR4 = 100254;
-        #endregion int GLU_NURBS_ERROR4
-
-        #region int GLU_NURBS_ERROR5
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR5 100255
-        public const int GLU_NURBS_ERROR5 = 100255;
-        #endregion int GLU_NURBS_ERROR5
-
-        #region int GLU_NURBS_ERROR6
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR6 100256
-        public const int GLU_NURBS_ERROR6 = 100256;
-        #endregion int GLU_NURBS_ERROR6
-
-        #region int GLU_NURBS_ERROR7
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR7 100257
-        public const int GLU_NURBS_ERROR7 = 100257;
-        #endregion int GLU_NURBS_ERROR7
-
-        #region int GLU_NURBS_ERROR8
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR8 100258
-        public const int GLU_NURBS_ERROR8 = 100258;
-        #endregion int GLU_NURBS_ERROR8
-
-        #region int GLU_NURBS_ERROR9
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR9 100259
-        public const int GLU_NURBS_ERROR9 = 100259;
-        #endregion int GLU_NURBS_ERROR9
-
-        #region int GLU_NURBS_ERROR10
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR10 100260
-        public const int GLU_NURBS_ERROR10 = 100260;
-        #endregion int GLU_NURBS_ERROR10
-
-        #region int GLU_NURBS_ERROR11
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR11 100261
-        public const int GLU_NURBS_ERROR11 = 100261;
-        #endregion int GLU_NURBS_ERROR11
-
-        #region int GLU_NURBS_ERROR12
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR12 100262
-        public const int GLU_NURBS_ERROR12 = 100262;
-        #endregion int GLU_NURBS_ERROR12
-
-        #region int GLU_NURBS_ERROR13
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR13 100263
-        public const int GLU_NURBS_ERROR13 = 100263;
-        #endregion int GLU_NURBS_ERROR13
-
-        #region int GLU_NURBS_ERROR14
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR14 100264
-        public const int GLU_NURBS_ERROR14 = 100264;
-        #endregion int GLU_NURBS_ERROR14
-
-        #region int GLU_NURBS_ERROR15
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR15 100265
-        public const int GLU_NURBS_ERROR15 = 100265;
-        #endregion int GLU_NURBS_ERROR15
-
-        #region int GLU_NURBS_ERROR16
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR16 100266
-        public const int GLU_NURBS_ERROR16 = 100266;
-        #endregion int GLU_NURBS_ERROR16
-
-        #region int GLU_NURBS_ERROR17
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR17 100267
-        public const int GLU_NURBS_ERROR17 = 100267;
-        #endregion int GLU_NURBS_ERROR17
-
-        #region int GLU_NURBS_ERROR18
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR18 100268
-        public const int GLU_NURBS_ERROR18 = 100268;
-        #endregion int GLU_NURBS_ERROR18
-
-        #region int GLU_NURBS_ERROR19
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR19 100269
-        public const int GLU_NURBS_ERROR19 = 100269;
-        #endregion int GLU_NURBS_ERROR19
-
-        #region int GLU_NURBS_ERROR20
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR20 100270
-        public const int GLU_NURBS_ERROR20 = 100270;
-        #endregion int GLU_NURBS_ERROR20
-
-        #region int GLU_NURBS_ERROR21
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR21 100271
-        public const int GLU_NURBS_ERROR21 = 100271;
-        #endregion int GLU_NURBS_ERROR21
-
-        #region int GLU_NURBS_ERROR22
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR22 100272
-        public const int GLU_NURBS_ERROR22 = 100272;
-        #endregion int GLU_NURBS_ERROR22
-
-        #region int GLU_NURBS_ERROR23
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR23 100273
-        public const int GLU_NURBS_ERROR23 = 100273;
-        #endregion int GLU_NURBS_ERROR23
-
-        #region int GLU_NURBS_ERROR24
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR24 100274
-        public const int GLU_NURBS_ERROR24 = 100274;
-        #endregion int GLU_NURBS_ERROR24
-
-        #region int GLU_NURBS_ERROR25
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR25 100275
-        public const int GLU_NURBS_ERROR25 = 100275;
-        #endregion int GLU_NURBS_ERROR25
-
-        #region int GLU_NURBS_ERROR26
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR26 100276
-        public const int GLU_NURBS_ERROR26 = 100276;
-        #endregion int GLU_NURBS_ERROR26
-
-        #region int GLU_NURBS_ERROR27
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR27 100277
-        public const int GLU_NURBS_ERROR27 = 100277;
-        #endregion int GLU_NURBS_ERROR27
-
-        #region int GLU_NURBS_ERROR28
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR28 100278
-        public const int GLU_NURBS_ERROR28 = 100278;
-        #endregion int GLU_NURBS_ERROR28
-
-        #region int GLU_NURBS_ERROR29
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR29 100279
-        public const int GLU_NURBS_ERROR29 = 100279;
-        #endregion int GLU_NURBS_ERROR29
-
-        #region int GLU_NURBS_ERROR30
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR30 100280
-        public const int GLU_NURBS_ERROR30 = 100280;
-        #endregion int GLU_NURBS_ERROR30
-
-        #region int GLU_NURBS_ERROR31
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR31 100281
-        public const int GLU_NURBS_ERROR31 = 100281;
-        #endregion int GLU_NURBS_ERROR31
-
-        #region int GLU_NURBS_ERROR32
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR32 100282
-        public const int GLU_NURBS_ERROR32 = 100282;
-        #endregion int GLU_NURBS_ERROR32
-
-        #region int GLU_NURBS_ERROR33
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR33 100283
-        public const int GLU_NURBS_ERROR33 = 100283;
-        #endregion int GLU_NURBS_ERROR33
-
-        #region int GLU_NURBS_ERROR34
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR34 100284
-        public const int GLU_NURBS_ERROR34 = 100284;
-        #endregion int GLU_NURBS_ERROR34
-
-        #region int GLU_NURBS_ERROR35
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR35 100285
-        public const int GLU_NURBS_ERROR35 = 100285;
-        #endregion int GLU_NURBS_ERROR35
-
-        #region int GLU_NURBS_ERROR36
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR36 100286
-        public const int GLU_NURBS_ERROR36 = 100286;
-        #endregion int GLU_NURBS_ERROR36
-
-        #region int GLU_NURBS_ERROR37
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_NURBS_ERROR37 100287
-        public const int GLU_NURBS_ERROR37 = 100287;
-        #endregion int GLU_NURBS_ERROR37
-        #endregion NurbsErrors
-
-        #region Contours types
-        #region int GLU_CW
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_CW 100120
-        public const int GLU_CW = 100120;
-        #endregion int GLU_CW
-
-        #region int GLU_CCW
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_CCW 100121
-        public const int GLU_CCW = 100121;
-        #endregion int GLU_CCW
-
-        #region int GLU_INTERIOR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_INTERIOR 100122
-        public const int GLU_INTERIOR = 100122;
-        #endregion int GLU_INTERIOR
-
-        #region int GLU_EXTERIOR
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_EXTERIOR 100123
-        public const int GLU_EXTERIOR = 100123;
-        #endregion int GLU_EXTERIOR
-
-        #region int GLU_UNKNOWN
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_UNKNOWN 100124
-        public const int GLU_UNKNOWN = 100124;
-        #endregion int GLU_UNKNOWN
-        #endregion Contours types
-
-        #region Extensions
-        #region int GLU_EXT_object_space_tess
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_EXT_object_space_tess 1
-        public const int GLU_EXT_object_space_tess = 1;
-        #endregion int GLU_EXT_object_space_tess
-
-        #region int GLU_EXT_nurbs_tessellator
-        /// <summary>
-        ///     Unknown.  Unable to locate definitive documentation on this constant.
-        /// </summary>
-        // #define GLU_EXT_nurbs_tessellator 1
-        public const int GLU_EXT_nurbs_tessellator = 1;
-        #endregion int GLU_EXT_nurbs_tessellator
-        #endregion Extensions
-        #endregion Public Constants
-
-        #region Public Structs
-        #region GLUnurbs
-        /// <summary>
-        ///     Defines a GLU NURBS object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUnurbs
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUnurbs
-
-        #region GLUquadric
-        /// <summary>
-        ///     Defines a GLU quadric object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUquadric
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUquadric
-
-        #region GLUtesselator
-        /// <summary>
-        ///     Defines a GLU tesselator object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUtesselator
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUtesselator
-
-        #region GLUnurbsObj
-        /// <summary>
-        ///     Defines a GLU NURBS object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUnurbsObj
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUnurbsObj
-
-        #region GLUquadricObj
-        /// <summary>
-        ///     Defines a GLU quadric object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUquadricObj
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUquadricObj
-
-        #region GLUtesselatorObj
-        /// <summary>
-        ///     Defines a GLU tesselator object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUtesselatorObj
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUtesselatorObj
-
-        #region GLUtriangulatorObj
-        /// <summary>
-        ///     Defines a GLU triangulator object.
-        /// </summary>
-        [StructLayout(LayoutKind.Sequential)]
-        public struct GLUtriangulatorObj
-        {
-            /// <summary>
-            ///     Keeps the struct from being garbage collected prematurely.
-            /// </summary>
-            private IntPtr Data;
-        }
-        #endregion GLUtriangulatorObj
-        #endregion Public Structs
-
-        #region Private Fields
-        // These fields hold references to any callbacks used so as to prevent the garbage
-        // collector from sweeping the delegates even though the application may not be done
-        // with them.
-        private static NurbsBeginCallback nurbsBeginCallback;
-        private static NurbsBeginDataCallback nurbsBeginDataCallback;
-        private static NurbsColorCallback nurbsColorCallback;
-        private static NurbsColorDataCallback nurbsColorDataCallback;
-        private static NurbsEndCallback nurbsEndCallback;
-        private static NurbsEndDataCallback nurbsEndDataCallback;
-        private static NurbsErrorCallback nurbsErrorCallback;
-        private static NurbsNormalCallback nurbsNormalCallback;
-        private static NurbsNormalDataCallback nurbsNormalDataCallback;
-        private static NurbsTexCoordCallback nurbsTexCoordCallback;
-        private static NurbsTexCoordDataCallback nurbsTexCoordDataCallback;
-        private static NurbsVertexCallback nurbsVertexCallback;
-        private static NurbsVertexDataCallback nurbsVertexDataCallback;
-        private static QuadricErrorCallback quadricErrorCallback;
-        private static TessBeginCallback tessBeginCallback;
-        private static TessBeginDataCallback tessBeginDataCallback;
-        private static TessCombineCallback tessCombineCallback;
-        private static TessCombineCallback1 tessCombineCallback1;
-        private static TessCombineDataCallback tessCombineDataCallback;
-        private static TessEdgeFlagCallback tessEdgeFlagCallback;
-        private static TessEdgeFlagDataCallback tessEdgeFlagDataCallback;
-        private static TessEndCallback tessEndCallback;
-        private static TessEndDataCallback tessEndDataCallback;
-        private static TessErrorCallback tessErrorCallback;
-        private static TessErrorDataCallback tessErrorDataCallback;
-        private static TessVertexCallback tessVertexCallback;
-        private static TessVertexCallback1 tessVertexCallback1;
-        private static TessVertexDataCallback tessVertexDataCallback;
-        #endregion Private Fields
-
-        // --- Public Delegates ---
-        #region NurbsBeginCallback(int type)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void begin(GLenum type);
-        public delegate void NurbsBeginCallback(int type);
-        #endregion NurbsBeginCallback(int type)
-
-        #region NurbsBeginDataCallback(int type, [In] IntPtr[] userData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void beginData(GLenum type, void *userData);
-        public delegate void NurbsBeginDataCallback(int type, [In] IntPtr[] userData);
-        #endregion NurbsBeginDataCallback(int type, [In] IntPtr[] userData)
-
-        #region NurbsColorCallback([In] float[] colorData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void color(GLfloat *color);
-        public delegate void NurbsColorCallback([In] float[] colorData);
-        #endregion NurbsColorCallback([In] float[] colorData)
-
-        #region NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void colorData(GLfloat *color, void *userData);
-        public delegate void NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData);
-        #endregion NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData)
-
-        #region NurbsEndCallback()
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void end(void);
-        public delegate void NurbsEndCallback();
-        #endregion NurbsEndCallback()
-
-        #region NurbsEndDataCallback([In] IntPtr[] userData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void endData(void *userData);
-        public delegate void NurbsEndDataCallback([In] IntPtr[] userData);
-        #endregion NurbsEndDataCallback([In] IntPtr[] userData)
-
-        #region NurbsErrorCallback(int type)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // typedef void (CALLBACK* GLUnurbsErrorProc) (GLenum);
-        public delegate void NurbsErrorCallback(int type);
-        #endregion NurbsErrorCallback(int type)
-
-        #region NurbsNormalCallback([In] float[] normalData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void normal(GLfloat *normal);
-        public delegate void NurbsNormalCallback([In] float[] normalData);
-        #endregion NurbsNormalCallback([In] float[] normalData)
-
-        #region NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void normalData(GLfloat *normal, void *userData);
-        public delegate void NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData);
-        #endregion NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData)
-
-        #region NurbsTexCoordCallback([In] float[] texCoord)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void texCoord(GLfloat *tex coord);
-        public delegate void NurbsTexCoordCallback([In] float[] texCoord);
-        #endregion NurbsTexCoordCallback([In] float[] texCoord)
-
-        #region NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void texCoordData(GLfloat *tex coord, void *userData);
-        public delegate void NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData);
-        #endregion NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData)
-
-        #region NurbsVertexCallback([In] float[] vertexData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void vertex(GLfloat *vertex);
-        public delegate void NurbsVertexCallback([In] float[] vertexData);
-        #endregion NurbsVertexCallback([In] float[] vertexData)
-
-        #region NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void vertexData(GLfloat *vertex, void *userData);
-        public delegate void NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData);
-        #endregion NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData)
-
-        #region QuadricErrorCallback(int errorCode)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluQuadricCallback" />.
-        /// </summary>
-        /// <seealso cref="gluQuadricCallback" />
-        // typedef void (CALLBACK* GLUquadricErrorProc) (GLenum);
-        public delegate void QuadricErrorCallback(int errorCode);
-        #endregion QuadricErrorCallback(int errorCode)
-
-        #region TessBeginCallback(int type)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessBeginProc) (GLenum);
-        public delegate void TessBeginCallback(int type);
-        #endregion TessBeginCallback(int type)
-
-        #region TessBeginDataCallback(int type, [In] IntPtr polygonData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessBeginDataProc) (GLenum, void *);
-        public delegate void TessBeginDataCallback(int type, [In] IntPtr polygonData);
-        #endregion TessBeginDataCallback(int type, [In] IntPtr polygonData)
-
-        #region TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3], void*[4], GLfloat[4], void**);
-        public delegate void TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData);
-        #endregion TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData)
-
-        #region TessCombineCallback1([In] double[] coordinates, [In] double[][] vertexData, [In] float[] weight, [Out] double[] outData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3], void*[4], GLfloat[4], void**);
-        public delegate void TessCombineCallback1([MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] [In] double[] coordinates, [MarshalAs(UnmanagedType.LPArray, SizeConst = 4)] [In] double[] vertexData, [MarshalAs(UnmanagedType.LPArray, SizeConst = 4)] [In] float[] weight, [Out] double[] outData);
-        #endregion TessCombineCallback1([In] double[] coordinates, [In] double[][] vertexData, [In] float[] weight, [Out] double[] outData)
-
-        #region TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessCombineDataProc) (GLdouble[3], void*[4], GLfloat[4], void**, void*);
-        public delegate void TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData);
-        #endregion TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData)
-
-        #region TessEdgeFlagCallback(int flag)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessEdgeFlagProc) (GLboolean);
-        public delegate void TessEdgeFlagCallback(int flag);
-        #endregion TessEdgeFlagCallback(int flag)
-
-        #region TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessEdgeFlagDataProc) (GLboolean, void *);
-        public delegate void TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData);
-        #endregion TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData)
-
-        #region TessEndCallback()
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessEndProc) (void);
-        public delegate void TessEndCallback();
-        #endregion TessEndCallback()
-
-        #region TessEndDataCallback([In] IntPtr polygonData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessEndDataProc) (void *);
-        public delegate void TessEndDataCallback(IntPtr polygonData);
-        #endregion TessEndDataCallback(IntPtr polygonData)
-
-        #region TessErrorCallback(int errorCode)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessErrorProc) (GLenum);
-        public delegate void TessErrorCallback(int errorCode);
-        #endregion TessErrorCallback(int errorCode)
-
-        #region TessErrorDataCallback(int errorCode, [In] IntPtr polygonData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessErrorDataProc) (GLenum, void *);
-        public delegate void TessErrorDataCallback(int errorCode, [In] IntPtr polygonData);
-        #endregion TessErrorDataCallback(int errorCode, [In] IntPtr polygonData)
-
-        #region TessVertexCallback([In] IntPtr vertexData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessVertexProc) (void *);
-        public delegate void TessVertexCallback([In] IntPtr vertexData);
-        #endregion TessVertexCallback([In] IntPtr vertexData)
-
-        #region TessVertexCallback1([In] double[] vertexData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessVertexProc) (void *);
-        public delegate void TessVertexCallback1([In] double[] vertexData);
-        #endregion TessVertexCallback1([In] double[] vertexData)
-
-        #region TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData)
-        /// <summary>
-        ///     Callback (delegate) for use with <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // typedef void (CALLBACK* GLUtessVertexDataProc) (void *, void *);
-        public delegate void TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData);
-        #endregion TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData)
-
-        // --- Private Externs ---
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func)
-
-        #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func);
-        #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func)
-
-        #region __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluQuadricCallback" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluQuadricCallback(GLUquadric *qobj, GLenum which, void (CALLBACK* fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluQuadricCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func);
-        #endregion __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func)
-
-        #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func)
-        /// <summary>
-        ///     Called from <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />.
-        /// </summary>
-        /// <remarks>
-        ///     <b>This method is not CLS-compliant due to naming conventions.</b>
-        /// </remarks>
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity]
-        private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func);
-        #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func)
-
-        // --- Public Externs ---
-        #region gluBeginCurve([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluBeginCurve</b> to mark the beginning of a NURBS curve definition.
-        ///         After calling <b>gluBeginCurve</b>, make one or more calls to
-        ///         <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> to define the attributes of the curve.  Exactly
-        ///         one of the calls to <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> must have a curve type of
-        ///         <see cref="Gl.GL_MAP1_VERTEX_3" /> or <see cref="Gl.GL_MAP1_VERTEX_4" />.  To
-        ///         mark the end of the NURBS curve definition, call <see cref="gluEndCurve" />.
-        ///     </para>
-        ///     <para>
-        ///         OpenGL evaluators are used to render the NURBS curve as a series of line
-        ///         segments.  Evaluator state is preserved during rendering with
-        ///         <c>Gl.glPushAttrib(Gl.GL_EVAL_BIT)</c> and <c>Gl.glPopAttrib</c>.  For
-        ///         information on exactly what state these calls preserve, see
-        ///         <see cref="Gl.glPushAttrib" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following commands render a textured NURBS curve with normals; texture
-        ///         coordinates and normals are also specified as NURBS curves:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginCurve(nobj);
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL);
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4);
-        ///             Glu.gluEndCurve(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glPopAttrib" />
-        /// <seealso cref="Gl.glPushAttrib" />
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        // void APIENTRY gluBeginCurve(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluBeginCurve([In] GLUnurbs nurb);
-        #endregion gluBeginCurve([In] GLUnurbs nurb)
-
-        #region gluBeginPolygon([In] GLUtesselator tess)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBeginPolygon</b> delimits the definition of a nonconvex polygon.  To
-        ///         define such a polygon, first call <b>gluBeginPolygon</b>.  Then define the
-        ///         contours of the polygon by calling <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> for each
-        ///         vertex and <see cref="gluNextContour" /> to start each new contour.  Finally,
-        ///         call <see cref="gluEndPolygon" /> to signal the end of the definition.  See
-        ///         the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> and <see cref="gluNextContour" /> reference
-        ///         pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluEndPolygon" /> is called, the polygon is tessellated, and
-        ///         the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         This command is obsolete and is provided for backward compatibility only.
-        ///         Calls to <b>gluBeginPolygon</b> are mapped to
-        ///         <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> followed by
-        ///         <see cref="gluTessBeginContour" />.  Calls to <see cref="gluEndPolygon" />
-        ///         are mapped to <see cref="gluTessEndContour" /> followed by
-        ///         <see cref="gluTessEndPolygon" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         A quadrilateral with a triangular hole in it can be described like this:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginPolygon(tobj);
-        ///                 Glu.gluTessVertex(tobj, v1, v1);
-        ///                 Glu.gluTessVertex(tobj, v2, v2);
-        ///                 Glu.gluTessVertex(tobj, v3, v3);
-        ///                 Glu.gluTessVertex(tobj, v4, v4);
-        ///             Glu.gluNextContour(tobj, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessVertex(tobj, v5, v5);
-        ///                 Glu.gluTessVertex(tobj, v6, v6);
-        ///                 Glu.gluTessVertex(tobj, v7, v7);
-        ///             Glu.gluEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluNextContour" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluBeginPolygon(GLUtesselator *tess);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluBeginPolygon([In] GLUtesselator tess);
-        #endregion gluBeginPolygon([In] GLUtesselator tess)
-
-        #region gluBeginSurface([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Delimits a NURBS surface definition.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluBeginSurface</b> to mark the beginning of a NURBS surface
-        ///         definition.  After calling <b>gluBeginSurface</b>, make one or more calls to
-        ///         <see cref="gluNurbsSurface(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int, float[], int, int, int)" /> to define the attributes of the surface.
-        ///         Exactly one of these calls to <see cref="gluNurbsSurface(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int, float[], int, int, int)" /> must have a
-        ///         surface type of <see cref="Gl.GL_MAP2_VERTEX_3" /> or
-        ///         <see cref="Gl.GL_MAP2_VERTEX_4" />.  To mark the end of the NURBS surface
-        ///         definition, call <see cref="gluEndSurface" />.
-        ///     </para>
-        ///     <para>
-        ///         Trimming of NURBS surfaces is supported with <see cref="gluBeginTrim" />,
-        ///         <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />, <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />, and
-        ///         <see cref="gluEndTrim" />.  See the <see cref="gluBeginTrim" /> reference
-        ///         page for details. 
-        ///     </para>
-        ///     <para>
-        ///         OpenGL evaluators are used to render the NURBS surface as a set of polygons.
-        ///         Evaluator state is preserved during rendering with
-        ///         <c>Gl.glPushAttrib(Gl.GL_EVAL_BIT)</c> and <c>Gl.glPopAttrib()</c>.  See the
-        ///         <see cref="Gl.glPushAttrib" /> reference page for details on exactly what
-        ///         state these calls preserve.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following commands render a textured NURBS surface with normals; the
-        ///         texture coordinates and normals are also described as NURBS surfaces:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginSurface(nobj);
-        ///                 Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL);
-        ///                 Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4);
-        ///             Glu.gluEndSurface(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <see cref="gluNurbsSurface(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int, float[], int, int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluBeginSurface(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluBeginSurface([In] GLUnurbs nurb);
-        #endregion gluBeginSurface([In] GLUnurbs nurb)
-
-        #region gluBeginTrim([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Delimits a NURBS trimming loop definition.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />). 
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluBeginTrim</b> to mark the beginning of a trimming loop, and
-        ///         <see cref="gluEndTrim" /> to mark the end of a trimming loop.  A trimming
-        ///         loop is a set of oriented curve segments (forming a closed curve) that define
-        ///         boundaries of a NURBS surface.  You include these trimming loops in the
-        ///         definition of a NURBS surface, between calls to
-        ///         <see cref="gluBeginSurface" /> and <see cref="gluEndSurface" />.
-        ///     </para>
-        ///     <para>
-        ///         The definition for a NURBS surface can contain many trimming loops.  For
-        ///         example, if you wrote a definition for a NURBS surface that resembled a
-        ///         rectangle with a hole punched out, the definition would contain two trimming
-        ///         loops.  One loop would define the outer edge of the rectangle; the other
-        ///         would define the hole punched out of the rectangle.  The definitions of each
-        ///         of these trimming loops would be bracketed by a <b>gluBeginTrim</b> and
-        ///         <see cref="gluEndTrim" /> pair.
-        ///     </para>
-        ///     <para>
-        ///         The definition of a single closed trimming loop can consist of multiple curve
-        ///         segments, each described as a piecewise linear curve (see
-        ///         <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />) or as a single NURBS curve (see
-        ///         <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />), or as a combination of both in any order.  The
-        ///         only library calls that can appear in a trimming loop definition (between the
-        ///         calls to <b>gluBeginTrim</b> and <see cref="gluEndTrim" />) are
-        ///         <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" /> and <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />.
-        ///     </para>
-        ///     <para>
-        ///         The area of the NURBS surface that is displayed is the region in the domain
-        ///         to the left of the trimming curve as the curve parameter increases.  Thus,
-        ///         the retained region of the NURBS surface is inside a counterclockwise
-        ///         trimming loop and outside a clockwise trimming loop.  For the rectangle
-        ///         mentioned earlier, the trimming loop for the outer edge of the rectangle runs
-        ///         counterclockwise, while the trimming loop for the punched-out hole runs
-        ///         clockwise.
-        ///     </para>
-        ///     <para>
-        ///         If you use more than one curve to define a single trimming loop, the curve
-        ///         segments must form a closed loop (that is, the endpoint of each curve must be
-        ///         the starting point of the next curve, and the endpoint of the final curve
-        ///         must be the starting point of the first curve).  If the endpoints of the
-        ///         curve are sufficiently close together but not exactly coincident, they will
-        ///         be coerced to match.  If the endpoints are not sufficiently close, an error
-        ///         results (see <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         If a trimming loop definition contains multiple curves, the direction of the
-        ///         curves must be consistent (that is, the inside must be to the left of all of
-        ///         the curves).  Nested trimming loops are legal as long as the curve
-        ///         orientations alternate correctly.  If trimming curves are self-intersecting,
-        ///         or intersect one another, an error results.
-        ///     </para>
-        ///     <para>
-        ///         If no trimming information is given for a NURBS surface, the entire surface
-        ///         is drawn.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         This code fragment defines a trimming loop that consists of one piecewise
-        ///         linear curve, and two NURBS curves:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginTrim(nobj);
-        ///                 Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2);
-        ///                 Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2);
-        ///                 Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3);
-        ///             Glu.gluEndTrim(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluEndSurface" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluBeginTrim(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluBeginTrim([In] GLUnurbs nurb);
-        #endregion gluBeginTrim([In] GLUnurbs nurb)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetTexLevelParameterfv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetTexLevelParameterfv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetTexLevelParameterfv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetTexLevelParameterfv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetTexLevelParameterfv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetTexLevelParameterfv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[, ,] data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , , ] data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data)
-
-        #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void *data)
-        /// <summary>
-        ///     Builds a subset of one-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     or 4 or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" /> or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width in pixels of the texture image.  This should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for data.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> builds a subset of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating data in half until size 1×1 is reached.  At each level, each texel
-        ///         in the halved mipmap level is an average of the corresponding two texels in
-        ///         the larger mipmap level.  <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load
-        ///         these mipmap levels from <i>min</i> to <i>max</i>.  If <i>max</i> is larger
-        ///         than the highest mipmap level for the texture of the specified size, then a
-        ///         GLU error code is returned (see <see cref="gluErrorString" />) and nothing is
-        ///         loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, the following
-        ///         levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1.  These correspond to levels 2
-        ///         through 6 respectively.  If <i>min</i> is 3 and <i>max</i> is 5, then only
-        ///         mipmap levels 8×1, 4×1 and 2×1 are loaded.  However, if <i>max</i> is 7 then
-        ///         an error is returned and nothing is loaded since <i>max</i> is larger than
-        ///         the highest mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2((width)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>level</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild1DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> are not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void* data);
-        #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void *data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[, ,] data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , , ] data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data)
-
-        #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void *data)
-        /// <summary>
-        ///     Builds a one-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_1D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" />, or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild1DMipmaps</b> builds a series of prefiltered one-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> of <i>data</i> is checked to see if it is a power
-        ///         of 2.  If not, a copy of <i>data</i> is scaled up or down to the nearest
-        ///         power of 2.  (If <i>width</i> is exactly between powers of 2, then the copy
-        ///         of <i>data</i> will scale upwards.)  This copy will be used for subsequent
-        ///         mipmapping operations described below.  For example, if <i>width</i> is 57
-        ///         then a copy of <i>data</i> will scale up to 64 before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, width
-        ///         is continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half until size 1×1 is reached.  At each level, each texel in the halved
-        ///         mipmap level is an average of the corresponding two texels in the larger
-        ///         mipmap level.
-        ///     </para>
-        ///     <para>
-        ///         <b>glTexImage1D</b> is called to load each of these mipmap levels.  Level 0
-        ///         is a copy of <i>data</i>.  The highest level is <c>log2(width)</c>.  For
-        ///         example, if <i>width</i> is 64 and the implementation can store a texture of
-        ///         this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1,
-        ///         2×1 and 1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>type</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for the <i>data</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Note that there is no direct way of querying the maximum level.  This can be
-        ///         derived indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First,
-        ///         query for the width actually used at level 0.  (The width may not be equal to
-        ///         <i>width</i> since proxy textures might have scaled it to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(width)</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater, and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i> or <i>type</i>
-        ///         are not legal. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void* data);
-        #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void *data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[, ,] data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , , ] data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data)
-
-        #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void *data)
-        /// <summary>
-        ///     Builds a subset of two-dimensional mipmap levels.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies the width, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height, in pixels, of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> builds a subset of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///         decimating <i>data</i> in half along both dimensions until size 1×1 is
-        ///         reached.  At each level, each texel in the halved mipmap level is an average
-        ///         of the corresponding four texels in the larger mipmap level.  (In the case of
-        ///         rectangular images, the decimation will ultimately reach an N×1 or 1×N
-        ///         configuration.  Here, two texels are averaged instead.)
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load these mipmap levels from
-        ///         <i>min</i> to <i>max</i>.  If <i>max</i> is larger than the highest mipmap
-        ///         level for the texture of the specified size, then a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16 and <i>height</i> is
-        ///         8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1.  These
-        ///         correspond to levels 2 through 6 respectively.  If <i>min</i> is 3 and
-        ///         <i>max</i> is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded.
-        ///         However, if <i>max</i> is 7 then an error is returned and nothing is loaded
-        ///         since <i>max</i> is larger than the highest mipmap level which is, in this
-        ///         case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild2DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />. 
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void* data);
-        #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void *data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[, ,] data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , , ] data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data)
-
-        #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void *data)
-        /// <summary>
-        ///     Builds a two-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_2D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />,
-        ///     <see cref="Gl.GL_INTENSITY" />, <see cref="Gl.GL_INTENSITY4" />,
-        ///     <see cref="Gl.GL_INTENSITY8" />, <see cref="Gl.GL_INTENSITY12" />,
-        ///     <see cref="Gl.GL_INTENSITY16" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_R3_G3_B2" />, <see cref="Gl.GL_RGB4" />,
-        ///     <see cref="Gl.GL_RGB5" />, <see cref="Gl.GL_RGB8" />,
-        ///     <see cref="Gl.GL_RGB10" />, <see cref="Gl.GL_RGB12" />,
-        ///     <see cref="Gl.GL_RGB16" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_RGBA2" />, <see cref="Gl.GL_RGBA4" />,
-        ///     <see cref="Gl.GL_RGB5_A1" />, <see cref="Gl.GL_RGBA8" />,
-        ///     <see cref="Gl.GL_RGB10_A2" />, <see cref="Gl.GL_RGBA12" /> or
-        ///     <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild2DMipmaps</b> builds a series of prefiltered two-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for
-        ///         the antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i> and <i>height</i> of <i>data</i> are checked to
-        ///         see if they are a power of 2.  If not, a copy of <i>data</i> (not <i>data</i>
-        ///         itself), is scaled up or down to the nearest power of 2.  This copy will be
-        ///         used for subsequent mipmapping operations described below.  (If <i>width</i>
-        ///         or <i>height</i> is exactly between powers of 2, then the copy of <i>data</i>
-        ///         will scale upwards.)  For example, if <i>width</i> is 57 and <i>height</i> is
-        ///         23 then a copy of <i>data</i> will scale up to 64 in <i>width</i> and down to
-        ///         16 in depth, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, both
-        ///         dimensions are continually halved until it fits.  (If the OpenGL version is
-        ///         &lt;= 1.0, both maximum texture dimensions are clamped to the value returned
-        ///         by <see cref="Gl.glGetIntegerv(int, IntPtr)" /> with the argument
-        ///         <see cref="Gl.GL_MAX_TEXTURE_SIZE" />.)
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along both dimensions until size 1×1 is reached.  At each level, each
-        ///         texel in the halved mipmap level is an average of the corresponding four
-        ///         texels in the larger mipmap level.  (In the case of rectangular images, the
-        ///         decimation will ultimately reach an N×1 or 1×N configuration.  Here, two
-        ///         texels are averaged instead.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height))</c>.  For example, if <i>width</i> is 64 and
-        ///         <i>height</i> is 16 and the implementation can store a texture of this size,
-        ///         the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and
-        ///         1×1.  These correspond to levels 0 through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width and height actually used at level 0.  (The width and height may not
-        ///         be equal to <i>width</i> and <i>height</i> respectively since proxy textures
-        ///         might have scaled them to fit the implementation.)  Then the maximum level
-        ///         can be derived from the formula <c>log2(max(width,height))</c>.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater and if the GLU version is 1.3 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i> or <i>height</i>
-        ///         is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void* data);
-        #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void *data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[, ,] data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , , ] data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data)
-
-        #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void *data)
-        /// <summary>
-        ///     Builds a subset of three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth of the texture image.  Should be a power of 2.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="level">
-        ///     Specifies the mipmap level of the image data.
-        /// </param>
-        /// <param name="min">
-        ///     Specifies the minimum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="max">
-        ///     Specifies the maximum mipmap level to pass to <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> builds a subset of prefiltered
-        ///         three-dimensional texture maps of decreasing resolutions called a mipmap.
-        ///         This is used for the antialiasing of texture mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///          A series of mipmap levels from <i>min</i> to <i>max</i> is built by
-        ///          decimating <i>data</i> in half along both dimensions until size 1×1×1 is
-        ///          reached.  At each level, each texel in the halved mipmap level is an average
-        ///          of the corresponding eight texels in the larger mipmap level.  (If exactly
-        ///          one of the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///          dimensions are 1, two texels are averaged.)  <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        ///          is called to load these mipmap levels from <i>min</i> to <i>max</i>.  If
-        ///          <i>max</i> is larger than the highest mipmap level for the texture of the
-        ///          specified size, then a GLU error code is returned (see
-        ///          <see cref="gluErrorString" />) and nothing is loaded.
-        ///     </para>
-        ///     <para>
-        ///         For example, if <i>level</i> is 2 and <i>width</i> is 16, <i>height</i> is 8
-        ///         and <i>depth</i> is 4, the following levels are possible: 16×8×4, 8×4×2,
-        ///         4×2×1, 2×1×1, 1×1×1.  These correspond to levels 2 through 6 respectively.
-        ///         If <i>min</i> is 3 and <i>max</i> is 5, then only mipmap levels 8×4×2,
-        ///         4×2×1 and 2×1×1 are loaded.  However, if <i>max</i> is 7 then an error is
-        ///         returned and nothing is loaded since <i>max</i> is larger than the highest
-        ///         mipmap level which is, in this case, 6.
-        ///     </para>
-        ///     <para>
-        ///         The highest mipmap level can be derived from the formula
-        ///         <c>log2(max(width,height,depth)*(2^level))</c>.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmapLevels</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>level</i> &gt; <i>min</i>,
-        ///         <i>min</i> &lt; 0, <i>max</i> &lt; <i>min</i> or <i>max</i> is &gt; the
-        ///         highest mipmap level for <i>data</i>.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void* data);
-        #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void *data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[, ,] data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , , ] data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data)
-
-        #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void *data)
-        /// <summary>
-        ///     Builds a three-dimensional mipmap.
-        /// </summary>
-        /// <param name="target">
-        ///     Specifies the target texture.  Must be <see cref="Gl.GL_TEXTURE_3D" />.
-        /// </param>
-        /// <param name="internalFormat">
-        ///     Requests the internal storage format of the texture image.  Must be 1, 2, 3,
-        ///     4, or one of the following symbolic constants: <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_ALPHA4" />, <see cref="Gl.GL_ALPHA8" />,
-        ///     <see cref="Gl.GL_ALPHA12" />, <see cref="Gl.GL_ALPHA16" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, <see cref="Gl.GL_LUMINANCE4" />,
-        ///     <see cref="Gl.GL_LUMINANCE8" />, <see cref="Gl.GL_LUMINANCE12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16" />, <see cref="Gl.GL_LUMINANCE_ALPHA" />,
-        ///     <see cref="Gl.GL_LUMINANCE4_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE6_ALPHA2" />,
-        ///     <see cref="Gl.GL_LUMINANCE8_ALPHA8" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA4" />,
-        ///     <see cref="Gl.GL_LUMINANCE12_ALPHA12" />,
-        ///     <see cref="Gl.GL_LUMINANCE16_ALPHA16" />, <see cref="Gl.GL_INTENSITY" />,
-        ///     <see cref="Gl.GL_INTENSITY4" />, <see cref="Gl.GL_INTENSITY8" />,
-        ///     <see cref="Gl.GL_INTENSITY12" />, <see cref="Gl.GL_INTENSITY16" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_R3_G3_B2" />,
-        ///     <see cref="Gl.GL_RGB4" />, <see cref="Gl.GL_RGB5" />,
-        ///     <see cref="Gl.GL_RGB8" />, <see cref="Gl.GL_RGB10" />,
-        ///     <see cref="Gl.GL_RGB12" />, <see cref="Gl.GL_RGB16" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_RGBA2" />,
-        ///     <see cref="Gl.GL_RGBA4" />, <see cref="Gl.GL_RGB5_A1" />,
-        ///     <see cref="Gl.GL_RGBA8" />, <see cref="Gl.GL_RGB10_A2" />,
-        ///     <see cref="Gl.GL_RGBA12" />, or <see cref="Gl.GL_RGBA16" />.
-        /// </param>
-        /// <param name="width">
-        ///     Specifies, in pixels, the width in pixels of the texture image.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies, in pixels, the height in pixels of the texture image.
-        /// </param>
-        /// <param name="depth">
-        ///     Specifies, in pixels, the depth in pixels of the texture image.
-        /// </param>
-        /// <param name="format">
-        ///     Specifies the format of the pixel data.  Must be one of
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_DEPTH_COMPONENT" />,
-        ///     <see cref="Gl.GL_RED" />, <see cref="Gl.GL_GREEN" />,
-        ///     <see cref="Gl.GL_BLUE" />, <see cref="Gl.GL_ALPHA" />,
-        ///     <see cref="Gl.GL_RGB" />, <see cref="Gl.GL_RGBA" />,
-        ///     <see cref="Gl.GL_BGR" />, <see cref="Gl.GL_BGRA" />,
-        ///     <see cref="Gl.GL_LUMINANCE" />, or <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="type">
-        ///     Specifies the data type for <i>data</i>.  Must be one of:
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="data">
-        ///     Specifies a pointer to the image data in memory.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> builds a series of prefiltered three-dimensional
-        ///         texture maps of decreasing resolutions called a mipmap.  This is used for the
-        ///         antialiasing of texture-mapped primitives.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         Initially, the <i>width</i>, <i>height</i> and <i>depth</i> of <i>data</i>
-        ///         are checked to see if they are a power of two.  If not, a copy of <i>data</i>
-        ///         (not <i>data</i> itself), is scaled up or down to the nearest power of two.
-        ///         This copy will be used for subsequent mipmapping operations described below.
-        ///         (If <i>width</i>, <i>height</i> or <i>depth</i> is exactly between powers of
-        ///         2, then the copy of <i>data</i> will scale upwards.)  For example, if
-        ///         <i>width</i> is 57, <i>height</i> is 23 and <i>depth</i> is 24 then a copy of
-        ///         <i>data</i> will scale up to 64 in <i>width</i>, down to 16 in <i>height</i>
-        ///         and up to 32 in <i>depth</i>, before mipmapping takes place.
-        ///     </para>
-        ///     <para>
-        ///         Then, proxy textures (see <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />) are used to
-        ///         determine if the implementation can fit the requested texture.  If not, all
-        ///         three dimensions are continually halved until it fits.
-        ///     </para>
-        ///     <para>
-        ///         Next, a series of mipmap levels is built by decimating a copy of <i>data</i>
-        ///         in half along all three dimensions until size 1×1×1 is reached.  At each
-        ///         level, each texel in the halved mipmap level is an average of the
-        ///         corresponding eight texels in the larger mipmap level.  (If exactly one of
-        ///         the dimensions is 1, four texels are averaged.  If exactly two of the
-        ///         dimensions are 1, two texels are averaged.)
-        ///     </para>
-        ///     <para>
-        ///         <see cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" /> is called to load each of these mipmap levels.
-        ///         Level 0 is a copy of <i>data</i>.  The highest level is
-        ///         <c>log2(max(width,height,depth))</c>.  For example, if <i>width</i> is 64,
-        ///         <i>height</i> is 16 and <i>depth</i> is 32, and the implementation can store
-        ///         a texture of this size, the following mipmap levels are built: 64×16×32,
-        ///         32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1.  These correspond to levels 0
-        ///         through 6, respectively.
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for <i>format</i> parameter.  See the
-        ///         <see cref="Gl.glDrawPixels(int, int, int, int, object)" /> reference page for a description of the
-        ///         acceptable values for <i>type</i> parameter.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         There is no direct way of querying the maximum level.  This can be derived
-        ///         indirectly via <see cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />.  First, query for
-        ///         the width, height and depth actually used at level 0.  (The width, height
-        ///         and depth may not be equal to <i>width</i>, <i>height</i> and <i>depth</i>
-        ///         respectively since proxy textures might have scaled them to fit the
-        ///         implementation.)  Then the maximum level can be derived from the formula
-        ///         <c>log2(max(width,height,depth))</c>.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluBuild3DMipmaps</b> is only available if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>width</i>, <i>height</i>,
-        ///         or <i>depth</i> is &lt; 1.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>internalFormat</i>,
-        ///         <i>format</i>, or <i>type</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>type</i> is
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexImage(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glGetTexLevelParameteriv(int, int, int, IntPtr)" />
-        /// <seealso cref="Gl.glTexImage1D(int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage2D(int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="Gl.glTexImage3D(int, int, int, int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmapLevels(int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmapLevels(int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmapLevels(int, int, int, int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void* data);
-        #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void *data)
-
-        #region int gluCheckExtension(string extensionName, string extensionString)
-        /// <summary>
-        ///     Determines if an extension name is supported.
-        /// </summary>
-        /// <param name="extensionName">
-        ///     Specifies an extension name.
-        /// </param>
-        /// <param name="extensionString">
-        ///     Specifies a space-separated list of extension names supported.
-        /// </param>
-        /// <returns>
-        ///     Returns <see cref="Gl.GL_TRUE" /> if <i>extensionName</i> is supported
-        ///     otherwise <see cref="Gl.GL_FALSE" /> is returned.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluCheckExtension</b> is used to check for the presence for OpenGL, GLU or
-        ///         GLX extension names by passing the extension strings returned by
-        ///         <see cref="Gl.glGetString" />, <see cref="gluGetString" />,
-        ///         /*see cref="glXGetClientString" />*/, /*see cref="glXQueryExtensionsString" />*/,
-        ///         or /*see cref="glXQueryServerString" />*/, respectively, as
-        ///         <i>extensionString</i>.
-        ///     </para>
-        ///     <para>
-        ///         Returns <see cref="Gl.GL_TRUE" /> if <i>extensionName</i> is supported
-        ///         otherwise <see cref="Gl.GL_FALSE" /> is returned.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Cases where one extension name is a substring of another are correctly
-        ///         handled.
-        ///     </para>
-        ///     <para>
-        ///         There may or may not be leading or trailing blanks in <i>extensionString</i>.
-        ///     </para>
-        ///     <para>
-        ///         Extension names should not contain embedded spaces.
-        ///     </para>
-        ///     <para>
-        ///         All strings are null-terminated.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetString" />
-        /// <seealso cref="gluGetString" />
-        /// /*seealso cref="glXGetClientString" />*/
-        /// /*seealso cref="glXQueryExtensionsString" />*/
-        /// /*seealso cref="glXQueryServerString" />*/
-        // GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluCheckExtension(string extensionName, string extensionString);
-        #endregion int gluCheckExtension(string extensionName, string extensionString)
-
-        #region gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks)
-        /// <summary>
-        ///     Draws a cylinder.
-        /// </summary>
-        /// <param name="quad">
-        ///     Specifies the quadrics object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="baseRadius">
-        ///     Specifies the radius of the cylinder at <c>z = 0</c>.
-        /// </param>
-        /// <param name="topRadius">
-        ///     Specifies the radius of the cylinder at <c>z = height</c>.  If <i>top</i> is
-        ///     set to 0, this subroutine generates a cone.
-        /// </param>
-        /// <param name="height">
-        ///     Specifies the height of the cylinder.
-        /// </param>
-        /// <param name="slices">
-        ///     Specifies the number of subdivisions around the z axis.
-        /// </param>
-        /// <param name="stacks">
-        ///     Specifies the number of subdivisions along the z axis.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluCylinder</b> draws a cylinder oriented along the z axis.  The base of
-        ///         the cylinder is placed at z = 0, and the top at z = height.  Like a sphere,
-        ///         a cylinder is subdivided around the z axis into slices, and along the z axis
-        ///         into stacks.
-        ///     </para>
-        ///     <para>
-        ///         Note that if <i>top</i> is set to 0.0, this routine generates a cone.
-        ///     </para>
-        ///     <para>
-        ///         If the orientation is set to <see cref="GLU_OUTSIDE" /> (with
-        ///         <see cref="gluQuadricOrientation" />), then any generated normals point away
-        ///         from the z axis.  Otherwise, they point toward the z axis.
-        ///     </para>
-        ///     <para>
-        ///         If texturing is turned on using the <see cref="gluQuadricTexture" />
-        ///         subroutine, texture coordinates are generated so that t ranges linearly from
-        ///         0.0 at z = 0 to 1.0 at z = height, and s ranges from 0.0 at the +y axis to
-        ///         0.25 at the +x axis, as well as up to 0.5 at the -y axis and 0.75 at the
-        ///         -x axis, then back to 1.0 at the +y axis.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluDisk" />
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluPartialDisk" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        /// <seealso cref="gluSphere" />
-        // void APIENTRY gluCylinder(GLUquadric *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks);
-        #endregion gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks)
-
-        #region gluDeleteNurbsRenderer([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Destroys a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object to be destroyed (created with
-        ///     <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <remarks>
-        ///     <b>gluDeleteNurbsRenderer</b> destroys the NURBS object (which was created with
-        ///     <see cref="gluNewNurbsRenderer" />) and frees any memory it uses.  Once
-        ///     <b>gluDeleteNurbsRenderer</b> has been called, <i>nurb</i> cannot be used again.
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        // void APIENTRY gluDeleteNurbsRenderer(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluDeleteNurbsRenderer([In] GLUnurbs nurb);
-        #endregion gluDeleteNurbsRenderer([In] GLUnurbs nurb)
-
-        #region gluDeleteQuadric([In] GLUquadric quad)
-        /// <summary>
-        ///     Destroys a quadrics object.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object to be destroyed (created with
-        ///     <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <remarks>
-        ///     <b>gluDeleteQuadric</b> destroys the quadrics object (created with
-        ///     <see cref="gluNewQuadric" />) and frees any memory it uses.  Once
-        ///     <b>gluDeleteQuadric</b> has been called, <i>quad</i> cannot be used again.
-        /// </remarks>
-        /// <seealso cref="gluNewQuadric" />
-        // void APIENTRY gluDeleteQuadric(GLUquadric *state);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluDeleteQuadric([In] GLUquadric quad);
-        #endregion gluDeleteQuadric([In] GLUquadric quad)
-
-        #region gluDeleteTess([In] GLUtesselator tess)
-        /// <summary>
-        ///     Destroys a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object to destroy (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <remarks>
-        ///     <b>gluDeleteTess</b> destroys the indicated tessellation object (which was
-        ///     created with <see cref="gluNewTess" />) and frees any memory that it used.
-        ///     Once <b>gluDeleteTess</b> has been called, <i>tess</i> cannot be used again.
-        /// </remarks>
-        /// <seealso cref="gluBeginPolygon" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // void APIENTRY gluDeleteTess(GLUtesselator *tess);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluDeleteTess([In] GLUtesselator tess);
-        #endregion gluDeleteTess([In] GLUtesselator tess)
-
-        #region gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops)
-        /// <summary>
-        ///     Draws a disk.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="innerRadius">
-        ///     The inner radius of the disk (may be zero).
-        /// </param>
-        /// <param name="outerRadius">
-        ///     The outer radius of the disk.
-        /// </param>
-        /// <param name="slices">
-        ///     The number of subdivisions around the z-axis.
-        /// </param>
-        /// <param name="loops">
-        ///     The number of concentric rings about the origin into which the disk is subdivided.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluDisk</b> renders a disk on the z = 0 plane.  The disk has a radius of
-        ///         <i>outerRadius</i>, and contains a concentric circular hole with a radius of
-        ///         <i>innerRadius</i>.  If <i>innerRadius</i> is 0, then no hole is generated.
-        ///         The disk is subdivided around the z axis into slices (like pizza slices),
-        ///         and also about the z axis into rings (as specified by <i>slices</i> and
-        ///         <i>loops</i>, respectively).
-        ///     </para>
-        ///     <para>
-        ///         With respect to orientation, the +z side of the disk is considered to be
-        ///         "outside" (see <see cref="gluQuadricOrientation" />).  This means that if the
-        ///         orientation is set to <see cref="GLU_OUTSIDE" />, then any normals generated
-        ///         point along the +z axis.  Otherwise, they point along the -z axis.
-        ///     </para>
-        ///     <para>
-        ///         If texturing has been turned on (with <see cref="gluQuadricTexture" />),
-        ///         texture coordinates are generated linearly such that where r = outerRadius,
-        ///         the value at (r, 0, 0) is (1, 0.5), at (0, r, 0) it is (0.5, 1), at
-        ///         (-r, 0, 0) it is (0, 0.5), and at (0, -r, 0) it is (0.5, 0).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluCylinder" />
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluPartialDisk" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        /// <seealso cref="gluSphere" />
-        // void APIENTRY gluDisk(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops);
-        #endregion gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops)
-
-        #region gluEndCurve([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <see cref="gluBeginCurve" /> to mark the beginning of a NURBS curve
-        ///         definition.  After calling <see cref="gluBeginCurve" />, make one or more
-        ///         calls to <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> to define the attributes of the curve.
-        ///         Exactly one of the calls to <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> must have a curve
-        ///         type of <see cref="Gl.GL_MAP1_VERTEX_3" /> or
-        ///         <see cref="Gl.GL_MAP1_VERTEX_4" />.  To mark the end of the NURBS curve
-        ///         definition, call <b>gluEndCurve</b>.
-        ///     </para>
-        ///     <para>
-        ///         OpenGL evaluators are used to render the NURBS curve as a series of line
-        ///         segments.  Evaluator state is preserved during rendering with
-        ///         <c>Gl.glPushAttrib(Gl.GL_EVAL_BIT)</c> and <c>Gl.glPopAttrib</c>.  For
-        ///         information on exactly what state these calls preserve, see
-        ///         <see cref="Gl.glPushAttrib" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following commands render a textured NURBS curve with normals; texture
-        ///         coordinates and normals are also specified as NURBS curves:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginCurve(nobj);
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL);
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4);
-        ///             Glu.gluEndCurve(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glPopAttrib" />
-        /// <seealso cref="Gl.glPushAttrib" />
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        // void APIENTRY gluEndCurve(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluEndCurve([In] GLUnurbs nurb);
-        #endregion gluEndCurve([In] GLUnurbs nurb)
-
-        #region gluEndPolygon([In] GLUtesselator tess)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <see cref="gluBeginPolygon" /> delimits the definition of a nonconvex
-        ///         polygon.  To define such a polygon, first call
-        ///         <see cref="gluBeginPolygon" />.  Then define the contours of the polygon by
-        ///         calling <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> for each vertex and
-        ///         <see cref="gluNextContour" /> to start each new contour.  Finally, call
-        ///         <b>gluEndPolygon</b> to signal the end of the definition.  See the
-        ///         <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> and <see cref="gluNextContour" /> reference
-        ///         pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         Once <b>gluEndPolygon</b> is called, the polygon is tessellated, and the
-        ///         resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         This command is obsolete and is provided for backward compatibility only.
-        ///         Calls to <see cref="gluBeginPolygon" /> are mapped to
-        ///         <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> followed by
-        ///         <see cref="gluTessBeginContour" />.  Calls to <b>gluEndPolygon</b> are mapped
-        ///         to <see cref="gluTessEndContour" /> followed by
-        ///         <see cref="gluTessEndPolygon" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         A quadrilateral with a triangular hole in it can be described like this:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginPolygon(tobj);
-        ///                 Glu.gluTessVertex(tobj, v1, v1);
-        ///                 Glu.gluTessVertex(tobj, v2, v2);
-        ///                 Glu.gluTessVertex(tobj, v3, v3);
-        ///                 Glu.gluTessVertex(tobj, v4, v4);
-        ///             Glu.gluNextContour(tobj, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessVertex(tobj, v5, v5);
-        ///                 Glu.gluTessVertex(tobj, v6, v6);
-        ///                 Glu.gluTessVertex(tobj, v7, v7);
-        ///             Glu.gluEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluNextContour" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluEndPolygon(GLUtesselator *tess);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluEndPolygon([In] GLUtesselator tess);
-        #endregion gluEndPolygon([In] GLUtesselator tess)
-
-        #region gluEndSurface([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Delimits a NURBS surface definition.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <see cref="gluBeginSurface" /> to mark the beginning of a NURBS surface
-        ///         definition.  After calling <see cref="gluBeginSurface" />, make one or more
-        ///         calls to <see cref="gluNurbsSurface(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int, float[], int, int, int)" /> to define the attributes of the
-        ///         surface.  Exactly one of these calls to <see cref="gluNurbsSurface(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int, float[], int, int, int)" /> must
-        ///         have a surface type of <see cref="Gl.GL_MAP2_VERTEX_3" /> or
-        ///         <see cref="Gl.GL_MAP2_VERTEX_4" />.  To mark the end of the NURBS surface
-        ///         definition, call <b>gluEndSurface</b>.
-        ///     </para>
-        ///     <para>
-        ///         Trimming of NURBS surfaces is supported with <see cref="gluBeginTrim" />,
-        ///         <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />, <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />, and
-        ///         <see cref="gluEndTrim" />.  See the <see cref="gluBeginTrim" /> reference
-        ///         page for details. 
-        ///     </para>
-        ///     <para>
-        ///         OpenGL evaluators are used to render the NURBS surface as a set of polygons.
-        ///         Evaluator state is preserved during rendering with
-        ///         <c>Gl.glPushAttrib(Gl.GL_EVAL_BIT)</c> and <c>Gl.glPopAttrib()</c>.  See the
-        ///         <see cref="Gl.glPushAttrib" /> reference page for details on exactly what
-        ///         state these calls preserve.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following commands render a textured NURBS surface with normals; the
-        ///         texture coordinates and normals are also described as NURBS surfaces:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginSurface(nobj);
-        ///                 Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL);
-        ///                 Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4);
-        ///             Glu.gluEndSurface(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <see cref="gluNurbsSurface(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int, float[], int, int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluEndSurface(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluEndSurface([In] GLUnurbs nurb);
-        #endregion gluEndSurface([In] GLUnurbs nurb)
-
-        #region gluEndTrim([In] GLUnurbs nurb)
-        /// <summary>
-        ///     Delimits a NURBS trimming loop definition.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />). 
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <see cref="gluBeginTrim" /> to mark the beginning of a trimming loop, and
-        ///         <b>gluEndTrim</b> to mark the end of a trimming loop.  A trimming loop is a
-        ///         set of oriented curve segments (forming a closed curve) that define
-        ///         boundaries of a NURBS surface.  You include these trimming loops in the
-        ///         definition of a NURBS surface, between calls to
-        ///         <see cref="gluBeginSurface" /> and <see cref="gluEndSurface" />.
-        ///     </para>
-        ///     <para>
-        ///         The definition for a NURBS surface can contain many trimming loops.  For
-        ///         example, if you wrote a definition for a NURBS surface that resembled a
-        ///         rectangle with a hole punched out, the definition would contain two trimming
-        ///         loops.  One loop would define the outer edge of the rectangle; the other
-        ///         would define the hole punched out of the rectangle.  The definitions of each
-        ///         of these trimming loops would be bracketed by a <see cref="gluBeginTrim" />
-        ///         and <b>gluEndTrim</b> pair.
-        ///     </para>
-        ///     <para>
-        ///         The definition of a single closed trimming loop can consist of multiple curve
-        ///         segments, each described as a piecewise linear curve (see
-        ///         <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />) or as a single NURBS curve (see
-        ///         <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />), or as a combination of both in any order.  The
-        ///         only library calls that can appear in a trimming loop definition (between the
-        ///         calls to <see cref="gluBeginTrim" /> and <b>gluEndTrim</b> are
-        ///         <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" /> and <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />.
-        ///     </para>
-        ///     <para>
-        ///         The area of the NURBS surface that is displayed is the region in the domain
-        ///         to the left of the trimming curve as the curve parameter increases.  Thus,
-        ///         the retained region of the NURBS surface is inside a counterclockwise
-        ///         trimming loop and outside a clockwise trimming loop.  For the rectangle
-        ///         mentioned earlier, the trimming loop for the outer edge of the rectangle runs
-        ///         counterclockwise, while the trimming loop for the punched-out hole runs
-        ///         clockwise.
-        ///     </para>
-        ///     <para>
-        ///         If you use more than one curve to define a single trimming loop, the curve
-        ///         segments must form a closed loop (that is, the endpoint of each curve must be
-        ///         the starting point of the next curve, and the endpoint of the final curve
-        ///         must be the starting point of the first curve).  If the endpoints of the
-        ///         curve are sufficiently close together but not exactly coincident, they will
-        ///         be coerced to match.  If the endpoints are not sufficiently close, an error
-        ///         results (see <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         If a trimming loop definition contains multiple curves, the direction of the
-        ///         curves must be consistent (that is, the inside must be to the left of all of
-        ///         the curves).  Nested trimming loops are legal as long as the curve
-        ///         orientations alternate correctly.  If trimming curves are self-intersecting,
-        ///         or intersect one another, an error results.
-        ///     </para>
-        ///     <para>
-        ///         If no trimming information is given for a NURBS surface, the entire surface
-        ///         is drawn.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         This code fragment defines a trimming loop that consists of one piecewise
-        ///         linear curve, and two NURBS curves:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginTrim(nobj);
-        ///                 Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2);
-        ///                 Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2);
-        ///                 Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3);
-        ///             Glu.gluEndTrim(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluEndSurface" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluEndTrim(GLUnurbs *nobj);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluEndTrim([In] GLUnurbs nurb);
-        #endregion gluEndTrim([In] GLUnurbs nurb)
-
-        #region string gluErrorString(int errorCode)
-        /// <summary>
-        ///     Produces an error string from a GL or GLU error code.
-        /// </summary>
-        /// <param name="errorCode">
-        ///     An OpenGL or GLU error code.
-        /// </param>
-        /// <returns>
-        ///     A string representation of the error.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluErrorString</b> produces an error string from a GL or GLU error code.
-        ///         The string is in ISO Latin 1 format.  For example,
-        ///         <c>gluErrorString(Gl.GL_OUT_OF_MEMORY)</c> returns the string 'out of
-        ///         memory'.
-        ///     </para>
-        ///     <para>
-        ///         The standard GLU error codes are <see cref="GLU_INVALID_ENUM" />,
-        ///         <see cref="GLU_INVALID_VALUE" />, and <see cref="GLU_OUT_OF_MEMORY" />.
-        ///         Certain other GLU functions can return specialized error codes through
-        ///         callbacks.  See the <see cref="Gl.glGetError" /> reference page for the list
-        ///         of GL error codes.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <c>NULL</c> is returned if <i>errorCode</i> is not a valid GL or GLU error
-        ///         code.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetError" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        /// <seealso cref="gluQuadricCallback" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // const GLubyte* APIENTRY gluErrorString(GLenum errCode);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluErrorString"), SuppressUnmanagedCodeSecurity]
-        private static extern IntPtr gluErrorStringUnsafe(int errorCode);
-
-        public static string gluErrorString(int errorCode)
-        {
-            return Marshal.PtrToStringAnsi(gluErrorStringUnsafe(errorCode));
-        }
-        #endregion string gluErrorString(int errorCode)
-
-        #region string gluErrorStringWIN(int errorCode)
-        /// <summary>
-        ///     Produces an error string from a GL or GLU error code.
-        /// </summary>
-        /// <param name="errorCode">
-        ///     An OpenGL or GLU error code.
-        /// </param>
-        /// <returns>
-        ///     A string representation of the error.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluErrorStringWIN</b> produces an error string from a GL or GLU error
-        ///         code.  The string is in UNICODE format.  For example,
-        ///         <c>gluErrorStringWIN(Gl.GL_OUT_OF_MEMORY)</c> returns the string 'out of
-        ///         memory'.
-        ///     </para>
-        ///     <para>
-        ///         The standard GLU error codes are <see cref="GLU_INVALID_ENUM" />,
-        ///         <see cref="GLU_INVALID_VALUE" />, and <see cref="GLU_OUT_OF_MEMORY" />.
-        ///         Certain other GLU functions can return specialized error codes through
-        ///         callbacks.  See the <see cref="Gl.glGetError" /> reference page for the list
-        ///         of GL error codes.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <c>NULL</c> is returned if <i>errorCode</i> is not a valid GL or GLU error
-        ///         code.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetError" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        /// <seealso cref="gluQuadricCallback" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // const GLubyte* APIENTRY gluErrorStringWIN(GLenum errCode);
-        public static string gluErrorStringWIN(int errorCode)
-        {
-            return gluErrorUnicodeStringEXT(errorCode);
-        }
-        #endregion string gluErrorStringWIN(int errorCode)
-
-        #region string gluErrorUnicodeStringEXT(int errorCode)
-        /// <summary>
-        ///     Produces an error string from a GL or GLU error code.
-        /// </summary>
-        /// <param name="errorCode">
-        ///     An OpenGL or GLU error code.
-        /// </param>
-        /// <returns>
-        ///     A Unicode string representation of the error.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluErrorString</b> produces an error string from a GL or GLU error code.
-        ///         The string is in UNICODE format.  For example,
-        ///         <c>gluErrorString(Gl.GL_OUT_OF_MEMORY)</c> returns the string 'out of
-        ///         memory'.
-        ///     </para>
-        ///     <para>
-        ///         The standard GLU error codes are <see cref="GLU_INVALID_ENUM" />,
-        ///         <see cref="GLU_INVALID_VALUE" />, and <see cref="GLU_OUT_OF_MEMORY" />.
-        ///         Certain other GLU functions can return specialized error codes through
-        ///         callbacks.  See the <see cref="Gl.glGetError" /> reference page for the list
-        ///         of GL error codes.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <c>NULL</c> is returned if <i>errorCode</i> is not a valid GL or GLU error
-        ///         code.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetError" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        /// <seealso cref="gluQuadricCallback" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // const wchar_t* APIENTRY gluErrorUnicodeStringEXT(GLenum errCode);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluErrorUnicodeStringEXT"), SuppressUnmanagedCodeSecurity]
-        private static extern IntPtr gluErrorUnicodeStringEXTUnsafe(int errorCode);
-
-        public static string gluErrorUnicodeStringEXT(int errorCode)
-        {
-            return Marshal.PtrToStringAnsi(gluErrorUnicodeStringEXTUnsafe(errorCode));
-        }
-        #endregion string gluErrorUnicodeStringEXT(int errorCode)
-
-        #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data)
-        /// <summary>
-        ///     Gets a NURBS property.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="property">
-        ///     The property whose value is to be retrieved.  The following values are valid:
-        ///     <see cref="GLU_SAMPLING_TOLERANCE" />, <see cref="GLU_DISPLAY_MODE" />,
-        ///     <see cref="GLU_CULLING" />, <see cref="GLU_AUTO_LOAD_MATRIX" />,
-        ///     <see cref="GLU_PARAMETRIC_TOLERANCE" />,
-        ///     <see cref="GLU_SAMPLING_METHOD" />, <see cref="GLU_U_STEP" />, and
-        ///     <see cref="GLU_V_STEP" />.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the location into which the value of the named property is
-        ///     written.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluGetNurbsProperty</b> retrieves properties stored in a NURBS object.
-        ///     These properties affect the way that NURBS curves and surfaces are rendered.
-        ///     See the <see cref="gluNurbsProperty" /> reference page for information about
-        ///     what the properties are and what they do.
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data);
-        #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data)
-
-        #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data)
-        /// <summary>
-        ///     Gets a NURBS property.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="property">
-        ///     The property whose value is to be retrieved.  The following values are valid:
-        ///     <see cref="GLU_SAMPLING_TOLERANCE" />, <see cref="GLU_DISPLAY_MODE" />,
-        ///     <see cref="GLU_CULLING" />, <see cref="GLU_AUTO_LOAD_MATRIX" />,
-        ///     <see cref="GLU_PARAMETRIC_TOLERANCE" />,
-        ///     <see cref="GLU_SAMPLING_METHOD" />, <see cref="GLU_U_STEP" />, and
-        ///     <see cref="GLU_V_STEP" />.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the location into which the value of the named property is
-        ///     written.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluGetNurbsProperty</b> retrieves properties stored in a NURBS object.
-        ///     These properties affect the way that NURBS curves and surfaces are rendered.
-        ///     See the <see cref="gluNurbsProperty" /> reference page for information about
-        ///     what the properties are and what they do.
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data);
-        #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data)
-
-        #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data)
-        /// <summary>
-        ///     Gets a NURBS property.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="property">
-        ///     The property whose value is to be retrieved.  The following values are valid:
-        ///     <see cref="GLU_SAMPLING_TOLERANCE" />, <see cref="GLU_DISPLAY_MODE" />,
-        ///     <see cref="GLU_CULLING" />, <see cref="GLU_AUTO_LOAD_MATRIX" />,
-        ///     <see cref="GLU_PARAMETRIC_TOLERANCE" />,
-        ///     <see cref="GLU_SAMPLING_METHOD" />, <see cref="GLU_U_STEP" />, and
-        ///     <see cref="GLU_V_STEP" />.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the location into which the value of the named property is
-        ///     written.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluGetNurbsProperty</b> retrieves properties stored in a NURBS object.
-        ///     These properties affect the way that NURBS curves and surfaces are rendered.
-        ///     See the <see cref="gluNurbsProperty" /> reference page for information about
-        ///     what the properties are and what they do.
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data);
-        #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data)
-
-        #region string gluGetString(int name)
-        /// <summary>
-        ///     Gets a string that describes the GLU version number or supported GLU extension
-        ///     calls.
-        /// </summary>
-        /// <param name="name">
-        ///     Either the version number of GLU (<see cref="GLU_VERSION" />) or available
-        ///     vendor-specific extension calls (<see cref="GLU_EXTENSIONS" />).
-        /// </param>
-        /// <returns>
-        ///     Returns a string describing the GLU version or the GLU extensions that are
-        ///     supported.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluGetString</b> returns a string describing the GLU version or the GLU
-        ///         extensions that are supported.  When <i>name</i> is
-        ///         <see cref="GLU_VERSION" />, the returned string is a value that represents
-        ///         the version number of GLU.  The format of the version number is as follows:
-        ///     </para>
-        ///     <para>
-        ///         &lt;version number&gt;&lt;space&gt;&lt;vendor-specific information&gt; 
-        ///         (for example, "1.2.11 Microsoft Windows NT")
-        ///     </para>
-        ///     <para>
-        ///         The version number has the form "major_number.minor_number" or
-        ///         "major_number.minor_number.release_number".  The vendor-specific information
-        ///         is optional, and the format and contents depend on the implementation.
-        ///     </para>
-        ///     <para>
-        ///         When <i>name</i> is <see cref="GLU_EXTENSIONS" />, the returned string
-        ///         contains a list of names of supported GLU extensions that are separated by
-        ///         spaces.  The format of the returned list of names is as follows:
-        ///     </para>
-        ///     <para>
-        ///         &lt;extension_name&gt;&lt;space&gt;&lt;extension_name&gt;&lt;space&gt; . . .
-        ///         (for example, "GLU_NURBS GL_TESSELATION")
-        ///     </para>
-        ///     <para>
-        ///         The extension names cannot contain any spaces.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         The <b>gluGetString</b> function is valid for GLU version 1.1 or later.
-        ///     </para>
-        ///     <para>
-        ///         All strings are NULL-terminated.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluGetString</b> only returns information about GLU extensions.  Call
-        ///         <see cref="Gl.glGetString" /> to get a list of GL extensions.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluGetString</b> is an initialization routine.  Calling it after a
-        ///         <see cref="Gl.glNewList(int, int)" /> results in undefined behavior.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <c>NULL</c> is returned if name is not <see cref="GLU_VERSION" /> or
-        ///         <see cref="GLU_EXTENSIONS" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetString" />
-        // const GLubyte* APIENTRY gluGetString(GLenum name);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluGetString"), SuppressUnmanagedCodeSecurity]
-        private static extern IntPtr gluGetStringUnsafe(int name);
-
-        public static string gluGetString(int name)
-        {
-            return Marshal.PtrToStringAnsi(gluGetStringUnsafe(name));
-        }
-        #endregion string gluGetString(int name)
-
-        #region gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data)
-        /// <summary>
-        ///     Gets a tessellation object property.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     The property whose value is to be retrieved.  The following values are valid:
-        ///     <see cref="GLU_TESS_WINDING_RULE" />, <see cref="GLU_TESS_BOUNDARY_ONLY" />,
-        ///     and <see cref="GLU_TESS_TOLERANCE" />.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the location where the value of the named property is written.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluGetTessProperty</b> retrieves properties stored in a tessellation
-        ///     object.  These properties affect the way that tessellation objects are
-        ///     interpreted and rendered.  See the <see cref="gluTessProperty" /> reference
-        ///     page for information about the properties and what they do.
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data);
-        #endregion gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data)
-
-        #region gluGetTessProperty([In] GLUtesselator tess, int which, out double data)
-        /// <summary>
-        ///     Gets a tessellation object property.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     The property whose value is to be retrieved.  The following values are valid:
-        ///     <see cref="GLU_TESS_WINDING_RULE" />, <see cref="GLU_TESS_BOUNDARY_ONLY" />,
-        ///     and <see cref="GLU_TESS_TOLERANCE" />.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the location where the value of the named property is written.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluGetTessProperty</b> retrieves properties stored in a tessellation
-        ///     object.  These properties affect the way that tessellation objects are
-        ///     interpreted and rendered.  See the <see cref="gluTessProperty" /> reference
-        ///     page for information about the properties and what they do.
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, out double data);
-        #endregion gluGetTessProperty([In] GLUtesselator tess, int which, out double data)
-
-        #region gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data)
-        /// <summary>
-        ///     Gets a tessellation object property.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     The property whose value is to be retrieved.  The following values are valid:
-        ///     <see cref="GLU_TESS_WINDING_RULE" />, <see cref="GLU_TESS_BOUNDARY_ONLY" />,
-        ///     and <see cref="GLU_TESS_TOLERANCE" />.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to the location where the value of the named property is written.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluGetTessProperty</b> retrieves properties stored in a tessellation
-        ///     object.  These properties affect the way that tessellation objects are
-        ///     interpreted and rendered.  See the <see cref="gluTessProperty" /> reference
-        ///     page for information about the properties and what they do.
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data);
-        #endregion gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data)
-
-        #region gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport)
-        /// <summary>
-        ///     Loads NURBS sampling and culling matrices.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="modelMatrix">
-        ///     A modelview matrix (as from a <see cref="Gl.glGetFloatv(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="projectionMatrix">
-        ///     A projection matrix (as from a <see cref="Gl.glGetFloatv(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="viewport">
-        ///     A viewport (as from a <see cref="Gl.glGetIntegerv(int, IntPtr)" /> call).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluLoadSamplingMatrices</b> uses <i>modelMatrix</i>,
-        ///         <i>projectionMatrix</i>, and <i>viewport</i> to recompute the sampling and
-        ///         culling matrices stored in <i>nurb</i>.  The sampling matrix determines how
-        ///         finely a NURBS curve or surface must be tessellated to satisfy the sampling
-        ///         tolerance (as determined by the <see cref="GLU_SAMPLING_TOLERANCE" />
-        ///         property).  The culling matrix is used in deciding if a NURBS curve or
-        ///         surface should be culled before rendering (when the
-        ///         <see cref="GLU_CULLING" /> property is turned on).
-        ///     </para>
-        ///     <para>
-        ///         <b>gluLoadSamplingMatrices</b> is necessary only if the
-        ///         <see cref="GLU_AUTO_LOAD_MATRIX" /> property is turned off (see
-        ///         <see cref="gluNurbsProperty" />).  Although it can be convenient to leave the
-        ///         <see cref="GLU_AUTO_LOAD_MATRIX" /> property turned on, there can be a
-        ///         performance penalty for doing so.  (A round trip to the GL server is needed
-        ///         to fetch the current values of the modelview matrix, projection matrix, and
-        ///         viewport.)
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetFloatv(int, IntPtr)" />
-        /// <seealso cref="Gl.glGetIntegerv(int, IntPtr)" />
-        /// <seealso cref="gluGetNurbsProperty(Tao.OpenGl.Glu.GLUnurbs, int, float[])" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluLoadSamplingMatrices(GLUnurbs *nobj, const GLfloat modelMatrix[16], const GLfloat projMatrix[16], const GLint viewport[4]);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport);
-        #endregion gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport)
-
-        #region gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
-        /// <summary>
-        ///     Defines a viewing transformation.
-        /// </summary>
-        /// <param name="eyeX">
-        ///     The x axis position of the eye point.
-        /// </param>
-        /// <param name="eyeY">
-        ///     The y axis position of the eye point.
-        /// </param>
-        /// <param name="eyeZ">
-        ///     The z axis position of the eye point.
-        /// </param>
-        /// <param name="centerX">
-        ///     The x axis position of the reference point.
-        /// </param>
-        /// <param name="centerY">
-        ///     The y axis position of the reference point.
-        /// </param>
-        /// <param name="centerZ">
-        ///     The z axis position of the reference point.
-        /// </param>
-        /// <param name="upX">
-        ///     The x axis direction of the up vector.
-        /// </param>
-        /// <param name="upY">
-        ///     The y axis direction of the up vector.
-        /// </param>
-        /// <param name="upZ">
-        ///     The z axis direction of the up vector.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluLookAt</b> creates a viewing matrix derived from an eye point, a
-        ///         reference point indicating the center of the scene, and an UP vector.
-        ///     </para>
-        ///     <para>
-        ///         The matrix maps the reference point to the negative z axis and the eye point
-        ///         to the origin.  When a typical projection matrix is used, the center of the
-        ///         scene therefore maps to the center of the viewport.  Similarly, the direction
-        ///         described by the UP vector projected onto the viewing plane is mapped to the
-        ///         positive y axis so that it points upward in the viewport.  The UP vector must
-        ///         not be parallel to the line of sight from the eye point to the reference
-        ///         point.
-        ///     </para>
-        ///     <para>
-        ///         The matrix generated by <b>gluLookAt</b> postmultiplies the current matrix.
-        ///     </para>
-        ///     <para>
-        ///         The matrix M generated by the OpenGL could be computed as follows:
-        ///     </para>
-        ///     <para>
-        ///         Let E be the 3d column vector (eyeX, eyeY, eyeZ).
-        ///         Let C be the 3d column vector (centerX, centerY, centerZ).
-        ///         Let U be the 3d column vector (upX, upY, upZ).
-        ///         Compute L = C - E.
-        ///         Normalize L.
-        ///         Compute S = L x U.
-        ///         Normalize S.
-        ///         Compute U' = S x L.
-        ///     </para>
-        ///     <para>
-        ///         M is the matrix whose columns are, in order:
-        ///     </para>
-        ///     <para>
-        ///         (S, 0), (U', 0), (-L, 0), (-E, 1)  (all column vectors)
-        ///     </para>
-        ///     <para>
-        ///         Note: This matrix is defined for use in systems where the the modelling
-        ///         coordinate vector is a column vector and is multiplied on the left by the
-        ///         matrices.  If you prefer a row vector which gets multiplied by matrices to
-        ///         its right, then use the transpose of this matrix M.
-        ///     </para>
-        ///     <para>
-        ///         Note: It is necessary that the UP vector NOT be parallel to the line
-        ///         connecting the center point with the eye point.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glFrustum" />
-        /// <seealso cref="gluPerspective" />
-        // void APIENTRY gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ);
-        #endregion gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
-
-        #region GLUnurbs gluNewNurbsRenderer()
-        /// <summary>
-        ///     Creates a NURBS object.
-        /// </summary>
-        /// <returns>
-        ///     Returns a pointer to a new NURBS object.
-        /// </returns>
-        /// <remarks>
-        ///     <b>gluNewNurbsRenderer</b> creates and returns a pointer to a new NURBS
-        ///     object.  This object must be referred to when calling NURBS rendering and
-        ///     control functions.  A return value of 0 means that there is not enough memory
-        ///     to allocate the object.
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluDeleteNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        /// <seealso cref="gluNurbsProperty" />
-        // GLUnurbs* APIENTRY gluNewNurbsRenderer(void);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern GLUnurbs gluNewNurbsRenderer();
-        #endregion GLUnurbs gluNewNurbsRenderer()
-
-        #region GLUquadric gluNewQuadric()
-        /// <summary>
-        ///     Creates a quadrics object.
-        /// </summary>
-        /// <returns>
-        ///     Returns a pointer to a new quadrics object.
-        /// </returns>
-        /// <remarks>
-        ///     <b>gluNewQuadric</b> creates and returns a pointer to a new quadrics object.
-        ///     This object must be referred to when calling quadrics rendering and control
-        ///     functions.  A return value of 0 means that there is not enough memory to
-        ///     allocate the object.
-        /// </remarks>
-        /// <seealso cref="gluCylinder" />
-        /// <seealso cref="gluDeleteQuadric" />
-        /// <seealso cref="gluDisk" />
-        /// <seealso cref="gluPartialDisk" />
-        /// <seealso cref="gluQuadricCallback" />
-        /// <seealso cref="gluQuadricDrawStyle" />
-        /// <seealso cref="gluQuadricNormals" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        /// <seealso cref="gluSphere" />
-        // GLUquadric* APIENTRY gluNewQuadric(void);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern GLUquadric gluNewQuadric();
-        #endregion GLUquadric gluNewQuadric()
-
-        #region GLUtesselator gluNewTess()
-        /// <summary>
-        ///     Creates a tessellation object.
-        /// </summary>
-        /// <returns>
-        ///     Returns a pointer to a new tessellation object.
-        /// </returns>
-        /// <remarks>
-        ///     <b>gluNewTess</b> creates and returns a pointer to a new tessellation object.
-        ///     This object must be referred to when calling tessellation functions.  A
-        ///     return value of 0 means that there is not enough memory to allocate the
-        ///     object.
-        /// </remarks>
-        /// <seealso cref="gluDeleteTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        // GLUtesselator* APIENTRY gluNewTess(void);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern GLUtesselator gluNewTess();
-        #endregion GLUtesselator gluNewTess()
-
-        #region gluNextContour([In] GLUtesselator tess, int type)
-        /// <summary>
-        ///     Marks the beginning of another contour.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="type">
-        ///     <para>
-        ///         The type of the contour being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_EXTERIOR" /></term>
-        ///                 <description>
-        ///                     An exterior contour defines an exterior boundary of the polygon.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_INTERIOR" /></term>
-        ///                 <description>
-        ///                     An interior contour defines an interior boundary of the polygon
-        ///                     (such as a hole).
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_UNKNOWN" /></term>
-        ///                 <description>
-        ///                     An unknown contour is analyzed by the library to determine
-        ///                     whether it is interior or exterior.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_CCW" />, <see cref="GLU_CW" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The first <see cref="GLU_CCW" /> or <see cref="GLU_CW" />
-        ///                         contour defined is considered to be exterior.  All other
-        ///                         contours are considered to be exterior if they are oriented
-        ///                         in the same direction (clockwise or counterclockwise) as the
-        ///                         first contour, and interior if they are not.
-        ///                     </para>
-        ///                     <para>
-        ///                         If one contour is of type <see cref="GLU_CCW" /> or
-        ///                         <see cref="GLU_CW" />, then all contours must be of the same
-        ///                         type (if they are not, then all <see cref="GLU_CCW" /> and
-        ///                         <see cref="GLU_CW" /> contours will be changed to
-        ///                         <see cref="GLU_UNKNOWN" />).  Note that there is no real
-        ///                         difference between the <see cref="GLU_CCW" /> and
-        ///                         <see cref="GLU_CW" /> contour types.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNextContour</b> is used in describing polygons with multiple contours.
-        ///         After the first contour has been described through a series of
-        ///         <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> calls, a <b>gluNextContour</b> call indicates
-        ///         that the previous contour is complete and that the next contour is about to
-        ///         begin.  Another series of <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> calls is then used to
-        ///         describe the new contour.  This process can be repeated until all contours
-        ///         have been described.
-        ///     </para>
-        ///     <para>
-        ///         Before the first contour is described, <b>gluNextContour</b> can be called to
-        ///         define the type of the first contour.  If <b>gluNextContour</b> is not called
-        ///         before the first contour, then the first contour is marked
-        ///         <see cref="GLU_EXTERIOR" />.
-        ///     </para>
-        ///     <para>
-        ///         This command is obsolete and is provided for backward compatibility only.
-        ///         Calls to <b>gluNextContour</b> are mapped to <see cref="gluTessEndContour" />
-        ///         followed by <see cref="gluTessBeginContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can describe a quadrilateral with a triangular hole in it as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginPolygon(tess); 
-        ///                 Glu.gluTessVertex(tess, v1, v1); 
-        ///                 Glu.gluTessVertex(tess, v2, v2); 
-        ///                 Glu.gluTessVertex(tess, v3, v3); 
-        ///                 Glu.gluTessVertex(tess, v4, v4);  
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR); 
-        ///                 Glu.gluTessVertex(tess, v5, v5); 
-        ///                 Glu.gluTessVertex(tess, v6, v6); 
-        ///                 Glu.gluTessVertex(tess, v7, v7);  
-        ///             Glu.gluEndPolygon(tess); 
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndContour" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluNextContour(GLUtesselator *tess, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNextContour([In] GLUtesselator tess, int type);
-        #endregion gluNextContour([In] GLUtesselator tess, int type)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func)
-        {
-            nurbsBeginCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsBeginCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func)
-        {
-            nurbsBeginDataCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsBeginDataCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func)
-        {
-            nurbsColorCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsColorCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func)
-        {
-            nurbsColorDataCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsColorDataCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func)
-        {
-            nurbsEndCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsEndCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func)
-        {
-            nurbsEndDataCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsEndDataCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func)
-        {
-            nurbsErrorCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsErrorCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func)
-        {
-            nurbsNormalCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsNormalCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func)
-        {
-            nurbsNormalDataCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsNormalDataCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func)
-        {
-            nurbsTexCoordCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsTexCoordCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func)
-        {
-            nurbsTexCoordDataCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsTexCoordDataCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func)
-        {
-            nurbsVertexCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsVertexCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func)
-
-        #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func)
-        /// <summary>
-        ///     The <b>gluNurbsCallback</b> mehtod defines a callback for a NURBS object.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The legal callbacks are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback indicates the start of a primitive.  The
-        ///                     function takes a single argument of type <see cref="int" />,
-        ///                     which can be one of <see cref="Gl.GL_LINES" />,
-        ///                     <see cref="Gl.GL_LINE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />,
-        ///                     <see cref="Gl.GL_TRIANGLES" />, or
-        ///                     <see cref="Gl.GL_QUAD_STRIP" />.  The default begin callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR" /></term>
-        ///                 <description>
-        ///                     The color callback is invoked as the color of a vertex is
-        ///                     generated.  The components of the color are stored in the
-        ///                     parameter <i>colorData</i>.  This callback is effective only when
-        ///                     the user provides a color map (<see cref="Gl.GL_MAP1_COLOR_4" />
-        ///                     or <see cref="Gl.GL_MAP2_COLOR_4" />).  <i>colorData</i>
-        ///                     contains four components: R,G,B,A.  The default color callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_COLOR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_COLOR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsColorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END" /></term>
-        ///                 <description>
-        ///                     The end callback is invoked at the end of a primitive.  The
-        ///                     default end callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is <see cref="NurbsEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_END_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_END" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_ERROR" /></term>
-        ///                 <description>
-        ///                     The error function is called when an error is encountered.  Its
-        ///                     single argument is of type <see cref="int" />, and it indicates
-        ///                     the specific error that occurred.  There are 37 errors unique to
-        ///                     NURBS named <see cref="GLU_NURBS_ERROR1" /> through
-        ///                     <see cref="GLU_NURBS_ERROR37" />.  Character strings describing
-        ///                     these errors can be retrieved with <see cref="gluErrorString" />.
-        ///                     The delegate prototype for this callback is
-        ///                     <see cref="NurbsErrorCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL" /></term>
-        ///                 <description>
-        ///                     The normal callback is invoked as the vertex normal is generated.
-        ///                     The components of the normal are stored in the parameter
-        ///                     <i>normalData</i>.  In the case of a NURBS curve, the callback
-        ///                     function is effective only when the user provides a normal map
-        ///                     (<see cref="Gl.GL_MAP1_NORMAL" />).  In the case of a NURBS
-        ///                     surface, if a normal map (<see cref="Gl.GL_MAP2_NORMAL" />) is
-        ///                     provided, then the generated normal is computed from the normal
-        ///                     map.  If a normal map is not provided then a surface normal is
-        ///                     computed in a manner similar to that described for evaluators
-        ///                     when <see cref="Gl.GL_AUTO_NORMAL" /> is enabled.  The default
-        ///                     normal callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsNormalCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_NORMAL_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_NURBS_NORMAL" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is a
-        ///                     copy of the pointer that was specified at the last call to
-        ///                     <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default callback
-        ///                     function is <c>null</c>.  The delegate prototype for this
-        ///                     callback is <see cref="NurbsNormalDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD" /></term>
-        ///                 <description>
-        ///                     The texture callback is invoked as the texture coordinates of a
-        ///                     vertex are generated.  These coordinates are stored in the
-        ///                     parameter <i>texCoord</i>.  The number of texture coordinates can
-        ///                     be 1, 2, 3, or 4 depending on which type of texture map is
-        ///                     specified (<see cref="Gl.GL_MAP1_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP1_TEXTURE_COORD_4" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_1" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_2" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_3" />,
-        ///                     <see cref="Gl.GL_MAP2_TEXTURE_COORD_4" />).  If no texture map is
-        ///                     specified, this callback function will not be called.  The
-        ///                     default texture callback function is <c>null</c>.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="NurbsTexCoordCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_TEXTURE_COORD_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_TEXTURE_COORD" />
-        ///                     callback, except that it takes an additional pointer argument.
-        ///                     This pointer is a copy of the pointer that was specified at the
-        ///                     last call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsTexCoordDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback indicates a vertex of the primitive.  The
-        ///                     coordinates of the vertex are stored in the parameter
-        ///                     <i>vertexData</i>.  All the generated vertices have dimension 3,
-        ///                     that is, homogeneous coordinates have been transformed into
-        ///                     affine coordinates.  The default vertex callback function is
-        ///                     <c>null</c>. The delegate prototype for this callback is
-        ///                     <see cref="NurbsVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     This is the same as the <see cref="GLU_NURBS_VERTEX" /> callback,
-        ///                     except that it takes an additional pointer argument.  This
-        ///                     pointer is a copy of the pointer that was specified at the last
-        ///                     call to <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.  The default
-        ///                     callback function is <c>null</c>.  The delegate prototype for
-        ///                     this callback is <see cref="NurbsVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function that the callback invokes.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is used to define a callback to be used by a NURBS
-        ///         object.  If the specified callback is already defined, then it is replaced.
-        ///         If <i>func</i> is <c>null</c>, then this callback will not get invoked and
-        ///         the related data, if any, will be lost.
-        ///     </para>
-        ///     <para>
-        ///         Except the error callback, these callbacks are used by NURBS tessellator
-        ///         (when <see cref="GLU_NURBS_MODE" /> is set to be
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />) to return back the OpenGL polygon
-        ///         primitives resulting from the tessellation.  Note that there are two
-        ///         versions of each callback: one with a user data pointer and one without.  If
-        ///         both versions for a particular callback are specified then the callback with
-        ///         the user data pointer will be used.  Note that <i>userData</i> is a copy of
-        ///         the pointer that was specified at the last call to
-        ///         <see cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />.
-        ///     </para>
-        ///     <para>
-        ///         The error callback function is effective no matter which value that
-        ///         <see cref="GLU_NURBS_MODE" /> is set to.  All other callback functions are
-        ///         effective only when <see cref="GLU_NURBS_MODE" /> is set to
-        ///         <see cref="GLU_NURBS_TESSELLATOR" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallback</b> is available only if the GLU version is 1.2 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         GLU version 1.2 supports only the <see cref="GLU_ERROR" /> parameter for
-        ///         <i>which</i>.  The <see cref="GLU_ERROR" /> value is deprecated in GLU
-        ///         version 1.3 in favor of <see cref="GLU_NURBS_ERROR" />.  All other
-        ///         accepted values for <i>func</i> are available only if the GLU version is 1.3
-        ///         or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="NurbsBeginCallback" />
-        /// <seealso cref="NurbsBeginDataCallback" />
-        /// <seealso cref="NurbsColorCallback" />
-        /// <seealso cref="NurbsColorDataCallback" />
-        /// <seealso cref="NurbsEndCallback" />
-        /// <seealso cref="NurbsEndDataCallback" />
-        /// <seealso cref="NurbsErrorCallback" />
-        /// <seealso cref="NurbsNormalCallback" />
-        /// <seealso cref="NurbsNormalDataCallback" />
-        /// <seealso cref="NurbsTexCoordCallback" />
-        /// <seealso cref="NurbsTexCoordDataCallback" />
-        /// <seealso cref="NurbsVertexCallback" />
-        /// <seealso cref="NurbsVertexDataCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallbackData(Tao.OpenGl.Glu.GLUnurbs, byte[])" />
-        /// <seealso cref="gluNurbsProperty" />
-        // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func)
-        {
-            nurbsVertexDataCallback = func;
-            __gluNurbsCallback(nurb, which, nurbsVertexDataCallback);
-        }
-        #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[, ,] userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , , ] userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData)
-
-        #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] void *userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is used to pass a pointer to the application's
-        ///         data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///         tessellator in the NURBS callback functions (set by
-        ///         <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         <b>gluNurbsCallbackData</b> is available only if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] void* userData);
-        #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] void *userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , , ] userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[, ,] userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , , ] userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData)
-
-        #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void *userData)
-        /// <summary>
-        ///     Sets a user data pointer.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="userData">
-        ///     A pointer to the user's data.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluNurbsCallbackDataEXT</b> is used to pass a pointer to the application's
-        ///     data to NURBS tessellator.  A copy of this pointer will be passed by the
-        ///     tessellator in the NURBS callback functions (set by
-        ///     <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).
-        /// </remarks>
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void* userData);
-        #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void *userData)
-
-        #region gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type)
-        /// <summary>
-        ///     Defines the shape of a NURBS curve.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="knotCount">
-        ///     The number of knots in <i>knot</i>.  The <i>knotCount</i> parameter equals
-        ///     the number of control points plus the order.
-        /// </param>
-        /// <param name="knots">
-        ///     An array of <i>knotCount</i> nondecreasing knot values.
-        /// </param>
-        /// <param name="stride">
-        ///     The offset (as a number of single-precision floating-point values) between
-        ///     successive curve control points.
-        /// </param>
-        /// <param name="control">
-        ///     A pointer to an array of control points.  The coordinates must agree with
-        ///     <i>type</i>.
-        /// </param>
-        /// <param name="order">
-        ///     The order of the NURBS curve.  The <i>order</i> parameter equals degree + 1;
-        ///     hence a cubic curve has an order of 4.
-        /// </param>
-        /// <param name="type">
-        ///     The type of the curve.  If this curve is defined within a
-        ///     <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair, then the type
-        ///     can be any of the valid one-dimensional evaluator types (such as
-        ///     <see cref="Gl.GL_MAP1_VERTEX_3" /> or <see cref="Gl.GL_MAP1_COLOR_4" />).
-        ///     Between a <see cref="gluBeginTrim" />/<see cref="gluEndTrim" /> pair, the
-        ///     only valid types are <see cref="GLU_MAP1_TRIM_2" /> and
-        ///     <see cref="GLU_MAP1_TRIM_3" />. 
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluNurbsCurve</b> to describe a NURBS curve.
-        ///     </para>
-        ///     <para>
-        ///         When <b>gluNurbsCurve</b> appears between a
-        ///         <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair, it is used to
-        ///         describe a curve to be rendered.  Positional, texture, and color coordinates
-        ///         are associated by presenting each as a separate <b>gluNurbsCurve</b> between
-        ///         a <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair.  No more than
-        ///         one call to <b>gluNurbsCurve</b> for each of color, position, and texture
-        ///         data can be made within a single
-        ///         <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair.  Exactly one
-        ///         call must be made to describe the position of the curve (a type of
-        ///         <see cref="Gl.GL_MAP1_VERTEX_3" /> or <see cref="Gl.GL_MAP1_VERTEX_4" />). 
-        ///     </para>
-        ///     <para>
-        ///         When <b>gluNurbsCurve</b> appears between a
-        ///         <see cref="gluBeginTrim" />/<see cref="gluEndTrim" /> pair, it is used to
-        ///         describe a trimming curve on a NURBS surface.  If <i>type</i> is
-        ///         <see cref="GLU_MAP1_TRIM_2" />, then it describes a curve in two-dimensional
-        ///         (u and v) parameter space.  If it is <see cref="GLU_MAP1_TRIM_3" />, then it
-        ///         describes a curve in two-dimensional homogeneous (u, v, and w) parameter
-        ///         space.  See the <see cref="gluBeginTrim" /> reference page for more
-        ///         discussion about trimming curves. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         To define trim curves which stitch well, use <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following commands render a textured NURBS curve with normals:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginCurve(nobj); 
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); 
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); 
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4);  
-        ///             Glu.gluEndCurve(nobj); 
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluEndCurve" />
-        /// <seealso cref="gluEndTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluNurbsCurve(GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type);
-        #endregion gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type)
-
-        #region gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[ , ] control, int order, int type)
-        /// <summary>
-        ///     Defines the shape of a NURBS curve.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="knotCount">
-        ///     The number of knots in <i>knot</i>.  The <i>knotCount</i> parameter equals
-        ///     the number of control points plus the order.
-        /// </param>
-        /// <param name="knots">
-        ///     An array of <i>knotCount</i> nondecreasing knot values.
-        /// </param>
-        /// <param name="stride">
-        ///     The offset (as a number of single-precision floating-point values) between
-        ///     successive curve control points.
-        /// </param>
-        /// <param name="control">
-        ///     A pointer to an array of control points.  The coordinates must agree with
-        ///     <i>type</i>.
-        /// </param>
-        /// <param name="order">
-        ///     The order of the NURBS curve.  The <i>order</i> parameter equals degree + 1;
-        ///     hence a cubic curve has an order of 4.
-        /// </param>
-        /// <param name="type">
-        ///     The type of the curve.  If this curve is defined within a
-        ///     <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair, then the type
-        ///     can be any of the valid one-dimensional evaluator types (such as
-        ///     <see cref="Gl.GL_MAP1_VERTEX_3" /> or <see cref="Gl.GL_MAP1_COLOR_4" />).
-        ///     Between a <see cref="gluBeginTrim" />/<see cref="gluEndTrim" /> pair, the
-        ///     only valid types are <see cref="GLU_MAP1_TRIM_2" /> and
-        ///     <see cref="GLU_MAP1_TRIM_3" />. 
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluNurbsCurve</b> to describe a NURBS curve.
-        ///     </para>
-        ///     <para>
-        ///         When <b>gluNurbsCurve</b> appears between a
-        ///         <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair, it is used to
-        ///         describe a curve to be rendered.  Positional, texture, and color coordinates
-        ///         are associated by presenting each as a separate <b>gluNurbsCurve</b> between
-        ///         a <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair.  No more than
-        ///         one call to <b>gluNurbsCurve</b> for each of color, position, and texture
-        ///         data can be made within a single
-        ///         <see cref="gluBeginCurve" />/<see cref="gluEndCurve" /> pair.  Exactly one
-        ///         call must be made to describe the position of the curve (a type of
-        ///         <see cref="Gl.GL_MAP1_VERTEX_3" /> or <see cref="Gl.GL_MAP1_VERTEX_4" />). 
-        ///     </para>
-        ///     <para>
-        ///         When <b>gluNurbsCurve</b> appears between a
-        ///         <see cref="gluBeginTrim" />/<see cref="gluEndTrim" /> pair, it is used to
-        ///         describe a trimming curve on a NURBS surface.  If <i>type</i> is
-        ///         <see cref="GLU_MAP1_TRIM_2" />, then it describes a curve in two-dimensional
-        ///         (u and v) parameter space.  If it is <see cref="GLU_MAP1_TRIM_3" />, then it
-        ///         describes a curve in two-dimensional homogeneous (u, v, and w) parameter
-        ///         space.  See the <see cref="gluBeginTrim" /> reference page for more
-        ///         discussion about trimming curves. 
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         To define trim curves which stitch well, use <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following commands render a textured NURBS curve with normals:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginCurve(nobj); 
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); 
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); 
-        ///                 Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4);  
-        ///             Glu.gluEndCurve(nobj); 
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluEndCurve" />
-        /// <seealso cref="gluEndTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluNurbsCurve(GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[,] control, int order, int type);
-        #endregion gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[ , ] control, int order, int type)
-
-        #region gluNurbsProperty([In] GLUnurbs nurb, int property, float val)
-        /// <summary>
-        ///     Sets a NURBS property.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="property">
-        ///     The property to be set.  Valid values are
-        ///     <see cref="GLU_SAMPLING_TOLERANCE" />, <see cref="GLU_DISPLAY_MODE" />,
-        ///     <see cref="GLU_CULLING" />, <see cref="GLU_AUTO_LOAD_MATRIX" />,
-        ///     <see cref="GLU_PARAMETRIC_TOLERANCE" />, <see cref="GLU_SAMPLING_METHOD" />,
-        ///     <see cref="GLU_U_STEP" />, <see cref="GLU_V_STEP" />, or
-        ///     <see cref="GLU_NURBS_MODE" />.
-        /// </param>
-        /// <param name="val">
-        ///     The value of the indicated property.  It may be a numeric value, or one of
-        ///     <see cref="GLU_OUTLINE_POLYGON" />, <see cref="GLU_FILL" />,
-        ///     <see cref="GLU_OUTLINE_PATCH" />, <see cref="Gl.GL_TRUE" />,
-        ///     <see cref="Gl.GL_FALSE" />, <see cref="GLU_PATH_LENGTH" />,
-        ///     <see cref="GLU_PARAMETRIC_ERROR" />, <see cref="GLU_DOMAIN_DISTANCE" />,
-        ///     <see cref="GLU_NURBS_RENDERER" />, or <see cref="GLU_NURBS_TESSELLATOR" />.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluNurbsProperty</b> is used to control properties stored in a NURBS
-        ///         object.  These properties affect the way that a NURBS curve is rendered.  The
-        ///         accepted values for property are as follows:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NURBS_MODE" /></term>
-        ///                 <description>
-        ///                     <i>val</i> should be set to be either
-        ///                     <see cref="GLU_NURBS_RENDERER" /> or
-        ///                     <see cref="GLU_NURBS_TESSELLATOR" />.  When set to
-        ///                     <see cref="GLU_NURBS_RENDERER" />, NURBS objects are tessellated
-        ///                     into OpenGL primitives and sent to the pipeline for rendering.
-        ///                     When set to <see cref="GLU_NURBS_TESSELLATOR" />, NURBS objects
-        ///                     are tessellated into OpenGL primitives but the vertices, normals,
-        ///                     colors, and/or textures are retrieved back through a callback
-        ///                     interface (see <see cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />).  This allows the
-        ///                     user to cache the tessellated results for further processing.
-        ///                     The initial value is <see cref="GLU_NURBS_RENDERER" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_SAMPLING_METHOD" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         Specifies how a NURBS surface should be tessellated.
-        ///                         <i>val</i> may be one of <see cref="GLU_PATH_LENGTH" />,
-        ///                         <see cref="GLU_PARAMETRIC_ERROR" />,
-        ///                         <see cref="GLU_DOMAIN_DISTANCE" />,
-        ///                         <see cref="GLU_OBJECT_PATH_LENGTH" />, or
-        ///                         <see cref="GLU_OBJECT_PARAMETRIC_ERROR" />.  When set to
-        ///                         <see cref="GLU_PATH_LENGTH" />, the surface is rendered so
-        ///                         that the maximum length, in pixels, of the edges of the
-        ///                         tessellation polygons is no greater than what is specified by
-        ///                         <see cref="GLU_SAMPLING_TOLERANCE" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         <see cref="GLU_PARAMETRIC_ERROR" /> specifies that the
-        ///                         surface is rendered in such a way that the value specified by
-        ///                         <see cref="GLU_PARAMETRIC_TOLERANCE" /> describes the maximum
-        ///                         distance, in pixels, between the tessellation polygons and
-        ///                         the surfaces they approximate.
-        ///                     </para>
-        ///                     <para>
-        ///                         <see cref="GLU_DOMAIN_DISTANCE" /> allows users to specify,
-        ///                         in parametric coordinates, how many sample points per unit
-        ///                         length are taken in u, v direction.
-        ///                     </para>
-        ///                     <para>
-        ///                         <see cref="GLU_OBJECT_PATH_LENGTH" /> is similar to
-        ///                         <see cref="GLU_PATH_LENGTH" /> except that it is view
-        ///                         independent, that is, the surface is rendered so that the
-        ///                         maximum length, in object space, of edges of the tessellation
-        ///                         polygons is no greater than what is specified by
-        ///                         <see cref="GLU_SAMPLING_TOLERANCE" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         <see cref="GLU_OBJECT_PARAMETRIC_ERROR" /> is similar to
-        ///                         <see cref="GLU_PARAMETRIC_ERROR" /> except that it is view
-        ///                         independent, that is, the surface is rendered in such a way
-        ///                         that the value specified by
-        ///                         <see cref="GLU_PARAMETRIC_TOLERANCE" /> describes the maximum
-        ///                         distance, in object space, between the tessellation polygons
-        ///                         and the surfaces they approximate.
-        ///                     </para>
-        ///                     <para>
-        ///                         The initial value of <see cref="GLU_SAMPLING_METHOD" /> is
-        ///                         <see cref="GLU_PATH_LENGTH" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_SAMPLING_TOLERANCE" /></term>
-        ///                 <description>
-        ///                     Specifies the maximum length, in pixels or in object space length
-        ///                     unit, to use when the sampling method is set to
-        ///                     <see cref="GLU_PATH_LENGTH" /> or
-        ///                     <see cref="GLU_OBJECT_PATH_LENGTH" />.  The NURBS code is
-        ///                     conservative when rendering a curve or surface, so the actual
-        ///                     length can be somewhat shorter.  The initial value is 50.0
-        ///                     pixels.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_PARAMETRIC_TOLERANCE" /></term>
-        ///                 <description>
-        ///                     Specifies the maximum distance, in pixels or in object space
-        ///                     length unit, to use when the sampling method is
-        ///                     <see cref="GLU_PARAMETRIC_ERROR" /> or
-        ///                     <see cref="GLU_OBJECT_PARAMETRIC_ERROR" />.  The initial value is
-        ///                     0.5.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_U_STEP" /></term>
-        ///                 <description>
-        ///                     Specifies the number of sample points per unit length taken along
-        ///                     the u axis in parametric coordinates.  It is needed when
-        ///                     <see cref="GLU_SAMPLING_METHOD" /> is set to
-        ///                     <see cref="GLU_DOMAIN_DISTANCE" />.  The initial value is 100.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_V_STEP" /></term>
-        ///                 <description>
-        ///                     Specifies the number of sample points per unit length taken along
-        ///                     the v axis in parametric coordinate.  It is needed when
-        ///                     <see cref="GLU_SAMPLING_METHOD" /> is set to
-        ///                     <see cref="GLU_DOMAIN_DISTANCE" />.  The initial value is 100.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_DISPLAY_MODE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         <i>val</i> can be set to <see cref="GLU_OUTLINE_POLYGON" />,
-        ///                         <see cref="GLU_FILL" />, or <see cref="GLU_OUTLINE_PATCH" />.
-        ///                         When <see cref="GLU_NURBS_MODE" /> is set to be
-        ///                         <see cref="GLU_NURBS_RENDERER" />, <i>val</i> defines how a
-        ///                         NURBS surface should be rendered.  When <i>val</i> is set to
-        ///                         <see cref="GLU_FILL" />, the surface is rendered as a set of
-        ///                         polygons.  When <i>val</i> is set to
-        ///                         <see cref="GLU_OUTLINE_POLYGON" />, the NURBS library draws
-        ///                         only the outlines of the polygons created by tessellation.
-        ///                         When <i>val</i> is set to
-        ///                         <see cref="GLU_OUTLINE_PATCH" /> just the outlines of patches
-        ///                         and trim curves defined by the user are drawn.
-        ///                     </para>
-        ///                     <para>
-        ///                         When <see cref="GLU_NURBS_MODE" /> is set to be
-        ///                         <see cref="GLU_NURBS_TESSELLATOR" />, <i>val</i> defines how
-        ///                         a NURBS surface should be tessellated.  When
-        ///                         <see cref="GLU_DISPLAY_MODE" /> is set to
-        ///                         <see cref="GLU_FILL" /> or
-        ///                         <see cref="GLU_OUTLINE_POLYGON" />, the NURBS surface is
-        ///                         tessellated into OpenGL triangle primitives which can be
-        ///                         retrieved back through callback functions.  If
-        ///                         <see cref="GLU_DISPLAY_MODE" /> is set to
-        ///                         <see cref="GLU_OUTLINE_PATCH" />, only the outlines of the
-        ///                         patches and trim curves are generated as a sequence of
-        ///                         line strips which can be retrieved back through callback
-        ///                         functions.
-        ///                     </para>
-        ///                     <para>
-        ///                         The initial value is <see cref="GLU_FILL" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_CULLING" /></term>
-        ///                 <description>
-        ///                     <i>val</i> is a boolean value that, when set to
-        ///                     <see cref="Gl.GL_TRUE" />, indicates that a NURBS curve should be
-        ///                     discarded prior to tessellation if its control points lie outside
-        ///                     the current viewport.  The initial value is
-        ///                     <see cref="Gl.GL_FALSE" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_AUTO_LOAD_MATRIX" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         <i>val</i> is a boolean value.  When set to
-        ///                         <see cref="Gl.GL_TRUE" />, the NURBS code downloads the
-        ///                         projection matrix, the modelview matrix, and the viewport
-        ///                         from the GL server to compute sampling and culling matrices
-        ///                         for each NURBS curve that is rendered.  Sampling and culling
-        ///                         matrices are required to determine the tessellation of a
-        ///                         NURBS surface into line segments or polygons and to cull a
-        ///                         NURBS surface if it lies outside the viewport.
-        ///                     </para>
-        ///                     <para>
-        ///                         If this mode is set to <see cref="Gl.GL_FALSE" />, then the
-        ///                         program needs to provide a projection matrix, a modelview
-        ///                         matrix, and a viewport for the NURBS renderer to use to
-        ///                         construct sampling and culling matrices.  This can be done
-        ///                         with the <see cref="gluLoadSamplingMatrices" /> function.
-        ///                         This mode is initially set to <see cref="Gl.GL_TRUE" />.
-        ///                         Changing it from <see cref="Gl.GL_TRUE" /> to
-        ///                         <see cref="Gl.GL_FALSE" /> does not affect the sampling and
-        ///                         culling matrices until <see cref="gluLoadSamplingMatrices" />
-        ///                         is called.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         If <see cref="GLU_AUTO_LOAD_MATRIX" /> is true, sampling and culling may be
-        ///         executed incorrectly if NURBS routines are compiled into a display list.
-        ///     </para>
-        ///     <para>
-        ///         A <i>property</i> of <see cref="GLU_PARAMETRIC_TOLERANCE" />,
-        ///         <see cref="GLU_SAMPLING_METHOD" />, <see cref="GLU_U_STEP" />, or
-        ///         <see cref="GLU_V_STEP" />, or a <i>val</i> of <see cref="GLU_PATH_LENGTH" />,
-        ///         <see cref="GLU_PARAMETRIC_ERROR" />, <see cref="GLU_DOMAIN_DISTANCE" /> are
-        ///         only available if the GLU version is 1.1 or greater.  They are not valid
-        ///         parameters in GLU 1.0.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="gluGetString" /> can be used to determine the GLU version.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_NURBS_MODE" /> is only availble if the GLU version is 1.3 or
-        ///         greater.
-        ///     </para>
-        ///     <para>
-        ///         The <see cref="GLU_OBJECT_PATH_LENGTH" /> and
-        ///         <see cref="GLU_OBJECT_PARAMETRIC_ERROR" /> values for the
-        ///         <see cref="GLU_SAMPLING_METHOD" /> property are only available if the GLU
-        ///         version is 1.3 or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluGetNurbsProperty(Tao.OpenGl.Glu.GLUnurbs, int, float[])" />
-        /// <seealso cref="gluGetString" />
-        /// <seealso cref="gluLoadSamplingMatrices" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCallback(Tao.OpenGl.Glu.GLUnurbs, int, Tao.OpenGl.Glu.NurbsBeginCallback)" />
-        // void APIENTRY gluNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsProperty([In] GLUnurbs nurb, int property, float val);
-        #endregion gluNurbsProperty([In] GLUnurbs nurb, int property, float val)
-
-        #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[] control, int sOrder, int tOrder, int type)
-        /// <summary>
-        ///     Defines the shape of a NURBS surface.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="sKnotCount">
-        ///     The number of knots in the parametric u direction.
-        /// </param>
-        /// <param name="sKnots">
-        ///     An array of <i>sKnotCount</i> nondecreasing knot values in the parametric
-        ///     u direction
-        /// </param>
-        /// <param name="tKnotCount">
-        ///     The number of knots in the parametric v direction.
-        /// </param>
-        /// <param name="tKnots">
-        ///     An array of <i>tKnotCount</i> nondecreasing knot values in the parametric
-        ///     v direction.
-        /// </param>
-        /// <param name="sStride">
-        ///     The offset (as a number of single-precision floating-point values) between
-        ///     successive control points in the parametric u direction in <i>control</i>.
-        /// </param>
-        /// <param name="tStride">
-        ///     The offset (in single-precision floating-point values) between successive
-        ///     control points in the parametric v direction in <i>control</i>.
-        /// </param>
-        /// <param name="control">
-        ///     An array containing control points for the NURBS surface.  The offsets
-        ///     between successive control points in the parametric u and v directions are
-        ///     given by <i>sStride</i> and <i>tStride</i>.
-        /// </param>
-        /// <param name="sOrder">
-        ///     The order of the NURBS surface in the parametric u direction.  The order is
-        ///     one more than the degree, hence a surface that is cubic in u has a u order of
-        ///     4.
-        /// </param>
-        /// <param name="tOrder">
-        ///     The order of the NURBS surface in the parametric v direction.  The order is
-        ///     one more than the degree, hence a surface that is cubic in v has a v order of
-        ///     4.
-        /// </param>
-        /// <param name="type">
-        ///     The type of the surface.  The <i>type</i> parameter can be any of the valid
-        ///     two-dimensional evaluator types (such as <see cref="Gl.GL_MAP2_VERTEX_3" />
-        ///     or <see cref="Gl.GL_MAP2_COLOR_4" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluNurbsSurface</b> within a NURBS (Non-Uniform Rational B-Spline)
-        ///         surface definition to describe the shape of a NURBS surface (before any
-        ///         trimming).  To mark the beginning of a NURBS surface definition, use the
-        ///         <see cref="gluBeginSurface" /> command.  To mark the end of a NURBS surface
-        ///         definition, use the <see cref="gluEndSurface" /> command.  Call
-        ///         <b>gluNurbsSurface</b> within a NURBS surface definition only.
-        ///     </para>
-        ///     <para>
-        ///         Positional, texture, and color coordinates are associated with a surface by
-        ///         presenting each as a separate <b>gluNurbsSurface</b> between a
-        ///         <see cref="gluBeginSurface" />/<see cref="gluEndSurface" /> pair.  No more
-        ///         than one call to <b>gluNurbsSurface</b> for each of color, position, and
-        ///         texture data can be made within a single
-        ///         <see cref="gluBeginSurface" />/<see cref="gluEndSurface" /> pair.  Exactly
-        ///         one call must be made to describe the position of the surface (a type of
-        ///         <see cref="Gl.GL_MAP2_VERTEX_3" /> or <see cref="Gl.GL_MAP2_VERTEX_4" />).
-        ///     </para>
-        ///     <para>
-        ///         A NURBS surface can be trimmed by using the commands
-        ///         <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> and <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" /> between calls to
-        ///         <see cref="gluBeginTrim" /> and <see cref="gluEndTrim" />.
-        ///     </para>
-        ///     <para>
-        ///         Note that a <b>gluNurbsSurface</b> with <i>sKnotCount</i> knots in the u
-        ///         direction and <i>tKnotCount</i> knots in the v direction with orders
-        ///         <i>sOrder</i> and <i>tOrder</i> must have (<i>sKnotCount</i> - <i>sOrder</i>)
-        ///         multiplied by (<i>tKnotCount</i> - <i>tOrder</i>) control points.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginSurface(nobj);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4);
-        ///             Glu.gluEndSurface(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluEndSurface" />
-        /// <seealso cref="gluEndTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[] control, int sOrder, int tOrder, int type);
-        #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[] control, int sOrder, int tOrder, int type)
-
-        #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[ , ] control, int sOrder, int tOrder, int type)
-        /// <summary>
-        ///     Defines the shape of a NURBS surface.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="sKnotCount">
-        ///     The number of knots in the parametric u direction.
-        /// </param>
-        /// <param name="sKnots">
-        ///     An array of <i>sKnotCount</i> nondecreasing knot values in the parametric
-        ///     u direction
-        /// </param>
-        /// <param name="tKnotCount">
-        ///     The number of knots in the parametric v direction.
-        /// </param>
-        /// <param name="tKnots">
-        ///     An array of <i>tKnotCount</i> nondecreasing knot values in the parametric
-        ///     v direction.
-        /// </param>
-        /// <param name="sStride">
-        ///     The offset (as a number of single-precision floating-point values) between
-        ///     successive control points in the parametric u direction in <i>control</i>.
-        /// </param>
-        /// <param name="tStride">
-        ///     The offset (in single-precision floating-point values) between successive
-        ///     control points in the parametric v direction in <i>control</i>.
-        /// </param>
-        /// <param name="control">
-        ///     An array containing control points for the NURBS surface.  The offsets
-        ///     between successive control points in the parametric u and v directions are
-        ///     given by <i>sStride</i> and <i>tStride</i>.
-        /// </param>
-        /// <param name="sOrder">
-        ///     The order of the NURBS surface in the parametric u direction.  The order is
-        ///     one more than the degree, hence a surface that is cubic in u has a u order of
-        ///     4.
-        /// </param>
-        /// <param name="tOrder">
-        ///     The order of the NURBS surface in the parametric v direction.  The order is
-        ///     one more than the degree, hence a surface that is cubic in v has a v order of
-        ///     4.
-        /// </param>
-        /// <param name="type">
-        ///     The type of the surface.  The <i>type</i> parameter can be any of the valid
-        ///     two-dimensional evaluator types (such as <see cref="Gl.GL_MAP2_VERTEX_3" />
-        ///     or <see cref="Gl.GL_MAP2_COLOR_4" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluNurbsSurface</b> within a NURBS (Non-Uniform Rational B-Spline)
-        ///         surface definition to describe the shape of a NURBS surface (before any
-        ///         trimming).  To mark the beginning of a NURBS surface definition, use the
-        ///         <see cref="gluBeginSurface" /> command.  To mark the end of a NURBS surface
-        ///         definition, use the <see cref="gluEndSurface" /> command.  Call
-        ///         <b>gluNurbsSurface</b> within a NURBS surface definition only.
-        ///     </para>
-        ///     <para>
-        ///         Positional, texture, and color coordinates are associated with a surface by
-        ///         presenting each as a separate <b>gluNurbsSurface</b> between a
-        ///         <see cref="gluBeginSurface" />/<see cref="gluEndSurface" /> pair.  No more
-        ///         than one call to <b>gluNurbsSurface</b> for each of color, position, and
-        ///         texture data can be made within a single
-        ///         <see cref="gluBeginSurface" />/<see cref="gluEndSurface" /> pair.  Exactly
-        ///         one call must be made to describe the position of the surface (a type of
-        ///         <see cref="Gl.GL_MAP2_VERTEX_3" /> or <see cref="Gl.GL_MAP2_VERTEX_4" />).
-        ///     </para>
-        ///     <para>
-        ///         A NURBS surface can be trimmed by using the commands
-        ///         <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> and <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" /> between calls to
-        ///         <see cref="gluBeginTrim" /> and <see cref="gluEndTrim" />.
-        ///     </para>
-        ///     <para>
-        ///         Note that a <b>gluNurbsSurface</b> with <i>sKnotCount</i> knots in the u
-        ///         direction and <i>tKnotCount</i> knots in the v direction with orders
-        ///         <i>sOrder</i> and <i>tOrder</i> must have (<i>sKnotCount</i> - <i>sOrder</i>)
-        ///         multiplied by (<i>tKnotCount</i> - <i>tOrder</i>) control points.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginSurface(nobj);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4);
-        ///             Glu.gluEndSurface(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluEndSurface" />
-        /// <seealso cref="gluEndTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[,] control, int sOrder, int tOrder, int type);
-        #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[ , ] control, int sOrder, int tOrder, int type)
-
-        #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[ , , ] control, int sOrder, int tOrder, int type)
-        /// <summary>
-        ///     Defines the shape of a NURBS surface.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="sKnotCount">
-        ///     The number of knots in the parametric u direction.
-        /// </param>
-        /// <param name="sKnots">
-        ///     An array of <i>sKnotCount</i> nondecreasing knot values in the parametric
-        ///     u direction
-        /// </param>
-        /// <param name="tKnotCount">
-        ///     The number of knots in the parametric v direction.
-        /// </param>
-        /// <param name="tKnots">
-        ///     An array of <i>tKnotCount</i> nondecreasing knot values in the parametric
-        ///     v direction.
-        /// </param>
-        /// <param name="sStride">
-        ///     The offset (as a number of single-precision floating-point values) between
-        ///     successive control points in the parametric u direction in <i>control</i>.
-        /// </param>
-        /// <param name="tStride">
-        ///     The offset (in single-precision floating-point values) between successive
-        ///     control points in the parametric v direction in <i>control</i>.
-        /// </param>
-        /// <param name="control">
-        ///     An array containing control points for the NURBS surface.  The offsets
-        ///     between successive control points in the parametric u and v directions are
-        ///     given by <i>sStride</i> and <i>tStride</i>.
-        /// </param>
-        /// <param name="sOrder">
-        ///     The order of the NURBS surface in the parametric u direction.  The order is
-        ///     one more than the degree, hence a surface that is cubic in u has a u order of
-        ///     4.
-        /// </param>
-        /// <param name="tOrder">
-        ///     The order of the NURBS surface in the parametric v direction.  The order is
-        ///     one more than the degree, hence a surface that is cubic in v has a v order of
-        ///     4.
-        /// </param>
-        /// <param name="type">
-        ///     The type of the surface.  The <i>type</i> parameter can be any of the valid
-        ///     two-dimensional evaluator types (such as <see cref="Gl.GL_MAP2_VERTEX_3" />
-        ///     or <see cref="Gl.GL_MAP2_COLOR_4" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         Use <b>gluNurbsSurface</b> within a NURBS (Non-Uniform Rational B-Spline)
-        ///         surface definition to describe the shape of a NURBS surface (before any
-        ///         trimming).  To mark the beginning of a NURBS surface definition, use the
-        ///         <see cref="gluBeginSurface" /> command.  To mark the end of a NURBS surface
-        ///         definition, use the <see cref="gluEndSurface" /> command.  Call
-        ///         <b>gluNurbsSurface</b> within a NURBS surface definition only.
-        ///     </para>
-        ///     <para>
-        ///         Positional, texture, and color coordinates are associated with a surface by
-        ///         presenting each as a separate <b>gluNurbsSurface</b> between a
-        ///         <see cref="gluBeginSurface" />/<see cref="gluEndSurface" /> pair.  No more
-        ///         than one call to <b>gluNurbsSurface</b> for each of color, position, and
-        ///         texture data can be made within a single
-        ///         <see cref="gluBeginSurface" />/<see cref="gluEndSurface" /> pair.  Exactly
-        ///         one call must be made to describe the position of the surface (a type of
-        ///         <see cref="Gl.GL_MAP2_VERTEX_3" /> or <see cref="Gl.GL_MAP2_VERTEX_4" />).
-        ///     </para>
-        ///     <para>
-        ///         A NURBS surface can be trimmed by using the commands
-        ///         <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" /> and <see cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" /> between calls to
-        ///         <see cref="gluBeginTrim" /> and <see cref="gluEndTrim" />.
-        ///     </para>
-        ///     <para>
-        ///         Note that a <b>gluNurbsSurface</b> with <i>sKnotCount</i> knots in the u
-        ///         direction and <i>tKnotCount</i> knots in the v direction with orders
-        ///         <i>sOrder</i> and <i>tOrder</i> must have (<i>sKnotCount</i> - <i>sOrder</i>)
-        ///         multiplied by (<i>tKnotCount</i> - <i>tOrder</i>) control points.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluBeginSurface(nobj);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL);
-        ///                 Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4);
-        ///             Glu.gluEndSurface(nobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginSurface" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluEndSurface" />
-        /// <seealso cref="gluEndTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        /// <seealso cref="gluPwlCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, int)" />
-        // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[, ,] control, int sOrder, int tOrder, int type);
-        #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[ , , ] control, int sOrder, int tOrder, int type)
-
-        #region gluOrtho2D(double left, double right, double bottom, double top)
-        /// <summary>
-        ///     Defines a 2D orthographic projection matrix.
-        /// </summary>
-        /// <param name="left">
-        ///     The coordinates for the leftvertical clipping planes.
-        /// </param>
-        /// <param name="right">
-        ///     The coordinates for the right vertical clipping planes.
-        /// </param>
-        /// <param name="bottom">
-        ///     The coordinates for the bottom horizontal clipping planes.
-        /// </param>
-        /// <param name="top">
-        ///     The coordinates for the top horizontal clipping planes.
-        /// </param>
-        /// <remarks>
-        ///     The <b>gluOrtho2D</b> function sets up a two-dimensional orthographic viewing
-        ///     region.  This is equivalent to calling <see cref="Gl.glOrtho" /> with
-        ///     <i>near</i> = \961 and <i>far</i> = 1.
-        /// </remarks>
-        /// <seealso cref="Gl.glOrtho" />
-        /// <seealso cref="gluPerspective" />
-        // void APIENTRY gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluOrtho2D(double left, double right, double bottom, double top);
-        #endregion gluOrtho2D(double left, double right, double bottom, double top)
-
-        #region gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle)
-        /// <summary>
-        ///     Draws an arc of a disk.
-        /// </summary>
-        /// <param name="quad">
-        ///     A quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="innerRadius">
-        ///     The inner radius of the partial disk (can be zero).
-        /// </param>
-        /// <param name="outerRadius">
-        ///     The outer radius of the partial disk.
-        /// </param>
-        /// <param name="slices">
-        ///     The number of subdivisions around the z-axis.
-        /// </param>
-        /// <param name="loops">
-        ///     The number of concentric rings about the origin into which the partial disk
-        ///     is subdivided.
-        /// </param>
-        /// <param name="startAngle">
-        ///     The starting angle, in degrees, of the disk portion.
-        /// </param>
-        /// <param name="sweepAngle">
-        ///     The sweep angle, in degrees, of the disk portion.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluPartialDisk</b> renders a partial disk on the z = 0 plane.  A partial
-        ///         disk is similar to a full disk, except that only the subset of the disk from
-        ///         <i>startAngle</i> through <i>startAngle</i> + <i>sweepAngle</i> is included
-        ///         (where 0 degrees is along the +y axis, 90 degrees along the +x axis, 180
-        ///         degrees along the -y axis, and 270 degrees along the -x axis).
-        ///     </para>
-        ///     <para>
-        ///         The partial disk has a radius of <i>outerRadius</i>, and contains a
-        ///         concentric circular hole with a radius of <i>innerRadius</i>.  If
-        ///         <i>innerRadius</i> is 0, then no hole is generated.  The partial disk is
-        ///         subdivided around the z axis into slices (like pizza slices), and also about
-        ///         the z axis into rings (as specified by <i>slices</i> and <i>loops</i>,
-        ///         respectively).
-        ///     </para>
-        ///     <para>
-        ///         With respect to orientation, the +z side of the partial disk is considered
-        ///         to be outside (see <see cref="gluQuadricOrientation" />).  This means that if
-        ///         the orientation is set to <see cref="GLU_OUTSIDE" />, then any normals
-        ///         generated point along the +z axis.  Otherwise, they point along the -z axis.
-        ///     </para>
-        ///     <para>
-        ///         If texturing is turned on (with <see cref="gluQuadricTexture" />), texture
-        ///         coordinates are generated linearly such that where r = <i>outerRadius</i>,
-        ///         the value at (r, 0, 0) is (1.0, 0.5), at (0, r, 0) it is (0.5, 1.0), at
-        ///         (-r, 0, 0) it is (0.0, 0.5), and at (0, -r, 0) it is (0.5, 0.0).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluCylinder" />
-        /// <seealso cref="gluDisk" />
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        /// <seealso cref="gluSphere" />
-        // void APIENTRY gluPartialDisk(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle);
-        #endregion gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle)
-
-        #region gluPerspective(double fovY, double aspectRatio, double zNear, double zFar)
-        /// <summary>
-        ///     Sets up a perspective projection matrix.
-        /// </summary>
-        /// <param name="fovY">
-        ///     The field of view angle, in degrees, in the y-direction.
-        /// </param>
-        /// <param name="aspectRatio">
-        ///     The aspect ratio that determines the field of view in the x-direction.  The
-        ///     aspect ratio is the ratio of x (width) to y (height).
-        /// </param>
-        /// <param name="zNear">
-        ///     The distance from the viewer to the near clipping plane (always positive).
-        /// </param>
-        /// <param name="zFar">
-        ///     The distance from the viewer to the far clipping plane (always positive).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The <b>gluPerspective</b> subroutine specifies a viewing frustum into the
-        ///         world coordinate system.  Generally, the aspect ratio used with this
-        ///         subroutine should match that of its associated viewport.  For example, an
-        ///         aspect ratio value of aspect = 2.0 means the viewer's angle of view is twice
-        ///         as wide in x as it is in y.  If the viewport is twice as wide as it is tall,
-        ///         it displays the image without distortion.
-        ///     </para>
-        ///     <para>
-        ///         The matrix generated by <b>gluPerspective</b> is multipled by the current
-        ///         matrix, just as if Gl.glMultMatrix* were called with the generated matrix.
-        ///         To load the perspective matrix onto the current matrix stack instead,
-        ///         precede the call to <b>gluPerspective</b> with a call to
-        ///         <see cref="Gl.glLoadIdentity" />.
-        ///     </para>
-        ///     <para>
-        ///         Given f defined as follows:
-        ///     </para>
-        ///     <para>
-        ///         <c>f = cotangent(fovY / 2)</c>
-        ///     </para>
-        ///     <para>
-        ///         The generated matrix is:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             (     f                                       )
-        ///             |  ------        0       0            0       |
-        ///             |  aspectRatio                                |
-        ///             |                                             |
-        ///             |                                             |
-        ///             |     0          f       0            0       |
-        ///             |                                             |
-        ///             |                                             |
-        ///             |                    zFar+zNear  2*zFar*zNear |
-        ///             |     0          0   ----------  ------------ |
-        ///             |                    zNear-zFar   zNear-zFar  |
-        ///             |                                             |
-        ///             |                                             |
-        ///             |     0          0      -1            0       |
-        ///             (                                             )
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Depth buffer precision is affected by the values specified for <i>zNear</i>
-        ///         and <i>zFar</i>.  The greater the ratio of <i>zFar</i> to <i>zNear</i> is,
-        ///         the less effective the depth buffer will be at distinguishing between
-        ///         surfaces that are near each other.  If <c>r = zFar / zNear</c> roughly
-        ///         <c>log2(r)</c> bits of depth buffer precision are lost.  Because r approaches
-        ///         infinity as <i>zNear</i> approaches 0, <i>zNear</i> must never be set to 0.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glFrustum" />
-        /// <seealso cref="Gl.glLoadIdentity" />
-        /// <seealso cref="gluOrtho2D" />
-        // void APIENTRY gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluPerspective(double fovY, double aspectRatio, double zNear, double zFar);
-        #endregion gluPerspective(double fovY, double aspectRatio, double zNear, double zFar)
-
-        #region gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport)
-        /// <summary>
-        ///     Defines a picking region.
-        /// </summary>
-        /// <param name="x">
-        ///     The center of a picking region in x axis window coordinates.
-        /// </param>
-        /// <param name="y">
-        ///     The center of a picking region in y axis window coordinates.
-        /// </param>
-        /// <param name="width">
-        ///     The width of the picking region in window coordinates.
-        /// </param>
-        /// <param name="height">
-        ///     The height of the picking region in window coordinates.
-        /// </param>
-        /// <param name="viewport">
-        ///     The current viewport (as from a <see cref="Gl.glGetIntegerv(int, IntPtr)" /> call).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluPickMatrix</b> creates a projection matrix that can be used to restrict
-        ///         drawing to a small region of the viewport.  This is typically useful to
-        ///         determine what objects are being drawn near the cursor.  Use
-        ///         <b>gluPickMatrix</b> to restrict drawing to a small region around the cursor.
-        ///         Then, enter selection mode (with <see cref="Gl.glRenderMode" />) and rerender
-        ///         the scene.  All primitives that would have been drawn near the cursor are
-        ///         identified and stored in the selection buffer.
-        ///     </para>
-        ///     <para>
-        ///         The matrix created by <b>gluPickMatrix</b> is multiplied by the current
-        ///         matrix just as if Gl.glMultMatrix* is called with the generated matrix.
-        ///         To effectively use the generated pick matrix for picking, first call
-        ///         <see cref="Gl.glLoadIdentity" /> to load an identity matrix onto the
-        ///         perspective matrix stack.  Then call <b>gluPickMatrix</b>, and finally, call
-        ///         a command (such as <see cref="gluPerspective" />) to multiply the perspective
-        ///         matrix by the pick matrix.
-        ///     </para>
-        ///     <para>
-        ///         When using <b>gluPickMatrix</b> to pick NURBS, be careful to turn off the
-        ///         NURBS property <see cref="GLU_AUTO_LOAD_MATRIX" />.  If
-        ///         <see cref="GLU_AUTO_LOAD_MATRIX" /> is not turned off, then any NURBS
-        ///         surface rendered is subdivided differently with the pick matrix than the way
-        ///         it was subdivided without the pick matrix.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         When rendering a scene as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Gl.glMatrixMode(Gl.GL_PROJECTION);
-        ///             Gl.glLoadIdentity();
-        ///             Glu.gluPerspective(. . .);
-        ///             Gl.glMatrixMode(Gl.GL_MODELVIEW);
-        ///             // Draw the scene
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         The following code selects a portion of the viewport:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Gl.glMatrixMode(Gl.GL_PROJECTION);
-        ///             Gl.glLoadIdentity();
-        ///             Glu.gluPickMatrix(x, y, width, height, viewport);
-        ///             Glu.gluPerspective(. . .);
-        ///             Gl.glMatrixMode(Gl.GL_MODELVIEW);
-        ///             // Draw the scene
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glLoadIdentity" />
-        /// <seealso cref="Gl.glRenderMode" />
-        /// <seealso cref="gluPerspective" />
-        // void APIENTRY gluPickMatrix(GLdouble x, GLdouble y, GLdouble width, GLdouble height, GLint viewport[4]);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport);
-        #endregion gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport)
-
-        #region int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ)
-        /// <summary>
-        ///     Maps object coordinates to window coordinates.
-        /// </summary>
-        /// <param name="objX">
-        ///     The object's x axis coordinate.
-        /// </param>
-        /// <param name="objY">
-        ///     The object's y axis coordinate.
-        /// </param>
-        /// <param name="objZ">
-        ///     The object's z axis coordinate.
-        /// </param>
-        /// <param name="modelMatrix">
-        ///     The current modelview matrix (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="projectionMatrix">
-        ///     The current projection matrix (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" />
-        ///     call).
-        /// </param>
-        /// <param name="viewport">
-        ///     The current viewport (as from a <see cref="Gl.glGetIntegerv(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="winX">
-        ///     The computed window's x axis coordinate.
-        /// </param>
-        /// <param name="winY">
-        ///     The computed window's y axis coordinate.
-        /// </param>
-        /// <param name="winZ">
-        ///     The computed window's z axis coordinate.
-        /// </param>
-        /// <returns>
-        ///     Returns <see cref="Gl.GL_TRUE" /> indicates success, a return value of
-        ///     <see cref="Gl.GL_FALSE" /> indicates failure.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluProject</b> transforms the specified object coordinates into window
-        ///         coordinates using <i>modelMatrix</i>, <i>projectionMatrix</i>, and
-        ///         <i>viewport</i>.  The result is stored in <i>winX</i>, <i>winY</i>, and
-        ///         <i>winZ</i>.  A return value of <see cref="Gl.GL_TRUE" /> indicates success,
-        ///         a return value of <see cref="Gl.GL_FALSE" /> indicates failure.
-        ///     </para>
-        ///     <para>
-        ///         To compute the coordinates, let <c>v = (objX, objY, objZ, 1.0)</c>
-        ///         represented as a matrix with 4 rows and 1 column.  Then <b>gluProject</b>
-        ///         computes v' as follows:
-        ///     </para>
-        ///     <para>
-        ///         <c>v' = P x M x v</c>
-        ///     </para>
-        ///     <para>
-        ///         Where P is the current projection matrix <i>projectionMatrix</i>, M is the
-        ///         current modelview matrix <i>modelMatrix</i> (both represented as 4x4 matrices
-        ///         in column-major order) and 'x' represents matrix multiplication.
-        ///     </para>
-        ///     <para>
-        ///         The window coordinates are then computed as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             winX = view(0) + view(2) * (v'(0) + 1) / 2
-        ///             winY = view(1) + view(3) * (v'(1) + 1) / 2
-        ///             winZ = (v'(2) + 1) / 2
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetDoublev(int, IntPtr)" />
-        /// <seealso cref="Gl.glGetIntegerv(int, IntPtr)" />
-        /// <seealso cref="gluUnProject" />
-        // int APIENTRY gluProject(GLdouble objx, GLdouble objy, GLdouble objz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *winx, GLdouble *winy, GLdouble *winz);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ);
-        #endregion int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ)
-
-        #region gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type)
-        /// <summary>
-        ///     Describes a piecewise linear NURBS trimming curve.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="count">
-        ///     The number of points on the curve.
-        /// </param>
-        /// <param name="data">
-        ///     An array containing the curve points.
-        /// </param>
-        /// <param name="stride">
-        ///     The offset (a number of single-precision floating-point values) between
-        ///     points on the curve.
-        /// </param>
-        /// <param name="type">
-        ///     The type of curve.  Must be either <see cref="GLU_MAP1_TRIM_2" /> or
-        ///     <see cref="GLU_MAP1_TRIM_3" />.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluPwlCurve</b> describes a piecewise linear trimming curve for a NURBS
-        ///         surface.  A piecewise linear curve consists of a list of coordinates of
-        ///         points in the parameter space for the NURBS surface to be trimmed.  These
-        ///         points are connected with line segments to form a curve.  If the curve is an
-        ///         approximation to a curve that is not piecewise linear, the points should be
-        ///         close enough in parameter space that the resulting path appears curved at the
-        ///         resolution used in the application.
-        ///     </para>
-        ///     <para>
-        ///         If type is <see cref="GLU_MAP1_TRIM_2" />, then it describes a curve in
-        ///         two-dimensional (u and v) parameter space.  If it is
-        ///         <see cref="GLU_MAP1_TRIM_3" />, then it describes a curve in two-dimensional
-        ///         homogeneous (u, v, and w) parameter space.  See the
-        ///         <see cref="gluBeginTrim" /> reference page for more information about
-        ///         trimming curves.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         To describe a trim curve that closely follows the contours of a NURBS
-        ///         surface, call <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        // void APIENTRY gluPwlCurve(GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type);
-        #endregion gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type)
-
-        #region gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[ , ] data, int stride, int type)
-        /// <summary>
-        ///     Describes a piecewise linear NURBS trimming curve.
-        /// </summary>
-        /// <param name="nurb">
-        ///     The NURBS object (created with <see cref="gluNewNurbsRenderer" />).
-        /// </param>
-        /// <param name="count">
-        ///     The number of points on the curve.
-        /// </param>
-        /// <param name="data">
-        ///     An array containing the curve points.
-        /// </param>
-        /// <param name="stride">
-        ///     The offset (a number of single-precision floating-point values) between
-        ///     points on the curve.
-        /// </param>
-        /// <param name="type">
-        ///     The type of curve.  Must be either <see cref="GLU_MAP1_TRIM_2" /> or
-        ///     <see cref="GLU_MAP1_TRIM_3" />.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluPwlCurve</b> describes a piecewise linear trimming curve for a NURBS
-        ///         surface.  A piecewise linear curve consists of a list of coordinates of
-        ///         points in the parameter space for the NURBS surface to be trimmed.  These
-        ///         points are connected with line segments to form a curve.  If the curve is an
-        ///         approximation to a curve that is not piecewise linear, the points should be
-        ///         close enough in parameter space that the resulting path appears curved at the
-        ///         resolution used in the application.
-        ///     </para>
-        ///     <para>
-        ///         If type is <see cref="GLU_MAP1_TRIM_2" />, then it describes a curve in
-        ///         two-dimensional (u and v) parameter space.  If it is
-        ///         <see cref="GLU_MAP1_TRIM_3" />, then it describes a curve in two-dimensional
-        ///         homogeneous (u, v, and w) parameter space.  See the
-        ///         <see cref="gluBeginTrim" /> reference page for more information about
-        ///         trimming curves.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         To describe a trim curve that closely follows the contours of a NURBS
-        ///         surface, call <see cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluBeginCurve" />
-        /// <seealso cref="gluBeginTrim" />
-        /// <seealso cref="gluNewNurbsRenderer" />
-        /// <seealso cref="gluNurbsCurve(Tao.OpenGl.Glu.GLUnurbs, int, float[], int, float[], int, int)" />
-        // void APIENTRY gluPwlCurve(GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[,] data, int stride, int type);
-        #endregion gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[ , ] data, int stride, int type)
-
-        #region gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func)
-        /// <summary>
-        ///     Defines a callback for a quadric object.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="which">
-        ///     The callback being defined.  The only valid value is
-        ///     <see cref="GLU_ERROR" />.
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluQuadricCallback</b> is used to define a new callback to be used by a
-        ///         quadrics object.  If the specified callback is already defined, then it is
-        ///         replaced.  If <i>func</i> is <c>null</c>, then any existing callback is
-        ///         erased.
-        ///     </para>
-        ///     <para>
-        ///         The one legal callback is <see cref="GLU_ERROR" />:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_ERROR" /></term>
-        ///                 <description>
-        ///                     The function is called when an error is encountered.  Its single
-        ///                     argument is of type <see cref="int" />, and it indicates the
-        ///                     specific error that occurred.  Character strings describing these
-        ///                     errors can be retrieved with the <see cref="gluErrorString" />
-        ///                     call.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="QuadricErrorCallback" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewQuadric" />
-        // void APIENTRY gluQuadricCallback(GLUquadric *qobj, GLenum which, void (CALLBACK* fn)());
-        public static void gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func)
-        {
-            quadricErrorCallback = func;
-            __gluQuadricCallback(quad, which, quadricErrorCallback);
-
-        }
-        #endregion gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func)
-
-        #region gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle)
-        /// <summary>
-        ///     Specifies the draw style desired for quadrics.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="drawStyle">
-        ///     <para>
-        ///         The desired draw style.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_FILL" /></term>
-        ///                 <description>
-        ///                     Quadrics are rendered with polygon primitives.  The polygons are
-        ///                     drawn in a counterclockwise fashion with respect to their normals
-        ///                     (as defined with <see cref="gluQuadricOrientation" />).
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_LINE" /></term>
-        ///                 <description>
-        ///                     Quadrics are rendered as a set of lines.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_SILHOUETTE" /></term>
-        ///                 <description>
-        ///                     Quadrics are rendered as a set of lines, except that edges
-        ///                     separating coplanar faces will not be drawn.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_POINT" /></term>
-        ///                 <description>
-        ///                     Quadrics are rendered as a set of points.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <remarks>
-        ///     <b>gluQuadricDrawStyle</b> specifies the draw style for quadrics rendered
-        ///     with <i>quad</i>.
-        /// </remarks>
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluQuadricNormals" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        // void APIENTRY gluQuadricDrawStyle(GLUquadric *quadObject, GLenum drawStyle);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle);
-        #endregion gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle)
-
-        #region gluQuadricNormals([In] GLUquadric quad, int normal)
-        /// <summary>
-        ///     Specifies what kind of normals are to be used for quadrics.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="normal">
-        ///     <para>
-        ///         The desired type of normals.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_NONE" /></term>
-        ///                 <description>
-        ///                     No normals are generated.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_FLAT" /></term>
-        ///                 <description>
-        ///                     One normal is generated for every facet of a quadric.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_SMOOTH" /></term>
-        ///                 <description>
-        ///                     One normal is generated for every vertex of a quadric.  This is
-        ///                     the default value.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <remarks>
-        ///     <b>gluQuadricNormals</b> specifies what kind of normals are desired for
-        ///     quadrics rendered with <i>quad</i>.
-        /// </remarks>
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluQuadricDrawStyle" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        // void APIENTRY gluQuadricNormals(GLUquadric *quadObject, GLenum normals);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluQuadricNormals([In] GLUquadric quad, int normal);
-        #endregion gluQuadricNormals([In] GLUquadric quad, int normal)
-
-        #region gluQuadricOrientation([In] GLUquadric quad, int orientation)
-        /// <summary>
-        ///     Specifies inside or outside orientation for quadrics.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="orientation">
-        ///     <para>
-        ///         The desired orientation.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_OUTSIDE" /></term>
-        ///                 <description>
-        ///                     Draw quadrics with normals pointing outward.  This is the default
-        ///                     value.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_INSIDE" /></term>
-        ///                 <description>
-        ///                     Draw quadrics with normals pointing inward.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluQuadricOrientation</b> specifies what kind of orientation is desired
-        ///         for quadrics rendered with <i>quad</i>.
-        ///     </para>
-        ///     <para>
-        ///         The interpretation of outward and inward depends on the quadric being drawn.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluQuadricDrawStyle" />
-        /// <seealso cref="gluQuadricNormals" />
-        /// <seealso cref="gluQuadricTexture" />
-        // void APIENTRY gluQuadricOrientation(GLUquadric *quadObject, GLenum orientation);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluQuadricOrientation([In] GLUquadric quad, int orientation);
-        #endregion gluQuadricOrientation([In] GLUquadric quad, int orientation)
-
-        #region gluQuadricTexture([In] GLUquadric quad, int texture)
-        /// <summary>
-        ///     Specifies whether quadrics are to be textured.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="texture">
-        ///     <para>
-        ///         A flag indicating whether texture coordinates are to be generated.  The
-        ///         following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="Gl.GL_TRUE" /></term>
-        ///                 <description>
-        ///                     Generate texture coordinates.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="Gl.GL_FALSE" /></term>
-        ///                 <description>
-        ///                     Do not generate texture coordinates.  This is the default value.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluQuadricTexture</b> specifies if texture coordinates should be generated
-        ///         for quadrics rendered with <i>quad</i>.
-        ///     </para>
-        ///     <para>
-        ///         The manner in which texture coordinates are generated depends upon the
-        ///         specific quadric rendered.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluQuadricDrawStyle" />
-        /// <seealso cref="gluQuadricNormals" />
-        /// <seealso cref="gluQuadricOrientation" />
-        // void APIENTRY gluQuadricTexture(GLUquadric *quadObject, GLboolean textureCoords);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluQuadricTexture([In] GLUquadric quad, int texture);
-        #endregion gluQuadricTexture([In] GLUquadric quad, int texture)
-
-        #region int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut)
-        /// <summary>
-        ///     Scales an image to an arbitrary size.
-        /// </summary>
-        /// <param name="format">
-        ///     The format of the pixel data.  The following symbolic values are valid:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_STENCIL_INDEX" />,
-        ///     <see cref="Gl.GL_DEPTH_COMPONENT" />, <see cref="Gl.GL_RED" />,
-        ///     <see cref="Gl.GL_GREEN" />, <see cref="Gl.GL_BLUE" />,
-        ///     <see cref="Gl.GL_ALPHA" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_BGR_EXT" />,
-        ///     <see cref="Gl.GL_BGRA_EXT" />, <see cref="Gl.GL_LUMINANCE" />, and
-        ///     <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="widthIn">
-        ///     The width of the source image that is scaled.
-        /// </param>
-        /// <param name="heightIn">
-        ///     The height of the source image that is scaled.
-        /// </param>
-        /// <param name="typeIn">
-        ///     The data type for <i>dataIn</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="dataIn">
-        ///     A pointer to the source image.
-        /// </param>
-        /// <param name="widthOut">
-        ///     The width of the destination image.
-        /// </param>
-        /// <param name="heightOut">
-        ///     The height of the destination image.
-        /// </param>
-        /// <param name="typeOut">
-        ///     The data type for <i>dataOut</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="dataOut">
-        ///     A pointer to the destination image.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluScaleImage</b> scales a pixel image using the appropriate pixel store
-        ///         modes to unpack data from the source image and pack data into the
-        ///         destination image.
-        ///     </para>
-        ///     <para>
-        ///         When shrinking an image, <b>gluScaleImage</b> uses a box filter to sample the
-        ///         source image and create pixels for the destination image.  When magnifying an
-        ///         image, the pixels from the source image are linearly interpolated to create
-        ///         the destination image.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glReadPixels(int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>format</i>, <i>typeIn</i>, and
-        ///         <i>typeOut</i> parameters.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>widthIn</i>,
-        ///         <i>heightIn</i>, <i>widthOut</i>, or <i>heightOut</i> is negative.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i>, <i>typeIn</i>,
-        ///         or <i>typeOut</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glReadPixels(int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // int APIENTRY gluScaleImage(GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut);
-        #endregion int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut)
-
-        #region int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut)
-        /// <summary>
-        ///     Scales an image to an arbitrary size.
-        /// </summary>
-        /// <param name="format">
-        ///     The format of the pixel data.  The following symbolic values are valid:
-        ///     <see cref="Gl.GL_COLOR_INDEX" />, <see cref="Gl.GL_STENCIL_INDEX" />,
-        ///     <see cref="Gl.GL_DEPTH_COMPONENT" />, <see cref="Gl.GL_RED" />,
-        ///     <see cref="Gl.GL_GREEN" />, <see cref="Gl.GL_BLUE" />,
-        ///     <see cref="Gl.GL_ALPHA" />, <see cref="Gl.GL_RGB" />,
-        ///     <see cref="Gl.GL_RGBA" />, <see cref="Gl.GL_BGR_EXT" />,
-        ///     <see cref="Gl.GL_BGRA_EXT" />, <see cref="Gl.GL_LUMINANCE" />, and
-        ///     <see cref="Gl.GL_LUMINANCE_ALPHA" />.
-        /// </param>
-        /// <param name="widthIn">
-        ///     The width of the source image that is scaled.
-        /// </param>
-        /// <param name="heightIn">
-        ///     The height of the source image that is scaled.
-        /// </param>
-        /// <param name="typeIn">
-        ///     The data type for <i>dataIn</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="dataIn">
-        ///     A pointer to the source image.
-        /// </param>
-        /// <param name="widthOut">
-        ///     The width of the destination image.
-        /// </param>
-        /// <param name="heightOut">
-        ///     The height of the destination image.
-        /// </param>
-        /// <param name="typeOut">
-        ///     The data type for <i>dataOut</i>.  Must be one of
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE" />, <see cref="Gl.GL_BYTE" />,
-        ///     <see cref="Gl.GL_BITMAP" />, <see cref="Gl.GL_UNSIGNED_SHORT" />,
-        ///     <see cref="Gl.GL_SHORT" />, <see cref="Gl.GL_UNSIGNED_INT" />,
-        ///     <see cref="Gl.GL_INT" />, <see cref="Gl.GL_FLOAT" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///     <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///     <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///     <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, or
-        ///     <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" />.
-        /// </param>
-        /// <param name="dataOut">
-        ///     A pointer to the destination image.
-        /// </param>
-        /// <returns>
-        ///     A return value of zero indicates success, otherwise a GLU error code is
-        ///     returned (see <see cref="gluErrorString" />).
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluScaleImage</b> scales a pixel image using the appropriate pixel store
-        ///         modes to unpack data from the source image and pack data into the
-        ///         destination image.
-        ///     </para>
-        ///     <para>
-        ///         When shrinking an image, <b>gluScaleImage</b> uses a box filter to sample the
-        ///         source image and create pixels for the destination image.  When magnifying an
-        ///         image, the pixels from the source image are linearly interpolated to create
-        ///         the destination image.
-        ///     </para>
-        ///     <para>
-        ///         A return value of zero indicates success, otherwise a GLU error code is
-        ///         returned (see <see cref="gluErrorString" />).
-        ///     </para>
-        ///     <para>
-        ///         See the <see cref="Gl.glReadPixels(int, int, int, int, int, int, object)" /> reference page for a description of
-        ///         the acceptable values for the <i>format</i>, <i>typeIn</i>, and
-        ///         <i>typeOut</i> parameters.
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         Formats <see cref="Gl.GL_BGR" />, and <see cref="Gl.GL_BGRA" />, and types
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" />,
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" />,
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" />,
-        ///         <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" />, and
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> are only available if the GL
-        ///         version is 1.2 or greater.
-        ///     </para>
-        ///     <para>
-        ///         <b>ERRORS</b>
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_VALUE" /> is returned if <i>widthIn</i>,
-        ///         <i>heightIn</i>, <i>widthOut</i>, or <i>heightOut</i> is negative.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_ENUM" /> is returned if <i>format</i>, <i>typeIn</i>,
-        ///         or <i>typeOut</i> is not legal.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_BYTE_3_3_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_BYTE_2_3_3_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_5_6_5_REV" /> and <i>format</i> is not
-        ///         <see cref="Gl.GL_RGB" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_4_4_4_4_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_SHORT_5_5_5_1" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_SHORT_1_5_5_5_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_8_8_8_8_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        ///     <para>
-        ///         <see cref="GLU_INVALID_OPERATION" /> is returned if <i>typeIn</i> or
-        ///         <i>typeOut</i> is <see cref="Gl.GL_UNSIGNED_INT_10_10_10_2" /> or
-        ///         <see cref="Gl.GL_UNSIGNED_INT_2_10_10_10_REV" /> and <i>format</i> is neither
-        ///         <see cref="Gl.GL_RGBA" /> nor <see cref="Gl.GL_BGRA" />.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glDrawPixels(int, int, int, int, object)" />
-        /// <seealso cref="Gl.glReadPixels(int, int, int, int, int, int, object)" />
-        /// <seealso cref="gluBuild1DMipmaps(int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild2DMipmaps(int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluBuild3DMipmaps(int, int, int, int, int, int, int, byte[])" />
-        /// <seealso cref="gluErrorString" />
-        // int APIENTRY gluScaleImage(GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut);
-        #endregion int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut)
-
-        #region gluSphere([In] GLUquadric quad, double radius, int slices, int stacks)
-        /// <summary>
-        ///     Draws a sphere.
-        /// </summary>
-        /// <param name="quad">
-        ///     The quadric object (created with <see cref="gluNewQuadric" />).
-        /// </param>
-        /// <param name="radius">
-        ///     The radius of the sphere.
-        /// </param>
-        /// <param name="slices">
-        ///     The number of subdivisions around the z-axis (similar to lines of longitude.
-        /// </param>
-        /// <param name="stacks">
-        ///     The number of subdivisions along the z-axis (similar to lines of latitude).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluSphere</b> draws a sphere of the given radius centered around the
-        ///         origin.  The sphere is subdivided around the z axis into slices and along the
-        ///         z axis into stacks (similar to lines of longitude and latitude).
-        ///     </para>
-        ///     <para>
-        ///         If the orientation is set to <see cref="GLU_OUTSIDE" /> (with
-        ///         <see cref="gluQuadricOrientation" />), then any normals generated point away
-        ///         from the center of the sphere.  Otherwise, they point toward the center of
-        ///         the sphere.
-        ///     </para>
-        ///     <para>
-        ///         If texturing is turned on (with <see cref="gluQuadricTexture" />), then
-        ///         texture coordinates are generated so that t ranges from 0.0 at z = -radius
-        ///         to 1.0 at z = radius (t increases linearly along longitudinal lines), and
-        ///         s ranges from 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y
-        ///         axis, to 0.75 at the -x axis, and back to 1.0 at the +y axis.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluCylinder" />
-        /// <seealso cref="gluDisk" />
-        /// <seealso cref="gluNewQuadric" />
-        /// <seealso cref="gluPartialDisk" />
-        /// <seealso cref="gluQuadricOrientation" />
-        /// <seealso cref="gluQuadricTexture" />
-        // void APIENTRY gluSphere(GLUquadric *qobj, GLdouble radius, GLint slices, GLint stacks);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluSphere([In] GLUquadric quad, double radius, int slices, int stacks);
-        #endregion gluSphere([In] GLUquadric quad, double radius, int slices, int stacks)
-
-        #region gluTessBeginContour([In] GLUtesselator tess)
-        /// <summary>
-        ///     Delimits a contour description.
-        /// </summary>
-        /// <param name="tess">
-        ///         The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <remarks>
-        ///     <b>gluTessBeginContour</b> and <see cref="gluTessEndContour" /> delimit the
-        ///     definition of a polygon contour.  Within each
-        ///     <b>gluTessBeginContour</b>/<see cref="gluTessEndContour" /> pair, there can
-        ///     be zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.  The vertices specify
-        ///     a closed contour (the last vertex of each contour is automatically linked to
-        ///     the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> reference page for more
-        ///     details.  <b>gluTessBeginContour</b> can only be called between
-        ///     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> and <see cref="gluTessEndPolygon" />.
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndContour" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginContour(GLUtesselator *tess);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginContour([In] GLUtesselator tess);
-        #endregion gluTessBeginContour([In] GLUtesselator tess)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[, ,] data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , , ] data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data)
-
-        #region gluTessBeginPolygon([In] GLUtesselator tess, [In] void *data)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="data">
-        ///     A pointer to a programmer defined\96polygon data structure.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessBeginPolygon</b> and <see cref="gluTessEndPolygon" /> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <b>gluTessBeginPolygon</b>/<see cref="gluTessEndPolygon" /> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> is a pointer to a user-defined data structure.  If the
-        ///         appropriate callback(s) are specified (see <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />),
-        ///         then this pointer is returned to the callback function(s).  Thus, it is a
-        ///         convenient way to store per-polygon information.
-        ///     </para>
-        ///     <para>
-        ///         Once <see cref="gluTessEndPolygon" /> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] void* data);
-        #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] void *data)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func)
-        {
-            tessBeginCallback = func;
-            __gluTessCallback(tess, which, tessBeginCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func)
-        {
-            tessBeginDataCallback = func;
-            __gluTessCallback(tess, which, tessBeginDataCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func)
-        {
-            tessCombineCallback = func;
-            __gluTessCallback(tess, which, tessCombineCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func)
-        {
-            tessCombineCallback1 = func;
-            __gluTessCallback(tess, which, tessCombineCallback1);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func)
-        {
-            tessCombineDataCallback = func;
-            __gluTessCallback(tess, which, tessCombineDataCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func)
-        {
-            tessEdgeFlagCallback = func;
-            __gluTessCallback(tess, which, tessEdgeFlagCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func)
-        {
-            tessEdgeFlagDataCallback = func;
-            __gluTessCallback(tess, which, tessEdgeFlagDataCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func)
-        {
-            tessEndCallback = func;
-            __gluTessCallback(tess, which, tessEndCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func)
-        {
-            tessEndDataCallback = func;
-            __gluTessCallback(tess, which, tessEndDataCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func)
-        {
-            tessErrorCallback = func;
-            __gluTessCallback(tess, which, tessErrorCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func)
-        {
-            tessErrorDataCallback = func;
-            __gluTessCallback(tess, which, tessErrorDataCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func)
-        {
-            tessVertexCallback = func;
-            __gluTessCallback(tess, which, tessVertexCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func)
-        {
-            tessVertexCallback1 = func;
-            __gluTessCallback(tess, which, tessVertexCallback1);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func)
-
-        #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func)
-        /// <summary>
-        ///     Defines a callback for a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The callback being defined.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN" /></term>
-        ///                 <description>
-        ///                     The begin callback is invoked like <see cref="Gl.glBegin" /> to
-        ///                     indicate the start of a (triangle) primitive.  The function takes
-        ///                     a single argument of type <see cref="int" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_FALSE" />, then the argument is set to either
-        ///                     <see cref="Gl.GL_TRIANGLE_FAN" />,
-        ///                     <see cref="Gl.GL_TRIANGLE_STRIP" />, or
-        ///                     <see cref="Gl.GL_TRIANGLES" />.  If the
-        ///                     <see cref="GLU_TESS_BOUNDARY_ONLY" /> property is set to
-        ///                     <see cref="Gl.GL_TRUE" />, then the argument will be set to
-        ///                     <see cref="Gl.GL_LINE_LOOP" />.  The delegate prototype for this
-        ///                     callback is <see cref="TessBeginCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BEGIN_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_BEGIN" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessBeginDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The combine callback is called to create a new vertex when
-        ///                         the tessellation detects an intersection, or wishes to merge
-        ///                         features.  The function takes four arguments: an array of
-        ///                         three elements each of type <see cref="double" />, an
-        ///                         array of four pointers, an array of four elements each of
-        ///                         type <see cref="float" />, and a pointer to a pointer.  The
-        ///                         delegate prototype for this callback is
-        ///                         <see cref="TessCombineCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The vertex is defined as a linear combination of up to four
-        ///                         existing vertices, stored in <i>vertexData</i>.  The
-        ///                         coefficients of the linear combination are given by
-        ///                         <i>weight</i>; these weights always add up to 1.  All
-        ///                         vertex pointers are valid even when some of the weights are
-        ///                         0.  <i>coordinates</i> gives the location of the new vertex.
-        ///                     </para>
-        ///                     <para>
-        ///                         The user must allocate another vertex, interpolate parameters
-        ///                         using <i>vertexData</i> and <i>weight</i>, and return the new
-        ///                         vertex pointer in <i>outData</i>.  This handle is supplied
-        ///                         during rendering callbacks.  The user is responsible for
-        ///                         freeing the memory some time after
-        ///                         <see cref="gluTessEndPolygon" /> is called.
-        ///                     </para>
-        ///                     <para>
-        ///                         For example, if the polygon lies in an arbitrary plane in
-        ///                         3-space, and a color is associated with each vertex, the
-        ///                         <b>GLU_TESS_COMBINE</b> callback might look like this:
-        ///                     </para>
-        ///                     <para>
-        ///                         <code>
-        ///                             void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { 
-        ///                                 VERTEX *newVertex = new_vertex(); 
-        ///                                 newVertex->x = coords[0]; 
-        ///                                 newVertex->y = coords[1]; 
-        ///                                 newVertex->z = coords[2]; 
-        ///                                 newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + 
-        ///                                 w[3]*d[3]->r; 
-        ///                                 newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + 
-        ///                                 w[3]*d[3]->g; 
-        ///                                 newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + 
-        ///                                 w[3]*d[3]->b; 
-        ///                                 newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + 
-        ///                                 w[3]*d[3]->a; 
-        ///                                 *dataOut = newVertex; 
-        ///                             } 
-        ///                         </code>
-        ///                     </para>
-        ///                     <para>
-        ///                         If the tessellation detects an intersection, then the
-        ///                         <b>GLU_TESS_COMBINE</b> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback (see below)
-        ///                         must be defined, and it must write a non-NULL pointer into
-        ///                         <i>outData</i>.  Otherwise the
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error occurs,
-        ///                         and no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_COMBINE_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_COMBINE" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessCombineDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The edge flag callback is similar to
-        ///                         <see cref="Gl.glEdgeFlag" />.  The function takes a single
-        ///                         boolean flag that indicates which edges lie on the polygon
-        ///                         boundary.  If the flag is <see cref="Gl.GL_TRUE" />, then
-        ///                         each vertex that follows begins an edge that lies on the
-        ///                         polygon boundary, that is, an edge that separates an interior
-        ///                         region from an exterior one.  If the flag is
-        ///                         <see cref="Gl.GL_FALSE" />, then each vertex that follows
-        ///                         begins an edge that lies in the polygon interior.  The edge
-        ///                         flag callback (if defined) is invoked before the first
-        ///                         vertex callback.
-        ///                     </para>
-        ///                     <para>
-        ///                         Since triangle fans and triangle strips do not support edge
-        ///                         flags, the begin callback is not called with
-        ///                         <see cref="Gl.GL_TRIANGLE_FAN" /> or
-        ///                         <see cref="Gl.GL_TRIANGLE_STRIP" /> if a non-NULL edge flag
-        ///                         callback is provided.  (If the callback is initialized to
-        ///                         <c>null</c>, there is no impact on performance).  Instead,
-        ///                         the fans and strips are converted to independent triangles.
-        ///                         The delegate prototype for this callback is
-        ///                         <see cref="TessEdgeFlagCallback" />.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_EDGE_FLAG_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_EDGE_FLAG" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEdgeFlagDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END" /></term>
-        ///                 <description>
-        ///                     The end callback serves the same purpose as
-        ///                     <see cref="Gl.glEnd" />.  It indicates the end of a primitive and
-        ///                     it takes no arguments.  The delegate prototype for this callback
-        ///                     is <see cref="TessEndCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_END_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_END" /> callback except that
-        ///                     it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessEndDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         The error callback is called when an error is encountered.
-        ///                         The one argument is of type <see cref="int" />; it
-        ///                         indicates the specific error that occurred and will be set to
-        ///                         one of <see cref="GLU_TESS_MISSING_BEGIN_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_POLYGON" />,
-        ///                         <see cref="GLU_TESS_MISSING_BEGIN_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_MISSING_END_CONTOUR" />,
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" />,
-        ///                         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> or
-        ///                         <see cref="GLU_OUT_OF_MEMORY" />.  Character strings
-        ///                         describing these errors can be retrieved with the
-        ///                         <see cref="gluErrorString" /> call.  The delegate prototype
-        ///                         for this callback is <see cref="TessErrorCallback" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         The GLU library will recover from the first four errors by
-        ///                         inserting the missing call(s).
-        ///                         <see cref="GLU_TESS_COORD_TOO_LARGE" /> indicates that some
-        ///                         vertex coordinate exceeded the predefined constant
-        ///                         <see cref="GLU_TESS_MAX_COORD" /> in absolute value, and that
-        ///                         the value has been clamped.  (Coordinate values must be small
-        ///                         enough so that two can be multiplied together without
-        ///                         overflow.)  <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" />
-        ///                         indicates that the tessellation detected an intersection
-        ///                         between two edges in the input data, and the
-        ///                         <see cref="GLU_TESS_COMBINE" /> or
-        ///                         <see cref="GLU_TESS_COMBINE_DATA" /> callback was not
-        ///                         provided.  No output is generated.
-        ///                         <see cref="GLU_OUT_OF_MEMORY" /> indicates that there is not
-        ///                         enough memory so no output is generated.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_ERROR_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_ERROR" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessErrorDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX" /></term>
-        ///                 <description>
-        ///                     The vertex callback is invoked between the begin and end
-        ///                     callbacks.  It is similar to Gl.glVertex*, and it defines the
-        ///                     vertices of the triangles created by the tessellation process.
-        ///                     The function takes a pointer as its only argument.  This pointer
-        ///                     is identical to the opaque pointer provided by the user when the
-        ///                     vertex was described (see <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />).  The
-        ///                     delegate prototype for this callback is
-        ///                     <see cref="TessVertexCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_VERTEX_DATA" /></term>
-        ///                 <description>
-        ///                     The same as the <see cref="GLU_TESS_VERTEX" /> callback except
-        ///                     that it takes an additional pointer argument.  This pointer is
-        ///                     identical to the opaque pointer provided when
-        ///                     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was called.  The delegate
-        ///                     prototype for this callback is
-        ///                     <see cref="TessVertexDataCallback" />.
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="func">
-        ///     The function to be called.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessCallback</b> is used to indicate a callback to be used by a
-        ///         tessellation object.  If the specified callback is already defined, then it
-        ///         is replaced.  If <i>func</i> is <c>null</c>, then the existing callback
-        ///         becomes undefined.
-        ///     </para>
-        ///     <para>
-        ///         These callbacks are used by the tessellation object to describe how a polygon
-        ///         specified by the user is broken into triangles.  Note that there are two
-        ///         versions of each callback: one with user-specified polygon data and one
-        ///         without.  If both versions of a particular callback are specified, then the
-        ///         callback with user-specified polygon data will be used.  Note that the
-        ///         <i>polygonData</i> parameter used by some of the functions is a copy of the
-        ///         pointer that was specified when <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> was
-        ///         called.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         You can directly render tessallated polygons as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv));
-        ///             Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd));
-        ///
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v, v);
-        ///                     . . .
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="TessBeginCallback" />
-        /// <seealso cref="TessBeginDataCallback" />
-        /// <seealso cref="TessCombineCallback" />
-        /// <seealso cref="TessCombineDataCallback" />
-        /// <seealso cref="TessEdgeFlagCallback" />
-        /// <seealso cref="TessEdgeFlagDataCallback" />
-        /// <seealso cref="TessEndCallback" />
-        /// <seealso cref="TessEndDataCallback" />
-        /// <seealso cref="TessErrorCallback" />
-        /// <seealso cref="TessErrorDataCallback" />
-        /// <seealso cref="TessVertexCallback" />
-        /// <seealso cref="TessVertexDataCallback" />
-        /// <seealso cref="Gl.glBegin" />
-        /// <seealso cref="Gl.glEdgeFlag" />
-        /// <seealso cref="gluErrorString" />
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)());
-        public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func)
-        {
-            tessVertexDataCallback = func;
-            __gluTessCallback(tess, which, tessVertexDataCallback);
-        }
-        #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func)
-
-        #region gluTessEndContour([In] GLUtesselator tess)
-        /// <summary>
-        ///     Delimits a contour description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <remarks>
-        ///     <see cref="gluTessBeginContour" /> and <b>gluTessEndContour</b> delimit the
-        ///     definition of a polygon contour.  Within each
-        ///     <see cref="gluTessBeginContour" />/<b>gluTessEndContour</b> pair, there can
-        ///     be zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.  The vertices specify
-        ///     a closed contour (the last vertex of each contour is automatically linked to
-        ///     the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" /> reference page for more
-        ///     details.  <see cref="gluTessBeginContour" /> can only be called between
-        ///     <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> and <see cref="gluTessEndPolygon" />.
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessEndContour(GLUtesselator *tess);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessEndContour([In] GLUtesselator tess);
-        #endregion gluTessEndContour([In] GLUtesselator tess)
-
-        #region gluTessEndPolygon([In] GLUtesselator tess)
-        /// <summary>
-        ///     Delimits a polygon description.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" /> and <b>gluTessEndPolygon</b> delimit the
-        ///         definition of a convex, concave or self-intersecting polygon.  Within each
-        ///         <see cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />/<b>gluTessEndPolygon</b> pair, there must
-        ///         be one or more calls to
-        ///         <see cref="gluTessBeginContour" />/<see cref="gluTessEndContour" />.  Within
-        ///         each contour, there are zero or more calls to <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />.
-        ///         The vertices specify a closed contour (the last vertex of each contour is
-        ///         automatically linked to the first).  See the <see cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />,
-        ///         <see cref="gluTessBeginContour" />, and <see cref="gluTessEndContour" />
-        ///         reference pages for more details.
-        ///     </para>
-        ///     <para>
-        ///         Once <b>gluTessEndPolygon</b> is called, the polygon is tessellated,
-        ///         and the resulting triangles are described through callbacks.  See
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> for descriptions of the callback functions.
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tobj, null);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v1, v1);
-        ///                     Glu.gluTessVertex(tobj, v2, v2);
-        ///                     Glu.gluTessVertex(tobj, v3, v3);
-        ///                     Glu.gluTessVertex(tobj, v4, v4);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///                 Glu.gluTessBeginContour(tobj);
-        ///                     Glu.gluTessVertex(tobj, v5, v5);
-        ///                     Glu.gluTessVertex(tobj, v6, v6);
-        ///                     Glu.gluTessVertex(tobj, v7, v7);
-        ///                 Glu.gluTessEndContour(tobj);
-        ///             Glu.gluTessEndPolygon(tobj);
-        ///         </code>
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        /// <seealso cref="gluTessVertex(Tao.OpenGl.Glu.GLUtesselator, double[], byte[])" />
-        // void APIENTRY gluTessEndPolygon(GLUtesselator *tess);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessEndPolygon([In] GLUtesselator tess);
-        #endregion gluTessEndPolygon([In] GLUtesselator tess)
-
-        #region gluTessNormal([In] GLUtesselator tess, double x, double y, double z)
-        /// <summary>
-        ///     Specifies a normal for a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="x">
-        ///     The x-coordinate component of a normal.
-        /// </param>
-        /// <param name="y">
-        ///     The y-coordinate component of a normal.
-        /// </param>
-        /// <param name="z">
-        ///     The z-coordinate component of a normal.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessNormal</b> describes a normal for a polygon that the program is
-        ///         defining.  All input data will be projected onto a plane perpendicular to one
-        ///         of the three coordinate axes before tessellation and all output triangles
-        ///         will be oriented CCW with respect to the normal (CW orientation can be
-        ///         obtained by reversing the sign of the supplied normal).  For example, if you
-        ///         know that all polygons lie in the x-y plane, call
-        ///         <c>Glu.gluTessNormal(tess, 0.0, 0.0, 1.0)</c> before rendering any polygons.
-        ///     </para>
-        ///     <para>
-        ///         If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is
-        ///         determined as follows.  The direction of the normal, up to its sign, is found
-        ///         by fitting a plane to the vertices, without regard to how the vertices are
-        ///         connected.  It is expected that the input data lies approximately in the
-        ///         plane; otherwise, projection perpendicular to one of the three coordinate
-        ///         axes may substantially change the geometry.  The sign of the normal is chosen
-        ///         so that the sum of the signed areas of all input contours is nonnegative
-        ///         (where a CCW contour has positive area).
-        ///     </para>
-        ///     <para>
-        ///         The supplied normal persists until it is changed by another call to
-        ///         <b>gluTessNormal</b>.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessEndPolygon" />
-        // void APIENTRY gluTessNormal(GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessNormal([In] GLUtesselator tess, double x, double y, double z);
-        #endregion gluTessNormal([In] GLUtesselator tess, double x, double y, double z)
-
-        #region gluTessProperty([In] GLUtesselator tess, int which, double data)
-        /// <summary>
-        ///     Sets the property of a tessellation object.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="which">
-        ///     <para>
-        ///         The property value to set.  The following values are valid:
-        ///     </para>
-        ///     <para>
-        ///         <list type="table">
-        ///             <listheader>
-        ///                 <term>Value</term>
-        ///                 <description>Description</description>
-        ///             </listheader>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_WINDING_RULE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         Determines which parts of the polygon are on the "interior".
-        ///                         <i>data</i> may be set to one of
-        ///                         <see cref="GLU_TESS_WINDING_ODD" />,
-        ///                         <see cref="GLU_TESS_WINDING_NONZERO" />,
-        ///                         <see cref="GLU_TESS_WINDING_POSITIVE" />, or
-        ///                         <see cref="GLU_TESS_WINDING_NEGATIVE" />, or
-        ///                         <see cref="GLU_TESS_WINDING_ABS_GEQ_TWO" />.
-        ///                     </para>
-        ///                     <para>
-        ///                         To understand how the winding rule works, consider that the
-        ///                         input contours partition the plane into regions.  The winding
-        ///                         rule determines which of these regions are inside the
-        ///                         polygon.
-        ///                     </para>
-        ///                     <para>
-        ///                         For a single contour C, the winding number of a point x is
-        ///                         simply the signed number of revolutions we make around x as
-        ///                         we travel once around C (where CCW is positive).  When there
-        ///                         are several contours, the individual winding numbers are
-        ///                         summed.  This procedure associates a signed integer value
-        ///                         with each point x in the plane.  Note that the winding number
-        ///                         is the same for all points in a single region.
-        ///                     </para>
-        ///                     <para>
-        ///                         The winding rule classifies a region as "inside" if its
-        ///                         winding number belongs to the chosen category (odd, nonzero,
-        ///                         positive, negative, or absolute value of at least two).  The
-        ///                         previous GLU tessellator (prior to GLU 1.2) used the "odd"
-        ///                         rule.  The "nonzero" rule is another common way to define the
-        ///                         interior.  The other three rules are useful for polygon CSG
-        ///                         operations.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_BOUNDARY_ONLY" /></term>
-        ///                 <description>
-        ///                     Is a boolean value ("value" should be set to
-        ///                     <see cref="Gl.GL_TRUE" /> or <see cref="Gl.GL_FALSE" />).  When
-        ///                     set to <see cref="Gl.GL_TRUE" />, a set of closed contours
-        ///                     separating the polygon interior and exterior are returned instead
-        ///                     of a tessellation.  Exterior contours are oriented CCW with
-        ///                     respect to the normal; interior contours are oriented CW.  The
-        ///                     <see cref="GLU_TESS_BEGIN" /> and
-        ///                     <see cref="GLU_TESS_BEGIN_DATA" /> callbacks use the type
-        ///                     <see cref="Gl.GL_LINE_LOOP" /> for each contour.
-        ///                 </description>
-        ///             </item>
-        ///             <item>
-        ///                 <term><see cref="GLU_TESS_TOLERANCE" /></term>
-        ///                 <description>
-        ///                     <para>
-        ///                         Specifies a tolerance for merging features to reduce the size
-        ///                         of the output.  For example, two vertices that are very close
-        ///                         to each other might be replaced by a single vertex.  The
-        ///                         tolerance is multiplied by the largest coordinate magnitude
-        ///                         of any input vertex; this specifies the maximum distance that
-        ///                         any feature can move as the result of a single merge
-        ///                         operation.  If a single feature takes part in several merge
-        ///                         operations, the total distance moved could be larger.
-        ///                     </para>
-        ///                     <para>
-        ///                         Feature merging is completely optional; the tolerance is only
-        ///                         a hint.  The implementation is free to merge in some cases
-        ///                         and not in others, or to never merge features at all.  The
-        ///                         initial tolerance is 0.
-        ///                     </para>
-        ///                     <para>
-        ///                         The current implementation merges vertices only if they are
-        ///                         exactly coincident, regardless of the current tolerance.  A
-        ///                         vertex is spliced into an edge only if the implementation is
-        ///                         unable to distinguish which side of the edge the vertex lies
-        ///                         on.  Two edges are merged only when both endpoints are
-        ///                         identical.
-        ///                     </para>
-        ///                 </description>
-        ///             </item>
-        ///         </list>
-        ///     </para>
-        /// </param>
-        /// <param name="data">
-        ///     The value of the indicated property.
-        /// </param>
-        /// <remarks>
-        ///     <b>gluTessProperty</b> is used to control properties stored in a tessellation
-        ///     object.  These properties affect the way that the polygons are interpreted
-        ///     and rendered.
-        /// </remarks>
-        /// <seealso cref="gluGetTessProperty(Tao.OpenGl.Glu.GLUtesselator, int, double[])" />
-        /// <seealso cref="gluNewTess" />
-        // void APIENTRY gluTessProperty(GLUtesselator *tess, GLenum which, GLdouble value);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessProperty([In] GLUtesselator tess, int which, double data);
-        #endregion gluTessProperty([In] GLUtesselator tess, int which, double data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , , ] data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[, ,] data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , , ] data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data)
-
-        #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void *data)
-        /// <summary>
-        ///     Specifies a vertex on a polygon.
-        /// </summary>
-        /// <param name="tess">
-        ///     The tessellation object (created with <see cref="gluNewTess" />).
-        /// </param>
-        /// <param name="location">
-        ///     The location of the vertex.
-        /// </param>
-        /// <param name="data">
-        ///     A pointer passed back to the program with the vertex callback (as specified
-        ///     by <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />).
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluTessVertex</b> describes a vertex on a polygon that the program
-        ///         defines.  Successive <b>gluTessVertex</b> calls describe a closed contour.
-        ///         For example, to describe a quadrilateral <b>gluTessVertex</b> should be
-        ///         called four times.  <b>gluTessVertex</b> can only be called between
-        ///         <see cref="gluTessBeginContour" /> and <see cref="gluTessEndContour" />.
-        ///     </para>
-        ///     <para>
-        ///         <i>data</i> normally points to a structure containing the vertex location,
-        ///         as well as other per-vertex attributes such as color and normal.  This
-        ///         pointer is passed back to the user through the <see cref="GLU_TESS_VERTEX" />
-        ///         or <see cref="GLU_TESS_VERTEX_DATA" /> callback after tessellation (see the
-        ///         <see cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" /> reference page).
-        ///     </para>
-        ///     <para>
-        ///         <b>EXAMPLE</b>
-        ///     </para>
-        ///     <para>
-        ///         The following describes a quadrilateral with a triangular hole:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             Glu.gluTessBeginPolygon(tess, null);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v1, v1);
-        ///                     Glu.gluTessVertex(tess, v2, v2);
-        ///                     Glu.gluTessVertex(tess, v3, v3);
-        ///                     Glu.gluTessVertex(tess, v4, v4);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluNextContour(tess, Glu.GLU_INTERIOR);
-        ///                 Glu.gluTessBeginContour(tess);
-        ///                     Glu.gluTessVertex(tess, v5, v5);
-        ///                     Glu.gluTessVertex(tess, v6, v6);
-        ///                     Glu.gluTessVertex(tess, v7, v7);
-        ///                 Glu.gluTessEndContour(tess);
-        ///             Glu.gluTessEndPolygon(tess);
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         <b>NOTES</b>
-        ///     </para>
-        ///     <para>
-        ///         It is a common error to use a local variable for <i>location</i> or
-        ///         <i>data</i> and store values into it as part of a loop.  For example:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///             for(int i = 0; i &lt; NVERTICES; ++i) { 
-        ///                 double data[3];
-        ///                 data[0] = vertex[i, 0];
-        ///                 data[1] = vertex[i, 1];
-        ///                 data[2] = vertex[i, 2];
-        ///                 Glu.gluTessVertex(tobj, data, data);
-        ///             } 
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         This doesn't work.  Because the pointers specified by <i>location</i> and
-        ///         <i>data</i> might not be dereferenced until <see cref="gluTessEndPolygon" />
-        ///         is executed, all the vertex coordinates but the very last set could be
-        ///         overwritten before tessellation begins.
-        ///     </para>
-        ///     <para>
-        ///         Two common symptoms of this problem are consists of a single point (when a
-        ///         local variable is used for <i>data</i>) and a
-        ///         <see cref="GLU_TESS_NEED_COMBINE_CALLBACK" /> error (when a local variable
-        ///         is used for <i>location</i>).
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="gluNewTess" />
-        /// <seealso cref="gluTessBeginPolygon(Tao.OpenGl.Glu.GLUtesselator, byte[])" />
-        /// <seealso cref="gluTessBeginContour" />
-        /// <seealso cref="gluTessCallback(Tao.OpenGl.Glu.GLUtesselator, int, Tao.OpenGl.Glu.TessBeginCallback)" />
-        /// <seealso cref="gluTessEndPolygon" />
-        /// <seealso cref="gluTessNormal" />
-        /// <seealso cref="gluTessProperty" />
-        // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity]
-        public unsafe static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void* data);
-        #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void *data)
-
-        #region int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ)
-        /// <summary>
-        ///     Maps window coordinates to object coordinates.
-        /// </summary>
-        /// <param name="winX">
-        ///     The window's x axis coordinate to be mapped.
-        /// </param>
-        /// <param name="winY">
-        ///     The window's y axis coordinate to be mapped.
-        /// </param>
-        /// <param name="winZ">
-        ///     The window's z axis coordinate to be mapped.
-        /// </param>
-        /// <param name="modelMatrix">
-        ///     The modelview matrix (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="projectionMatrix">
-        ///     The projection matrix (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="viewport">
-        ///     The viewport (as from a <see cref="Gl.glGetIntegerv(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="objX">
-        ///     The computed object's x axis coordinate.
-        /// </param>
-        /// <param name="objY">
-        ///     The computed object's y axis coordinate.
-        /// </param>
-        /// <param name="objZ">
-        ///     The computed object's z axis coordinate.
-        /// </param>
-        /// <returns>
-        ///     A return value of <see cref="Gl.GL_TRUE" /> indicates success; a return value
-        ///     of <see cref="Gl.GL_FALSE" /> indicates failure.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluUnProject</b> maps the specified window coordinates into object
-        ///         coordinates using <i>modelMatrix</i>, <i>projectionMatrix</i>, and
-        ///         <i>viewport</i>.  The result is stored in <i>objX</i>, <i>objY</i>, and
-        ///         <i>objZ</i>.  A return value of <see cref="Gl.GL_TRUE" /> indicates success;
-        ///         a return value of <see cref="Gl.GL_FALSE" /> indicates failure.
-        ///     </para>
-        ///     <para>
-        ///         To compute the coordinates (<i>objX</i>, <i>objY</i>, and <i>objZ</i>),
-        ///         <b>gluUnProject</b> multiplies the normalized device coordinates by the
-        ///         inverse of <i>modelMatrix</i> multiplied by <i>projectionMatrix</i> as
-        ///         follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///                               (  2(winX - viewport[0])  )
-        ///                               |  ----------------- - 1  |
-        ///                               |       viewport[2]       |
-        ///             (      )          |                         |
-        ///             | objX |          |  2(winY - viewport[1])  |
-        ///             | objY | = INV(PM)|  ----------------- - 1  |
-        ///             | objZ |          |       viewport[3]       |
-        ///             (  W   )          |                         |
-        ///                               |       2(winZ) - 1       |
-        ///                               |                         |
-        ///                               (            1            )
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         INV() denotes matrix inversion.  W is an unused variable, included for
-        ///         consistent matrix notation. 
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glGetDoublev(int, IntPtr)" />
-        /// <seealso cref="Gl.glGetIntegerv(int, IntPtr)" />
-        /// <seealso cref="gluProject" />
-        // int APIENTRY gluUnProject(GLdouble winx, GLdouble winy, GLdouble winz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *objx, GLdouble *objy, GLdouble *objz);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ);
-        #endregion int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ)
-
-        #region int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW)
-        /// <summary>
-        ///     Maps window and clip coordinates to object coordinates.
-        /// </summary>
-        /// <param name="winX">
-        ///     The window's x axis coordinate to be mapped.
-        /// </param>
-        /// <param name="winY">
-        ///     The window's y axis coordinate to be mapped.
-        /// </param>
-        /// <param name="winZ">
-        ///     The window's z axis coordinate to be mapped.
-        /// </param>
-        /// <param name="clipW">
-        ///     The clip w coordinate to be mapped.
-        /// </param>
-        /// <param name="modelMatrix">
-        ///     The modelview matrix (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="projectionMatrix">
-        ///     The projection matrix (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="viewport">
-        ///     The viewport (as from a <see cref="Gl.glGetIntegerv(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="nearVal">
-        ///     The near plane (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="farVal">
-        ///     The far plane (as from a <see cref="Gl.glGetDoublev(int, IntPtr)" /> call).
-        /// </param>
-        /// <param name="objX">
-        ///     The computed object's x axis coordinate.
-        /// </param>
-        /// <param name="objY">
-        ///     The computed object's y axis coordinate.
-        /// </param>
-        /// <param name="objZ">
-        ///     The computed object's z axis coordinate.
-        /// </param>
-        /// <param name="objW">
-        ///     The computed object's clip w coordinate.
-        /// </param>
-        /// <returns>
-        ///     A return value of <see cref="Gl.GL_TRUE" /> indicates success; a return
-        ///     value of <see cref="Gl.GL_FALSE" /> indicates failure.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <b>gluUnProject4</b> maps the specified window coordinates <i>winX</i>,
-        ///         <i>winY</i> and <i>winZ</i> and its clip w coordinate <i>clipW</i> into
-        ///         object coordinates (<i>objX</i>, <i>objY</i>, <i>objZ</i>, <i>objW</i>)
-        ///         using <i>modelMatrix</i>, <i>projectionMatrix</i> and <i>viewport</i>.
-        ///         <i>clipW</i> can be other than 1 as for vertices in
-        ///         <see cref="Gl.glFeedbackBuffer(int, int, IntPtr)" /> when data type
-        ///         <see cref="Gl.GL_4D_COLOR_TEXTURE" /> is returned.  This also handles the
-        ///         case where the <i>nearVal</i> and <i>farVal</i> planes are different from the
-        ///         default, 0 and 1, respectively.  A return value of <see cref="Gl.GL_TRUE" />
-        ///         indicates success; a return value of <see cref="Gl.GL_FALSE" /> indicates
-        ///         failure.
-        ///     </para>
-        ///     <para>
-        ///         To compute the coordinates (<i>objX</i>, <i>objY</i>, <i>objZ</i> and
-        ///         <i>objW</i>), <b>gluUnProject4</b> multiplies the normalized device
-        ///         coordinates by the inverse of <i>modelMatrix</i> multiplied by
-        ///         <i>projectionMatrix</i> as follows:
-        ///     </para>
-        ///     <para>
-        ///         <code>
-        ///                               ( 2(winX - viewport[0]  )
-        ///                               | ---------------- - 1  |
-        ///                               |     viewport[2]       |
-        ///                               |                       |
-        ///                               | 2(winY - viewport[1]  |
-        ///         ( objX  )             | ---------------- - 1  |
-        ///         | objY  | = INV(PM) * |     viewport[3]       |
-        ///         | objZ  |             |                       |
-        ///         ( objW  )             |  2(winZ - nearVal)    |
-        ///                               |  -------------- - 1   |
-        ///                               |    farVal - nearVal   |
-        ///                               |                       |
-        ///                               (        clipW          )
-        ///         </code>
-        ///     </para>
-        ///     <para>
-        ///         INV() denotes matrix inversion.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluUnProject4</b> is equivalent to <see cref="gluUnProject" /> when
-        ///         <i>clipW</i> is 1, <i>nearVal</i> is 0 and <i>farVal</i> is 1.
-        ///     </para>
-        ///     <para>
-        ///         <b>gluUnProject4</b> is available only if the GLU version is 1.3 or greater.
-        ///     </para>
-        /// </remarks>
-        /// <seealso cref="Gl.glFeedbackBuffer(int, int, IntPtr)" />
-        /// <seealso cref="Gl.glGetDoublev(int, IntPtr)" />
-        /// <seealso cref="Gl.glGetIntegerv(int, IntPtr)" />
-        /// <seealso cref="gluProject" />
-        /// <seealso cref="gluUnProject" />
-        // GLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
-        [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
-        public static extern int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW);
-        #endregion int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW)
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.Designer.cs b/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.Designer.cs
deleted file mode 100644 (file)
index cc5bec7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-namespace Tao.Platform.Windows
-{
-    partial class SimpleOpenGlControl
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Component Designer generated code
-
-        /// <summary> 
-        /// Required method for Designer support - do not modify 
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.SuspendLayout();
-            // 
-            // NewGLControl
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.BackColor = System.Drawing.Color.Black;
-            this.Name = "NewGLControl";
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-    }
-}
diff --git a/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.cs b/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.cs
deleted file mode 100644 (file)
index 2edf47d..0000000
+++ /dev/null
@@ -1,447 +0,0 @@
-#region License
-/*
-MIT License
-Copyright ©2003-2006 Tao Framework Team
-http://www.taoframework.com
-Copyright ©2009 the Open Toolkit library
-http://www.opentk.com
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-#endregion License
-
-using System;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Drawing;
-using System.IO;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Windows.Forms;
-
-using OpenTK.Graphics.OpenGL;
-
-namespace Tao.Platform.Windows
-{
-    /// <summary>
-    ///     Provides a simple OpenGL control allowing quick development of Windows.Forms-based
-    ///     OpenGL applications. Relies on OpenTK.GLControl for cross-platform compatibility.
-    /// </summary>
-    [Obsolete("Use OpenTK.GLControl instead.")]
-    public partial class SimpleOpenGlControl : OpenTK.GLControl
-    {
-        #region Fields
-
-        private bool autoCheckErrors = false;                               // Should we provide glGetError()?
-        private bool autoFinish = false;                                    // Should we provide a glFinish()?
-        private bool autoMakeCurrent = true;                                // Should we automatically make the rendering context current?
-        private bool autoSwapBuffers = true;                                // Should we automatically swap buffers?
-        private byte accumBits = 0;                                         // Accumulation buffer bits
-        private byte colorBits = 32;                                        // Color buffer bits
-        private byte depthBits = 16;                                        // Depth buffer bits
-        private byte stencilBits = 0;                                       // Stencil buffer bits
-        private ErrorCode errorCode = ErrorCode.NoError;                             // The GL error code
-
-        private int logScaleX = 96;                                         // DPI Resolution in X dir
-        private int logScaleY = 96;                                         // DPI Resolution in Y dir
-
-        #endregion
-
-        #region Constructors
-
-        #region SimpleOpenGlControl()
-        /// <summary>
-        ///     Constructor.  Creates contexts and sets properties.
-        /// </summary>
-        public SimpleOpenGlControl()
-        {
-            InitializeStyles();
-            InitializeComponent();
-            InitializeBackground();
-        }
-        #endregion SimpleOpenGlControl()
-
-        #endregion
-
-        #region Public Members
-
-        #region DestroyContexts()
-        /// <summary>
-        /// 
-        /// </summary>
-        public void DestroyContexts()
-        {
-            Context.Dispose();
-        }
-        #endregion DestroyContexts()
-
-        #region Draw()
-        /// <summary>
-        ///     Sends an see cref="UserControl.Invalidate"  command to this control, thus
-        ///     forcing a redraw to occur.
-        /// </summary>
-        public void Draw()
-        {
-            this.Invalidate();
-        }
-        #endregion Draw()
-
-        #region InitializeContexts()
-        /// <summary>
-        ///     Creates the OpenGL contexts.
-        /// </summary>
-        public void InitializeContexts()
-        {
-            // No need to do anything, handled by the GLControl.
-        }
-        #endregion InitializeContexts()
-
-        #region LogScaleX
-
-        /// <summary>
-        /// Gets the number of logical pixels or dots per inch (dpi) in X-direction
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Logical pixels per inch in X-direction.")]
-        public int LogScaleX
-        {
-            get
-            {
-                return logScaleX;
-            }
-        }
-
-        #endregion
-
-        #region LogScaleY
-
-        /// <summary>
-        /// Gets the number of logical pixels or dots per inch (dpi) in Y-direction
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Logical pixels per inch in Y-direction.")]
-        public int LogScaleY
-        {
-            get
-            {
-                return logScaleY;
-            }
-        }
-
-        #endregion
-
-        #region AccumBits
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's accumulation buffer depth.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Accumulation buffer depth in bits.")]
-        public byte AccumBits
-        {
-            get
-            {
-                return accumBits;
-            }
-            set
-            {
-                accumBits = value;
-            }
-        }
-
-        #endregion
-
-        #region ColorBits
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's color buffer depth.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Color buffer depth in bits.")]
-        public byte ColorBits
-        {
-            get
-            {
-                return colorBits;
-            }
-            set
-            {
-                colorBits = value;
-            }
-        }
-
-        #endregion
-
-        #region DepthBits
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's depth buffer (Z-buffer) depth.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Depth buffer (Z-buffer) depth in bits.")]
-        public byte DepthBits
-        {
-            get
-            {
-                return depthBits;
-            }
-            set
-            {
-                depthBits = value;
-            }
-        }
-
-        #endregion
-
-        #region StencilBits
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's stencil buffer depth.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Stencil buffer depth in bits.")]
-        public byte StencilBits
-        {
-            get
-            {
-                return stencilBits;
-            }
-            set
-            {
-                stencilBits = value;
-            }
-        }
-
-        #endregion
-
-        #region AutoCheckErrors
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's automatic sending of a glGetError command
-        ///     after drawing.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Automatically send a glGetError command after drawing?")]
-        public bool AutoCheckErrors
-        {
-            get
-            {
-                return autoCheckErrors;
-            }
-            set
-            {
-                autoCheckErrors = value;
-            }
-        }
-
-        #endregion
-
-        #region AutoFinish
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's automatic sending of a glFinish command
-        ///     after drawing.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Automatically send a glFinish command after drawing?")]
-        public bool AutoFinish
-        {
-            get
-            {
-                return autoFinish;
-            }
-            set
-            {
-                autoFinish = value;
-            }
-        }
-
-        #endregion
-
-        #region AutoMakeCurrent
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's automatic forcing of the rendering context to
-        ///     be current before drawing.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Automatically make the rendering context current before drawing?")]
-        public bool AutoMakeCurrent
-        {
-            get
-            {
-                return autoMakeCurrent;
-            }
-            set
-            {
-                autoMakeCurrent = value;
-            }
-        }
-
-        #endregion
-
-        #region AutoSwapBuffers
-
-        /// <summary>
-        ///     Gets and sets the OpenGL control's automatic sending of a SwapBuffers command
-        ///     after drawing.
-        /// </summary>
-        [Category("OpenGL Properties"), Description("Automatically send a SwapBuffers command after drawing?")]
-        public bool AutoSwapBuffers
-        {
-            get
-            {
-                return autoSwapBuffers;
-            }
-            set
-            {
-                autoSwapBuffers = value;
-            }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Protected Members
-
-        #region OnPaint
-
-        /// <summary>
-        ///     Paints the control.
-        /// </summary>
-        /// <param name="e">The paint event arguments.</param>
-        protected override void OnPaint(PaintEventArgs e)
-        {
-            if (this.DesignMode)
-            {
-                e.Graphics.Clear(this.BackColor);
-                if (this.BackgroundImage != null)
-                    e.Graphics.DrawImage(this.BackgroundImage, this.ClientRectangle, 0, 0, this.BackgroundImage.Width, this.BackgroundImage.Height, GraphicsUnit.Pixel);
-                e.Graphics.Flush();
-                return;
-            }
-
-            if (autoMakeCurrent)
-            {
-                MakeCurrent();
-            }
-
-            base.OnPaint(e);
-
-            if (autoFinish)
-            {
-                GL.Finish();
-            }
-
-            if (autoCheckErrors)
-            {
-                errorCode = GL.GetError();
-                if (errorCode != ErrorCode.NoError)
-                {
-                    switch (errorCode)
-                    {
-                        case ErrorCode.InvalidEnum:
-                            MessageBox.Show("GL_INVALID_ENUM - An unacceptable value has been specified for an enumerated argument.  The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                        case ErrorCode.InvalidValue:
-                            MessageBox.Show("GL_INVALID_VALUE - A numeric argument is out of range.  The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                        case ErrorCode.InvalidOperation:
-                            MessageBox.Show("GL_INVALID_OPERATION - The specified operation is not allowed in the current state.  The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                        case ErrorCode.StackOverflow:
-                            MessageBox.Show("GL_STACK_OVERFLOW - This function would cause a stack overflow.  The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                        case ErrorCode.StackUnderflow:
-                            MessageBox.Show("GL_STACK_UNDERFLOW - This function would cause a stack underflow.  The offending function has been ignored.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                        case ErrorCode.OutOfMemory:
-                            MessageBox.Show("GL_OUT_OF_MEMORY - There is not enough memory left to execute the function.  The state of OpenGL has been left undefined.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                        default:
-                            MessageBox.Show("Unknown GL error.  This should never happen.", "OpenGL Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
-                            break;
-                    }
-                }
-            }
-
-            if (autoSwapBuffers)
-            {
-                SwapBuffers();
-            }
-        }
-
-        #endregion
-
-        #region CreateParams
-
-        /// <summary>
-        ///     Overrides the control's class style parameters.
-        /// </summary>
-        protected override CreateParams CreateParams
-        {
-            get
-            {
-                Int32 CS_VREDRAW = 0x1;
-                Int32 CS_HREDRAW = 0x2;
-                Int32 CS_OWNDC = 0x20;
-                CreateParams cp = base.CreateParams;
-                cp.ClassStyle = cp.ClassStyle | CS_VREDRAW | CS_HREDRAW | CS_OWNDC;
-                return cp;
-            }
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Private Members
-
-        #region InitializeBackground
-
-        /// <summary>
-        ///     Loads the bitmap from the assembly's manifest resource.
-        /// </summary>
-        private void InitializeBackground()
-        {
-            try
-            {
-                this.BackgroundImage = OpenTK.Compatibility.Properties.Resources.TaoButton;
-            }
-            catch (Exception)
-            {
-                this.BackgroundImage = null;
-            }
-        }
-
-        #endregion
-
-        #region InitializeStyles
-
-        /// <summary>
-        ///     Initializes the control's styles.
-        /// </summary>
-        private void InitializeStyles()
-        {
-            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
-            this.SetStyle(ControlStyles.DoubleBuffer, false);
-            this.SetStyle(ControlStyles.Opaque, true);
-            this.SetStyle(ControlStyles.ResizeRedraw, true);
-            this.SetStyle(ControlStyles.UserPaint, true);
-        }
-
-        #endregion
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.resx b/Source/Compatibility/Tao/Platform/Windows/SimpleOpenGlControl.resx
deleted file mode 100644 (file)
index 4fdb1b6..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-       <!-- 
-               Microsoft ResX Schema
-
-               Version 1.3
-
-               The primary goals of this format is to allow a simple XML format 
-               that is mostly human readable. The generation and parsing of the 
-               various data types are done through the TypeConverter classes 
-               associated with the data types.
-
-               Example:
-
-               ... ado.net/XML headers & schema ...
-               <resheader name="resmimetype">text/microsoft-resx</resheader>
-               <resheader name="version">1.3</resheader>
-               <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-               <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-               <data name="Name1">this is my long string</data>
-               <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-               <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-                       [base64 mime encoded serialized .NET Framework object]
-               </data>
-               <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-                       [base64 mime encoded string representing a byte array form of the .NET Framework object]
-               </data>
-
-               There are any number of "resheader" rows that contain simple 
-               name/value pairs.
-
-               Each data row contains a name, and value. The row also contains a 
-               type or mimetype. Type corresponds to a .NET class that support 
-               text/value conversion through the TypeConverter architecture. 
-               Classes that don't support this are serialized and stored with the 
-               mimetype set.
-
-               The mimetype is used for serialized objects, and tells the 
-               ResXResourceReader how to depersist the object. This is currently not 
-               extensible. For a given mimetype the value must be set accordingly:
-
-               Note - application/x-microsoft.net.object.binary.base64 is the format 
-               that the ResXResourceWriter will generate, however the reader can 
-               read any of the formats listed below.
-
-               mimetype: application/x-microsoft.net.object.binary.base64
-               value   : The object must be serialized with 
-                       : System.Serialization.Formatters.Binary.BinaryFormatter
-                       : and then encoded with base64 encoding.
-
-               mimetype: application/x-microsoft.net.object.soap.base64
-               value   : The object must be serialized with 
-                       : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-                       : and then encoded with base64 encoding.
-
-               mimetype: application/x-microsoft.net.object.bytearray.base64
-               value   : The object must be serialized into a byte array 
-                       : using a System.ComponentModel.TypeConverter
-                       : and then encoded with base64 encoding.
-       -->
-       
-       <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-               <xsd:element name="root" msdata:IsDataSet="true">
-                       <xsd:complexType>
-                               <xsd:choice maxOccurs="unbounded">
-                                       <xsd:element name="data">
-                                               <xsd:complexType>
-                                                       <xsd:sequence>
-                                                               <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                                                               <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-                                                       </xsd:sequence>
-                                                       <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-                                                       <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-                                                       <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-                                               </xsd:complexType>
-                                       </xsd:element>
-                                       <xsd:element name="resheader">
-                                               <xsd:complexType>
-                                                       <xsd:sequence>
-                                                               <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                                                       </xsd:sequence>
-                                                       <xsd:attribute name="name" type="xsd:string" use="required" />
-                                               </xsd:complexType>
-                                       </xsd:element>
-                               </xsd:choice>
-                       </xsd:complexType>
-               </xsd:element>
-       </xsd:schema>
-       <resheader name="resmimetype">
-               <value>text/microsoft-resx</value>
-       </resheader>
-       <resheader name="version">
-               <value>1.3</value>
-       </resheader>
-       <resheader name="reader">
-               <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-       </resheader>
-       <resheader name="writer">
-               <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-       </resheader>
-</root>
\ No newline at end of file
diff --git a/Source/Compatibility/TexturePacker.cs b/Source/Compatibility/TexturePacker.cs
deleted file mode 100644 (file)
index 41be16a..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-#region --- License ---
-/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
- * See license.txt for license info
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Drawing;
-using System.Drawing.Imaging;
-
-namespace OpenTK
-{
-    class TexturePacker<T> where T : IPackable<T>
-    {
-        Node root;
-
-        #region --- Constructors ---
-
-        public TexturePacker(int width, int height)
-        {
-            if (width <= 0)
-                throw new ArgumentOutOfRangeException("width", width, "Must be greater than zero.");
-            if (height <= 0)
-                throw new ArgumentOutOfRangeException("height", height, "Must be greater than zero.");
-
-            root = new Node();
-            root.Rect = new Rectangle(0, 0, width, width);
-        }
-
-        #endregion
-
-        #region --- Public Methods ---
-
-        #region public Rectangle Add(T item)
-
-        // Packs the given item into the free space of the TexturePacker. Returns the Rectangle of the packed item.
-        public void Add(T item, out Rectangle rect)
-        {
-            if (item.Width > root.Rect.Width || item.Height > root.Rect.Height)
-                throw new InvalidOperationException("The item is too large for this TexturePacker");
-
-            Node node;
-            //if (!items.ContainsKey(item))
-            {
-                node = root.Insert(item);
-
-                // Tree is full and insertion failed:
-                if (node == null)
-                    throw new TexturePackerFullException();
-
-                //items.Add(item, node);
-                rect = node.Rect;
-            }
-            //throw new ArgumentException("The item already exists in the TexturePacker.", "item");
-        }
-
-        #endregion
-
-        #region public void Clear()
-
-        /// <summary>
-        /// Discards all packed items.
-        /// </summary>
-        public void Clear()
-        {
-            //items.Clear();
-            root.Clear();
-        }
-
-        #endregion
-
-        #region public void ChangeSize(int new_width, int new_height)
-
-        /// <summary>
-        /// Changes the dimensions of the TexturePacker surface.
-        /// </summary>
-        /// <param name="new_width">The new width of the TexturePacker surface.</param>
-        /// <param name="new_height">The new height of the TexturePacker surface.</param>
-        /// <remarks>Changing the size of the TexturePacker surface will implicitly call TexturePacker.Clear().</remarks>
-        /// <seealso cref="Clear"/>
-        public void ChangeSize(int new_width, int new_height)
-        {
-            throw new NotImplementedException();
-        }
-
-        #endregion
-
-        #endregion
-
-        #region Node
-
-        class Node
-        {
-            public Node()
-            {
-            }
-
-            Node left, right;
-            Rectangle rect;
-            int use_count;
-
-            public Rectangle Rect { get { return rect; } set { rect = value; } }
-            public Node Left { get { return left; } set { left = value; } }
-            public Node Right { get { return right; } set { right = value; } }
-
-            #region --- Constructor ---
-
-            public bool Leaf
-            {
-                get { return left == null && right == null; }
-            }
-
-            #endregion
-
-            #region public Node Insert(T item)
-
-            public Node Insert(T item)
-            {
-                if (!this.Leaf)
-                {
-                    // Recurse towards left child, and if that fails, towards the right.
-                    Node new_node = left.Insert(item);
-                    return new_node ?? right.Insert(item);
-                }
-                else
-                {
-                    // We have recursed to a leaf.
-
-                    // If it is not empty go back.
-                    if (use_count != 0)
-                        return null;
-
-                    // If this leaf is too small go back.
-                    if (rect.Width < item.Width || rect.Height < item.Height)
-                        return null;
-
-                    // If this leaf is the right size, insert here.
-                    if (rect.Width == item.Width && rect.Height == item.Height)
-                    {
-                        use_count = 1;
-                        return this;
-                    }
-
-                    // This leaf is too large, split it up. We'll decide which way to split
-                    // by checking the width and height difference between this rectangle and
-                    // out item's bounding box. If the width difference is larger, we'll split
-                    // horizontaly, else verticaly.
-                    left = new Node();
-                    right = new Node();
-
-                    int dw = this.rect.Width - item.Width + 1;
-                    int dh = this.rect.Height - item.Height + 1;
-
-                    if (dw > dh)
-                    {
-                        left.rect = new Rectangle(rect.Left, rect.Top, item.Width, rect.Height);
-                        right.rect = new Rectangle(rect.Left + item.Width, rect.Top, rect.Width - item.Width, rect.Height);
-                    }
-                    else
-                    {
-                        left.rect = new Rectangle(rect.Left, rect.Top, rect.Width, item.Height);
-                        right.rect = new Rectangle(rect.Left, rect.Top + item.Height, rect.Width, rect.Height - item.Height);
-                    }
-
-                    return left.Insert(item);
-                }
-            }
-
-            #endregion
-
-            #region public void Clear()
-            
-            public void Clear()
-            {
-                if (left != null)
-                    left.Clear();
-                if (right != null)
-                    right.Clear();
-
-                left = right = null;
-            }
-
-            #endregion
-        }
-
-        #endregion
-    }
-
-    class TexturePackerFullException : Exception
-    {
-        public TexturePackerFullException() : base("There is not enough space to add this item. Consider calling the Clear() method.") { }
-    }
-}